Files
sousa-gecko/testing/web-platform/meta/css/css-transforms/transform-input-019.html.ini
T
Glenn Watson 67d73f4fa5 Bug 2004666 - Quantize reference-frame origins to a fine sub-pixel grid r=gfx-reviewers,nical
The display-list builder reconstitutes a reference frame's origin as a
scrolled-space value plus a re-added external scroll offset. At large scroll
magnitudes that f32 round-trip loses a few low bits, leaving the origin a
fraction off its intended sub-pixel position. When that lands on the
device-pixel snap tie, snapped content inside the reference frame (e.g. a
position:sticky element) flips +/-1px frame-to-frame as the scene is rebuilt
while scrolling.

Quantize the origin to a 1/128 px grid in SceneSpatialNode::new_reference_frame.
This removes the float noise while preserving genuine sub-pixel placement, and
operates in WebRender coordinate space so it is device-pixel-scale independent.

Note that this is a kludge - we should eventually aim to do this math in exact
coordinates such that we don't have this float accuracy loss.

Differential Revision: https://phabricator.services.mozilla.com/D307686
2026-06-19 09:25:43 +00:00

7 lines
203 B
INI

[transform-input-019.html]
fuzzy:
if os == "win": maxDifference=0-127;totalPixels=0-378
if os == "mac": maxDifference=0-150;totalPixels=0-500
expected:
if (os == "android"): [FAIL, PASS]