Files
sousa-gecko/testing/web-platform/meta/css/css-transforms/group
Glenn Watson 4337d994e0 Bug 1964517 - Don't snap reference-frame origins in Gecko on the WebRender path when pixel alignment is disabled r=gfx-reviewers,lsalzman
When layout.disable-pixel-alignment is set, reference-frame origins are
snapped in WebRender, where the (potentially fractional) external scroll
offset is removed reliably. ShouldSnapToGrid still rounded the origin in
Gecko (in scrolled space) for SVG outer-SVG anonymous child frames; the
display list builder then re-added the unsnapped external scroll offset,
leaving a sub-pixel residue that mis-places content by a device pixel.
This showed up as a visible seam between Google Docs SVG canvas tiles
under a fractional scroll offset.

Gate ShouldSnapToGrid on nsDisplayListBuilder::IsPaintingForWebRender():
on the WebRender path, leave reference-frame origin snapping to WebRender;
on the drawSnapshot / non-WebRender path (which has no WebRender snapping)
keep snapping in Gecko as before. Only the WebRender reference-frame
origin-snap sites pass the builder; the shared transform-matrix rounding
keeps snapping on all paths.

Differential Revision: https://phabricator.services.mozilla.com/D307185
2026-06-18 19:10:02 +00:00
..