Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 19adb12b17aca01c1226574b0fea9c109e0a0b88
https://github.com/WebKit/WebKit/commit/19adb12b17aca01c1226574b0fea9c109e0a0b88
Author: Lily Spiniolas <[email protected]>
Date: 2026-07-24 (Fri, 24 Jul 2026)
Changed paths:
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/WKWebView/mac/NSRefreshControllerTests.mm
Log Message:
-----------
[macOS] NSRefreshController may enter activation loop if window is short
https://webkit.org/b/319803
rdar://182131572
Reviewed by Abrar Rahman Protyasha.
Stop calling `update` on the refresh controller until the scroll stretch
settles after activation.
Added a basic NSRefreshController test along with a test for this specific
bug.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/mac/NSRefreshControllerTests.mm
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::setRefreshController):
(WebKit::WebViewImpl::applyRefreshControllerHeight):
(WebKit::WebViewImpl::updateRefreshControllerFrame):
(WebKit::WebViewImpl::topScrollStretchDidChange):
(WebKit::WebViewImpl::updateRefreshControllerForWheelEvent):
(WebKit::WebViewImpl::updateRefreshControllerForPanGesture):
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/mac/NSRefreshControllerTests.mm:
Added.
(-[TestRefreshControllerTarget refreshControllerActivated:]):
(TestWebKitAPI::pullDownAndWaitForRefresh):
(TestWebKitAPI::TEST(NSRefreshControllerTests, Basic)):
(TestWebKitAPI::TEST(NSRefreshControllerTests,
DoesNotRefireDuringSettleAtSmallWindowHeight)):
Canonical link: https://commits.webkit.org/317876@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications