Closed Bug 1603525 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 20751 - [css-scroll-snap] Allow style changes to invalidate snap data

Categories

(Core :: Layout: Scrolling and Overflow, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Kaan Alsan <alsan@google.com> wrote:

[css-scroll-snap] Allow style changes to invalidate snap data

All snap container data was only updated and re-snapped after layout
changes. However, this invalidation needs to sometimes happen after
style changes too (such as changing 'scroll-snap-align').

Now, PaintLayerScrollableArea has flags for indicating that it needs
to update its snap container data, which are set during certain style
changes and layout changes. Then all snap container data that has the
flag set will be updated, and attempt to resnap if any data changes.

This also prevents us from updating snap containers that haven't
changed and also fixes http://crbug/984794 because updates do not
happen until after the layout changes.

The follow-up for this is to invalidate snap containers when changing
the transform property of their content.

Bug:1028316
Change-Id: I432500df98fdbe63e3b7eed3ba43e05465f9d873

Reviewed-on: https://chromium-review.googlesource.com/1962567
WPT-Export-Revision: 942014ecca864df5c1c51ae7a1a0291b46df9351

Component: web-platform-tests → Layout: Scrolling and Overflow
Product: Testing → Core

CI Results

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

Total 41 tests

Status Summary

Firefox

OK : 2
PASS: 39
FAIL: 7

Chrome

OK : 2
FAIL: 7

Safari

OK : 2
FAIL: 7

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-type.html
Changing the scroller's snap type to y should make it resnap on the y-axis.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing the scroller's snap type axis should make it resnap.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing the scroller's snap type to x should make it resnap on the x-axis.: FAIL (Chrome: FAIL, Safari: FAIL)
/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html
Removing the current target's snap alignment should make the scroller resnap to a new snap area.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing an element snap alignment from none to start by adding a class should make the scroller resnap.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing the current target's snap alignment should make the scroller resnap to it even if another snap position is closer to the current offset: FAIL (Chrome: FAIL, Safari: FAIL)
Changing an element snap alignment from none to start should make thescroller resnap.: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

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

Total 41 tests

Status Summary

Firefox

OK : 2
PASS: 39
FAIL: 7

Chrome

OK : 2
FAIL: 7

Safari

OK : 2
FAIL: 7

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-type.html
Changing the scroller's snap type to y should make it resnap on the y-axis.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing the scroller's snap type axis should make it resnap.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing the scroller's snap type to x should make it resnap on the x-axis.: FAIL (Chrome: FAIL, Safari: FAIL)
/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align.html
Removing the current target's snap alignment should make the scroller resnap to a new snap area.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing an element snap alignment from none to start by adding a class should make the scroller resnap.: FAIL (Chrome: FAIL, Safari: FAIL)
Changing the current target's snap alignment should make the scroller resnap to it even if another snap position is closer to the current offset: FAIL (Chrome: FAIL, Safari: FAIL)
Changing an element snap alignment from none to start should make thescroller resnap.: FAIL (Chrome: FAIL, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/15ea81bbecf8
[wpt PR 20751] - [css-scroll-snap] Allow style changes to invalidate snap data, a=testonly
https://hg.mozilla.org/integration/autoland/rev/4c8443b47df9
[wpt PR 20751] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.