Closed Bug 1864367 Opened 2 years ago Closed 2 years ago

[wpt-sync] Sync PR 43105 - Reland "[css-scroll-snap-2] Implement snapchanged for user scrolls"

Categories

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

task

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

David Awogbemila <awogbemila@chromium.org> wrote:

Reland "[css-scroll-snap-2] Implement snapchanged for user scrolls"

This is a reland of commit 5fe9b8c1093df2e89604d785b5acfc8f7323c6c8

Original change's description:

[css-scroll-snap-2] Implement snapchanged for user scrolls

snapchanged[1] (explainer[2]) should fire when a scroller snaps to a
different set of elements than it was previously snapped to.
This pull request[3] will copy the details from the explainer to the
spec.

This patch implements snapchanged for user scrolls.

kSnappedToTolerance is increased to 1.0 because there appear to be
some differences between the way that fractional snap offsets are
handled in cc versus in blink. E.g. when snapping to a target,
blink may round a fractional offset down to the nearest integer
while cc may round it up as in this codepen[4] where a keyboard
scroll snap ends at 134px while a wheel scroll ends at
135px when snapping to the lower box.

Bug:1439807

[1]https://drafts.csswg.org/css-scroll-snap-2/#snapchanged-and-snapchanging
[2]https://github.com/argyleink/ScrollSnapExplainers/tree/main/
[3]https://github.com/w3c/csswg-drafts/pull/9056
[4]https://codepen.io/awogbemila/pen/JjxEzNm

Change-Id: Id9fd24df3df27d3cea202f2efb2ad09b6e6a0fec
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4994876
Reviewed-by: Steve Kobes \<skobes@chromium.org>
Commit-Queue: David Awogbemila \<awogbemila@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1222911}

Bug: 1439807
Change-Id: I8c1dd52d5ae55a1eb756d95faf9990bd2de6e5e4

Reviewed-on: https://chromium-review.googlesource.com/5022556
WPT-Export-Revision: 69054031db3a83d4f43315d4ccbf8c39bd099f22

PR 43105 applied with additional changes from upstream: fe6c0e79ae54795068e316a3ca4aea9359baf17d, 6287285e2da1af4fa45c66a4d7f510bff60acc6c, 101005c254f529ba5b1b20bbd849d40dc5cafe5d
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

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

Total 8 tests and 1 subtests

Status Summary

Firefox

OK : 8
PASS: 2
FAIL: 21[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] 23[Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub]

Chrome

OK : 8
FAIL: 23

Safari

OK : 8
FAIL: 23

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /css/css-scroll-snap-2/snapchanged/snapchanged-after-layout-change.tentative.html [wpt.fyi]
    • snapchanged fires after snap area is snapped to upon layout change.: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged fires after snap area is snapped to upon layout change without scroll.: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged fires when container stops snapping: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged fires when snap container no longer has snap areas: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-ensures-dom-order.html [wpt.fyi]
    • snapchanged lists snapTargets in DOM order.: FAIL (Chrome: FAIL, Safari: FAIL)
    • DOM order change doesn't trigger snapchanged if snapped targets don't change.: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-root-scroll.tentative.html [wpt.fyi]
    • snapchanged event fires after snap target changes via scrollTo: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged is not fired if snap target doesn't change on programmatic scroll: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-scroll.tentative.html [wpt.fyi]
    • snapchanged event fires after snap target changes via scrollTo: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged is not fired if snap target doesn't change on programmatic scroll: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-on-user-root-scroll.tentative.html [wpt.fyi]
    • snapchanged event fires after snap target changes on touch scroll: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged event fires after snap target changes on wheel scroll: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged event fires after snap target changes on scrollbar drag: FAIL [Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: FAIL, Safari: FAIL)
    • snapchanged event fires after snap target changes on keydown press: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged is not fired if snap target doesn't change on user scroll: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-on-user-scroll.tentative.html [wpt.fyi]
    • snapchanged event fires after snap target changes on touch scroll: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged event fires after snap target changes on wheel scroll: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged event fires after snap target changes on scrollbar drag: FAIL [Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-2009-qr-debug, Gecko-windows11-32-2009-qr-opt, Gecko-windows11-64-2009-qr-debug, Gecko-windows11-64-2009-qr-opt, GitHub], PASS [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview] (Chrome: FAIL, Safari: FAIL)
    • snapchanged event fires after snap target changes on keydown press: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged is not fired if snap target doesn't change on user scroll: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-same-targets-after-layout-changed.html [wpt.fyi]
    • snapchanged doesn't fire after layout change if snapped to the same elements: FAIL (Chrome: FAIL, Safari: FAIL)
    • snapchanged doesn't fire after snap to the same targets after scroll. elements: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-scroll-snap-2/snapchanged/snapchanged-with-proximity-strictness.tentative.html [wpt.fyi]
    • Snapchanged fires when scrolling outside proximity range.: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8547a2ced6a9 [wpt PR 43105] - Reland "[css-scroll-snap-2] Implement snapchanged for user scrolls", a=testonly https://hg.mozilla.org/integration/autoland/rev/2e5debc62479 [wpt PR 43105] - Update wpt metadata, a=testonly
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/075d313a1a94 [wpt PR 43105] - Reland "[css-scroll-snap-2] Implement snapchanged for user scrolls", a=testonly https://hg.mozilla.org/integration/autoland/rev/254ed122b5ce [wpt PR 43105] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
You need to log in before you can comment on or make changes to this bug.