[webkit-changes] [WebKit/WebKit] d7f28b: Resizing a fullscreen element doesn't always resiz...

mwyrzykowski noreply at github.com
Mon Jul 24 11:11:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d7f28b8f18d6f400feac62dc7054759e91014765
      https://github.com/WebKit/WebKit/commit/d7f28b8f18d6f400feac62dc7054759e91014765
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2023-07-24 (Mon, 24 Jul 2023)

  Changed paths:
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/ios/WKWebViewResize.mm

  Log Message:
  -----------
  Resizing a fullscreen element doesn't always resize children to the correct size
https://bugs.webkit.org/show_bug.cgi?id=258847
<radar://110880116>

Reviewed by Tim Horton.

During a window resize, [_contentView bounds] will not be up to date during the precommit
handler so it is incorrect to intersect it with the web view's bounds.

Additionally it makes fullscreen resizing look much smoother.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _updateVisibleContentRects]):
Skip intersection if we just resized the WKWebView.

* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/ios/WKWebViewResize.mm: Added.
(-[NSObject swizzled_didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:viewStability:enclosedInScrollableAncestorView:sendEvenIfUnchanged:]):
(setupWKContentViewSwizzle):
(operator==):
Required for EXPECT_EQ on CGRect.

(webViewHasExpectedBounds):
(TEST):
Add API test which ensures a content view with no other insets will have an
unobscuredRect which matches the enclosing WKWebView's bounds after setFrame: is called.

Tests both resizing the web view larger and smaller.

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




More information about the webkit-changes mailing list