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

Reply via email to