Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3b1deb16fd46634de113e032ec4f07113ff84ed7
https://github.com/WebKit/WebKit/commit/3b1deb16fd46634de113e032ec4f07113ff84ed7
Author: Simon Fraser <[email protected]>
Date: 2026-07-18 (Sat, 18 Jul 2026)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/mouse-wheel-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary-viewport-covering-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/snap-at-user-scroll-end-expected.txt
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/resources/testdriver-vendor.js
Log Message:
-----------
[WPT] Wheel actions: Follow tick-based event dispatch logic rather than
sending scroll events instantaneously
https://bugs.webkit.org/show_bug.cgi?id=261810
rdar://115772410
Reviewed by Abrar Rahman Protyasha.
The wheel event dispatch code in `testdriver-vendor.js` just sent a single
wheel event, instead of following [1].
But the existing code also had a bug, where the last event had `momentumPhase :
"ended"` instead of
`phase : "ended"`: that's wrong here, because we haven't generated a momentum
phase at all, and it prevented
end-of-scroll snapping from happening.
So synthesize a stream of events at 16ms intervals, dividing the delta as
described in the spec.
Sending a single event with non-zero deltaX and deltaY broke
`pointerevent_touch-action-mouse.html`,
because the wheel handling code does aggressive axis-locking (which zeros out
the non-dominant axis),
which is why the old code sent two events in this case; we have to preserve
this behavior. This
could also affect the multi-event code path in future.
This fixed `css-scroll-snap/input/mouse-wheel.html` and
`snap-at-user-scroll-end.html`, and changed
the output of `snap-area-overflow-boundary-viewport-covering.html` which is
broken for other reasons
(webkit.org/b/319715).
[1] https://w3c.github.io/webdriver/#dfn-perform-a-scroll
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/mouse-wheel-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/input/snap-area-overflow-boundary-viewport-covering-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/snap-at-user-scroll-end-expected.txt:
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/resources/testdriver-vendor.js:
Canonical link: https://commits.webkit.org/317497@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications