Closed Bug 2059760 Opened 1 month ago Closed 1 month ago

[wpt-sync] Sync PR 61662 - Fix anchor position scroll adjustments with transformed scrollers.

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
155 Branch
Tracking Status
firefox155 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 61662 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/61662
Details from upstream follow.

Morten Stenshorne <mstensho@chromium.org> wrote:

Fix anchor position scroll adjustments with transformed scrollers.

When positioning an anchor-positioned element whose anchor is inside a
scroll container with CSS transforms (e.g. scale(2)), scroll offset
adjustments were un-transformed. Fix this.

In Blink: In ComputeAdjustmentContainersData(), scroll offsets were
accumulated directly as raw un-transformed local offsets. We now map
such offsets into the containing block's coordinate space using
LocalToAncestorPoint().

In cc::TransformTree::AnchorPositionOffset, the scroll offset was
accumulated without coordinate space transformation. This is needed for
stuff to appear correctly on screen after having scrolled, when the main
thread isn't involved.

Need to do this both for the actual scroll offsets and any sticky
positioning offset.

The WPT tests are written by humans. The rest (including this comment)
is AI-based, but heavily revised and refactored by a human (i.e. moi).

TAG=agy
CONV=095372e0-1453-498f-9c7c-72b00c760663

Bug: 534655508
Change-Id: I3c743a75f63b01b2e367314f59ebf3eeaaa22dd0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8158082
Commit-Queue: Morten Stenshorne \<mstensho@chromium.org>
Reviewed-by: Philip Rogers \<pdr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1671810}

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 508 tests

Status Summary

Firefox

OK : 3[GitHub] 253[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS: 38[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 13580[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 13743[Gecko-android-em-14-x86_64-debug-geckoview] 13744[Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 13759[Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt] 13762[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
FAIL: 6[GitHub] 102[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 135[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt] 138[Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt] 152[Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 153[Gecko-android-em-14-x86_64-debug-geckoview]

Chrome

OK : 3
FAIL: 6

Safari

OK : 3
FAIL: 6

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

Tests Disabled in Gecko Infrastructure

Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 155 Branch
You need to log in before you can comment on or make changes to this bug.