Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 82de229ab5a54e1441857befa56fa9cab65b1e8e
https://github.com/WebKit/WebKit/commit/82de229ab5a54e1441857befa56fa9cab65b1e8e
Author: Timothy Hatcher <[email protected]>
Date: 2023-10-23 (Mon, 23 Oct 2023)
Changed paths:
M Source/WebCore/en.lproj/Localizable.strings
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionController.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionController.mm
M Source/WebKit/UIProcess/Cocoa/NavigationState.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
M
Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionURLSchemeHandlerCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtension.h
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
Log Message:
-----------
Provide a getter for webViewConfiguration on _WKWebExtensionContext.
https://webkit.org/b/263533
rdar://problem/117359849
Reviewed by Brian Weinstein.
Add API for obtaining correct WKWebViewConfiguration for web extension content
in tabs.
Flesh out the remaining web view configuration properties needed, and provide
configurations
for distinct web view purposes with different process names in manifest v3.
To make sure the app uses the right configuration, make extension URL load fail
if they are not
using the right configuration, and prevent extension configured views from
loading other URLs.
* Source/WebCore/en.lproj/Localizable.strings: Updated.
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]): Copy _requiredWebExtensionBaseURL.
(-[WKWebViewConfiguration _requiredWebExtensionBaseURL]): Added.
(-[WKWebViewConfiguration _setRequiredWebExtensionBaseURL:]): Added.
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm:
(-[_WKWebExtensionContext webViewConfiguration]): Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionController.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionController.mm:
(-[_WKWebExtensionController extensionContextForURL:]): Added.
* Source/WebKit/UIProcess/Cocoa/NavigationState.mm:
(WebKit::isUnsupportedWebExtensionNavigation): Added.
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
Call isUnsupportedWebExtensionNavigation.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm:
(WebKit::WebExtensionAction::popupWebView): Pass a WebViewPurpose for the
configuration.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm:
(WebKit::WebExtension::webProcessDisplayName): Deleted.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::relatedWebView): Return nil for v3 and later.
Simplify by looking at all known pages that
have the extension URL loaded, so it catches tab pages too.
(WebKit::WebExtensionContext::processDisplayName): Added.
(WebKit::WebExtensionContext::corsDisablingPatterns): Added.
(WebKit::WebExtensionContext::webViewConfiguration): Expanded and added
WebViewPurpose.
(WebKit::WebExtensionContext::loadBackgroundWebView): Pass a WebViewPurpose for
the configuration.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionURLSchemeHandlerCocoa.mm:
(WebKit::WebExtensionURLSchemeHandler::platformStartTask): Return an error when
loading an extension URL in the main frame
of a improperly configured web view.
* Source/WebKit/UIProcess/Extensions/WebExtension.h:
(WebKit::WebExtension::supportsManifestVersion): Added an ASSERT to catch a
mistake that I keep making where passing 2
is invalid since that will be true for all extensions.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
Canonical link: https://commits.webkit.org/269669@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes