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