mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-03 23:30:46 +00:00

* Add support for local scale factors to a surface, allowing it to be rasterized in root coordinate space. This allows snapping to work across surfaces where the surface transform is a fractional offset. * Calculate scaling factors per rasterized surface and propagate them. Ensures correct scale factor calculations when dealing with nested preserve-3d contexts with 90-degree axis rotations. * Support determining exact surface device rect for 2d surfaces with fractional surface transforms. * Fix line decoration cache key size calculations based on world scaling factor. * Remove `get_clipped_device_rect` usage for calculating clip-mask surface allocations, use `surface.get_surface_rect` instead. The prior method doesn't correctly account for expanded local regions from the current dirty rect, resulting in invalidation issues in some animated edge cases. Also unifies the way clip-mask surface allocations work with the way general render target surface allocations work. Differential Revision: https://phabricator.services.mozilla.com/D138982