mirror of
https://github.com/mozilla-firefox/firefox.git
synced 2026-06-14 20:45:13 -05:00
This patch is the last remaining part of the puzzle. There are still likely to be some follow up fixes, and we will be able to take advantage of the new setup to do snapping in additional situations in follow ups. Replace the global frame_snap::snap_frame_rects pass with on-demand snapping during the visibility pass and propagate_bounding_rects. Prim, cluster, and clip-leaf rects are snapped against the consuming surface's raster node via a rewritten SpaceSnapper, derived from each node's resolved content_transform. Snap reference-frame, scroll, and sticky offsets at frame time in SpatialNode::update (gated on should_snap) instead of rounding local-space origins during scene building, so content is placed correctly under a fractional ancestor transform. Update reftest/WPT expectations: drop now-unneeded fuzz on snap/sticky/blend/perspective reftests; add Windows fuzz tripwires for new-content (16px) and individual-transform-combine (200px). Differential Revision: https://phabricator.services.mozilla.com/D305424