Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 834ee921ee13106d142b30a4982174fd50dc3e98
https://github.com/WebKit/WebKit/commit/834ee921ee13106d142b30a4982174fd50dc3e98
Author: Simon Fraser <[email protected]>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A
LayoutTests/fast/scrolling/mac/vertical-scroll-with-horizontal-deviation-expected.txt
A
LayoutTests/fast/scrolling/mac/vertical-scroll-with-horizontal-deviation.html
A
LayoutTests/fast/scrolling/mac/vertical-then-horizontal-scroll-expected.txt
A LayoutTests/fast/scrolling/mac/vertical-then-horizontal-scroll.html
M Source/WebCore/platform/ScrollingEffectsController.h
M Source/WebCore/platform/mac/ScrollingEffectsController.mm
Log Message:
-----------
REGRESSION (macOS 26): Horizontal rubber-banding causes trouble with vertical
scrolling
https://bugs.webkit.org/show_bug.cgi?id=303132
rdar://165449829
Reviewed by Abrar Rahman Protyasha.
During rapid up/down scrolling with fingers down on the trackpad, it was easy
to trigger
horizontal rubber-banding, which stops the vertical scrolling dead.
Fix by introducing a heuristic that biases axis locking in the direction of
recent wheel events, using an accumulated delta with time-based decay,
maintained
in `deltaAlignedToPredominantGestureAxis()`.
This was tuned by feel to keep vertical scrolling locked on the vertical axis,
while
allowing an L-shaped fingers-down scroll to move on both axes; this is the kind
of
gesture a user might perform when reading zoomed-in content, so needs to work.
Tests: fast/scrolling/mac/vertical-scroll-with-horizontal-deviation.html
fast/scrolling/mac/vertical-then-horizontal-scroll.html
*
LayoutTests/fast/scrolling/mac/vertical-scroll-with-horizontal-deviation-expected.txt:
Added.
*
LayoutTests/fast/scrolling/mac/vertical-scroll-with-horizontal-deviation.html:
Added.
* LayoutTests/fast/scrolling/mac/vertical-then-horizontal-scroll-expected.txt:
Added.
* LayoutTests/fast/scrolling/mac/vertical-then-horizontal-scroll.html: Added.
* Source/WebCore/platform/ScrollingEffectsController.h:
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::deltaAlignedToPredominantGestureAxis):
(WebCore::ScrollingEffectsController::handleWheelEvent):
Canonical link: https://commits.webkit.org/315424@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications