[wpt-sync] Sync PR 42300 - [anchor-position] Implement per-axis scroll adjustment
Categories
(Core :: CSS Parsing and Computation, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox121 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 42300 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/42300
Details from upstream follow.
Xiaocheng Hu <xiaochengh@chromium.org> wrote:
[anchor-position] Implement per-axis scroll adjustment
The spec recently refined the scroll adjustment to be per-axis [1].
This patch implements that in Blink by:
Store whether scroll adjustment is needed in NGLayoutResult's
rare data. This is because the info depends on the used style,
which isn't available before layout. Besides, the rare data isn't
populated if neither axis needs scroll adjustment, so we won't
create a rare data for every out-of-flow object.Use the per-axis info to calculate the translation offset on both
main thread and compositor.This patch also renames a few
HasTranslation
to
NeedsScrollAdjustment
to match the terms defined in the spec.[1] https://drafts.csswg.org/css-anchor-position-1/#needs-scroll-adjustment
Bug: 1473388
Change-Id: I55242103550f06db92910659613b54564c81f1f0Reviewed-on: https://chromium-review.googlesource.com/4865596
WPT-Export-Revision: e309958b647129175fd5092bd658bca2076a6805
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
Assignee | ||
Comment 3•2 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 2 tests and 1 subtests
Status Summary
Firefox
OK
: 2
FAIL
: 4
Chrome
OK
: 2
PASS
: 1
FAIL
: 3
Safari
OK
: 2
FAIL
: 4
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /css/css-anchor-position/anchor-scroll-006.html [wpt.fyi]
- #target1 is scroll-adjusted in x axis only:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - #target2 is scroll-adjusted in y axis only:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - #target3 is scroll-adjusted in neither axis:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- #target1 is scroll-adjusted in x axis only:
- /css/css-anchor-position/anchor-scroll-007.html [wpt.fyi]
- #target3 is scroll-adjusted in both axises:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- #target3 is scroll-adjusted in both axises:
Comment 5•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/de870a121ddb
https://hg.mozilla.org/mozilla-central/rev/428cdae47273
Description
•