[webkit-changes] [WebKit/WebKit] 11a913: Add WKWebViewConfiguration to _WKWebExtensionContr...
Timothy Hatcher
noreply at github.com
Fri Sep 29 12:56:33 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 11a9133692954ea702fcef2e32bd890b4ae8a3a3
https://github.com/WebKit/WebKit/commit/11a9133692954ea702fcef2e32bd890b4ae8a3a3
Author: Timothy Hatcher <timothy at apple.com>
Date: 2023-09-29 (Fri, 29 Sep 2023)
Changed paths:
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerConfiguration.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerConfiguration.mm
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerDelegate.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMessagePort.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMessagePort.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm
R Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerConfiguration.mm
A Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerConfigurationCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtension.h
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
M Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.cpp
M Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPortCocoa.mm
M Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.cpp
M Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.h
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionControllerConfiguration.mm
Log Message:
-----------
Add WKWebViewConfiguration to _WKWebExtensionControllerConfiguration.
https://webkit.org/b/262381
rdar://problem/116243665
Reviewed by Brian Weinstein.
Clients will need to provide some base defaults for extension web views, like what
process pool to use. This is best to do via a WKWebViewConfiguration property
on _WKWebExtensionControllerConfiguration.
Also fix some small drive-by issues.
* Use protocolHostAndPort() instead of truncatedForUseAsBase() for the baseURL maps
since truncatedForUseAsBase() will include the path still and this breaks some
extensions that use directories in their paths.
* Added relatedWebView to the configuration in prep for action popups.
* Added a webExtensionController() helper method to WebPageProxy to return the strong
or weak controller as a convenience.
* Fixed an ASSERT in WebExtensionAPIPort that would fire on garbage collect if the
port was already disconnected and removed.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerConfiguration.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerConfiguration.mm:
(-[_WKWebExtensionControllerConfiguration encodeWithCoder:]): Encode webViewConfiguration.
(-[_WKWebExtensionControllerConfiguration initWithCoder:]): Set webViewConfiguration.
(-[_WKWebExtensionControllerConfiguration webViewConfiguration]): Added.
(-[_WKWebExtensionControllerConfiguration setWebViewConfiguration:]): Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionControllerDelegate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMessagePort.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionMessagePort.mm:
(-[_WKWebExtensionMessagePort sendMessage:completionHandler:]):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm:
(WebKit::WebExtensionController::load):
(WebKit::WebExtensionController::unload):
(WebKit::WebExtensionController::extensionContext const):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerConfigurationCocoa.mm:
Renamed from WebExtensionControllerConfiguration.mm to match conventions.
(WebKit::WebExtensionControllerConfiguration::createStorageDirectoryPath):
(WebKit::WebExtensionControllerConfiguration::copy const):
(WebKit::WebExtensionControllerConfiguration::webViewConfiguration): Added.
* Source/WebKit/UIProcess/Extensions/WebExtension.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionController.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.cpp:
(WebKit::WebExtensionControllerConfiguration::operator== const):
(WebKit::WebExtensionControllerConfiguration::copy const): Deleted.
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.h:
(WebKit::WebExtensionControllerConfiguration::setWebViewConfiguration): Added.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::webExtensionController): Added.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.cpp:
(WebKit::WebExtensionControllerProxy::getOrCreate):
(WebKit::WebExtensionControllerProxy::load):
(WebKit::WebExtensionControllerProxy::extensionContext const):
* Source/WebKit/WebProcess/Extensions/WebExtensionControllerProxy.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionControllerConfiguration.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/268667@main
More information about the webkit-changes
mailing list