Closed Bug 1826367 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 39368 - Handle scrollends on nop scrolls consistently

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
114 Branch
Tracking Status
firefox114 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

David Awogbemila <awogbemila@chromium.org> wrote:

Handle scrollends on nop scrolls consistently

Nop/Zero-delta scrolls should not trigger scrollend events as no
scrolling happens.

One case in which a nop scroll triggers a scrollend event is during a
keyboard scroll which is handled on the main thread. This patch
addresses this case by extending the enum
ScrollableArea::ScrollCompletionMode with kZeroDelta which we can think
of as a special case of kFinished where we do not want to fire a
scrollend event.

For composited scrolls, when an inner scroller can't consume the delta,
the scroll will bubble up to the document which, from
crrev.com/c/4362538 onward, will only fire scrollend if there is a
non-zero delta consumed by the layoutviewport. So, this patch only
needs to address the non-composited case (which is just keyboard
scrolls).

Bug: 1400698 Change-Id: I66415f82b61e0addf1daea65e6b9b55875b23eb8

Change-Id: I66415f82b61e0addf1daea65e6b9b55875b23eb8
Reviewed-on: https://chromium-review.googlesource.com/4394364
WPT-Export-Revision: 03ae93fa856476a28b754dad7b78849423ba019d

Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core

CI Results

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

Total 1 tests and 4 subtests

Status Summary

Firefox

OK : 1
FAIL : 4
ERROR : 1

Chrome

OK : 1
PASS : 1
FAIL : 3

Safari

PASS : 3
TIMEOUT: 1
ERROR : 1

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /dom/events/scrolling/scrollend-event-not-fired-on-no-scroll.html [wpt.fyi]: ERROR [GitHub], OK [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, 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] (Chrome: OK, Safari: ERROR)
    • No scroll via wheel on div shouldn't fire scrollend.: FAIL (Chrome: PASS, Safari: PASS)
    • No scroll via keys on div shouldn't fire scrollend.: FAIL (Chrome: FAIL, Safari: PASS)
    • No scroll via wheel on document shouldn't fire scrollend.: FAIL (Chrome: FAIL, Safari: PASS)
    • No scroll via keys on document shouldn't fire scrollend.: FAIL (Chrome: FAIL, Safari: TIMEOUT)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7b8da59eab79 [wpt PR 39368] - Handle scrollends on nop scrolls consistently, a=testonly https://hg.mozilla.org/integration/autoland/rev/b905479b8fc2 [wpt PR 39368] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 114 Branch
You need to log in before you can comment on or make changes to this bug.