Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 13e748d81951d3ddbec66cd496c6cd47fe772117
https://github.com/WebKit/WebKit/commit/13e748d81951d3ddbec66cd496c6cd47fe772117
Author: Ryan Reno <[email protected]>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
M Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h
M Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm
M Source/WebKit/UIProcess/ios/WKContentView.h
M Source/WebKit/UIProcess/ios/WKContentView.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/WKScrollViewTests.mm
Log Message:
-----------
REGRESSION(308209@main): Top and bottom fixed position elements flicker when
rubber band scrolling
https://bugs.webkit.org/show_bug.cgi?id=315320
rdar://176226179
Reviewed by Tim Horton.
When we throttle visible content rect updates to the WebContent process, we
will still update layer positions and
scrolling tree state in the UI process. However, we were missing one change
that the full unthrottled path does which
is to update the WKContentView's fixed clipping view bounds. Stale data here
leads to fixed positioned elements flickering
when doing a rubber band scroll while changing obscured insets interactively in
iOS Safari.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/WKScrollViewTests.mm
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _updateViewportRelativeLayersOutOfBand]):
* Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
* Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _fixedClippingViewBoundsForTesting]):
* Source/WebKit/UIProcess/ios/WKContentView.h:
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _fixedClippingViewBoundsForTesting]):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/ios/WKScrollViewTests.mm:
(TestWebKitAPI::(WKScrollViewTests,
FixedClippingViewTracksRubberBandDuringInteractiveObscuredInsetsChange)):
Canonical link: https://commits.webkit.org/313759@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications