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

Reply via email to