Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2481e6a653a3885055890d1f52edc83ba0138538
      
https://github.com/WebKit/WebKit/commit/2481e6a653a3885055890d1f52edc83ba0138538
  Author: Abrar Rahman Protyasha <[email protected]>
  Date:   2026-08-19 (Wed, 19 Aug 2026)

  Changed paths:
    M Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.h
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture 
Tests/RefreshControlGesturesTests.swift

  Log Message:
  -----------
  [AppKit Gestures] App exposé gesture should not trigger pull to refresh
https://bugs.webkit.org/show_bug.cgi?id=322154
rdar://185377037

Reviewed by Richard Robinson.

Certain pan recognitions should not activate NSRefreshController
tracking, such as the app exposé gesture. In this patch, we wire up this
signal from the gesture controller over to WebViewImpl, where we
maintain refresh controller state.

Also, we take the opportunity to introduce a basic test suite for
gesture driven refresh control. For this specific bug, the relevant test
case is RefreshControl.trackpadAppExposeGestureDoesNotTriggerRefresh().

Test: AppKitGesturesTests.RefreshControl

* Source/WebKit/UIProcess/mac/AppKitGestures/WKAppKitGestureController.mm:
(-[WKAppKitGestureController panGestureRecognized:]):
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::topScrollStretchDidChange):
(WebKit::WebViewImpl::updateRefreshControllerForWheelEvent):
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WebPage/AppKit Gesture 
Tests/RefreshControlGesturesTests.swift: Added.
(AppKitGesturesTests.trackpadSwipeDownTriggersRefresh):
(AppKitGesturesTests.trackpadAppExposeGestureDoesNotTriggerRefresh(_:)):
(AppKitGesturesTests.loadTallPage):
(AppKitGesturesTests.verticalDrag() throws -> (start: CGPoint:end:)):

Canonical link: https://commits.webkit.org/319506@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to