Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 04735809c9adf702449c6a21c807c9dc18e9ba84
https://github.com/WebKit/WebKit/commit/04735809c9adf702449c6a21c807c9dc18e9ba84
Author: Tim Horton <[email protected]>
Date: 2026-09-24 (Thu, 24 Sep 2026)
Changed paths:
M Source/WebCore/platform/mac/ScrollingEffectsController.mm
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.h
M Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm
M Source/WebKit/UIProcess/mac/PageClientImplMac.h
M Source/WebKit/UIProcess/mac/PageClientImplMac.mm
M Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture
Tests/BasicAppKitGesturesTests.swift
Log Message:
-----------
[AppKit Gestures] Too easy to rubber-band horizontally when scrolling down
https://bugs.webkit.org/show_bug.cgi?id=325062
rdar://188131207
Reviewed by Richard Robinson.
Test: Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture
Tests/BasicAppKitGesturesTests.swift
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):
One more per-axis check we missed in 321319@main, but that is caught by the new
test below.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::rubberBandableEdgesRespectingHistorySwipe const):
Block rubberbanding if the current gesture has never seen a scale other than 1.
This prevents
accidental rubberbanding in the common case of a slightly diagonal scroll.
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::everMagnifiedDuringCurrentGesture const):
* Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.h:
* Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm:
(-[WKAppKitGestureController sendWheelEventForGesture:]):
(-[WKAppKitGestureController everMagnifiedDuringCurrentGesture]):
* Source/WebKit/UIProcess/mac/PageClientImplMac.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::everMagnifiedDuringCurrentGesture const):
Keep track of, and expose, whether we have ever been magnified away from
scale=1 during the current scroll gesture.
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture
Tests/BasicAppKitGesturesTests.swift:
Add a test for the magnified case and change the expectations for the
unmagnified case to match the new behavior.
Canonical link: https://commits.webkit.org/321837@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications