[webkit-changes] [WebKit/WebKit] eb5c28: Add UIViewController to _WKWebExtensionAction.

Timothy Hatcher noreply at github.com
Mon Feb 26 11:43:44 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eb5c280e046344fc93ee454dce60690da5d75e7a
      https://github.com/WebKit/WebKit/commit/eb5c280e046344fc93ee454dce60690da5d75e7a
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M Source/WebKit/Platform/spi/ios/UIKitSPI.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionAction.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionAction.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionAction.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIAction.mm

  Log Message:
  -----------
  Add UIViewController to _WKWebExtensionAction.
https://webkit.org/b/270099
rdar://121461105

Reviewed by Brian Weinstein.

The logic for popups is complex on iOS, we should vend a UIViewController instead of just the WKWebView.
This also overrides the viewport to accommodate desktop extenions better on mobile.

* Source/WebKit/Platform/spi/ios/UIKitSPI.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionAction.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionAction.mm:
(-[_WKWebExtensionAction popupViewController]):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm:
(-[_WKWebExtensionActionWebViewDelegate initWithWebExtensionAction:]):
(-[_WKWebExtensionActionWebViewDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[_WKWebExtensionActionWebView initWithFrame:configuration:webExtensionAction:]):
(-[_WKWebExtensionActionWebView dealloc]):
(-[_WKWebExtensionActionWebView invalidateIntrinsicContentSize]):
(-[_WKWebExtensionActionWebView observeValueForKeyPath:ofObject:change:context:]):
(-[_WKWebExtensionActionWebView _contentSize]):
(-[_WKWebExtensionActionWebView _contentSizeDidChange]):
(-[_WKWebExtensionActionWebView _checkIfContentSizeStabilizedAndPresentPopup]):
(-[_WKWebExtensionActionViewController initWithWebExtensionAction:]):
(-[_WKWebExtensionActionViewController viewIsAppearing:]):
(-[_WKWebExtensionActionViewController adaptivePresentationStyleForPresentationController:traitCollection:]):
(-[_WKWebExtensionActionViewController presentationController:prepareAdaptivePresentationController:]):
(-[_WKWebExtensionActionViewController presentationController:viewControllerForAdaptivePresentationStyle:]):
(-[_WKWebExtensionActionViewController _viewControllerDismissalTransitionDidEnd:]):
(-[_WKWebExtensionActionViewController _updatePopoverContentSize]):
(-[_WKWebExtensionActionViewController _updateDetentForSheetPresentationController:]):
(-[_WKWebExtensionActionViewController _dismissPopup]):
(WebKit::WebExtensionAction::popupViewController):
(WebKit::WebExtensionAction::popupWebView):
(WebKit::WebExtensionAction::readyToPresentPopup):
(WebKit::WebExtensionAction::popupSizeDidChange):
(WebKit::WebExtensionAction::popupDidClose):
(WebKit::WebExtensionAction::closePopupWebView):
* Source/WebKit/UIProcess/Extensions/WebExtensionAction.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIAction.mm:
(TestWebKitAPI::TEST): Check that popupViewController is non-null.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list