[webkit-changes] [WebKit/WebKit] 27ba8d: Hook up IPC for registered scripts APIs.

kiaraarose noreply at github.com
Tue Nov 14 16:44:11 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 27ba8dee1e35d5d7a700b78dbabf8f7b3b0cafcf
      https://github.com/WebKit/WebKit/commit/27ba8dee1e35d5d7a700b78dbabf8f7b3b0cafcf
  Author: Kiara Rose <kiara_rose at apple.com>
  Date:   2023-11-14 (Tue, 14 Nov 2023)

  Changed paths:
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Shared/Extensions/WebExtensionDynamicScripts.serialization.in
    A Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptParameters.h
    M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIScriptingCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm

  Log Message:
  -----------
  Hook up IPC for registered scripts APIs.
https://bugs.webkit.org/show_bug.cgi?id=264823
rdar://118405149

Reviewed by Timothy Hatcher.

This patch creates a WebExtensionRegisteredScriptParameters which will be used to pass information
to the UI process for the scripts to be registered for scripting.RegisteredContentScripts. Also adds
tests for error handling for these APIs in WKWebExtensionAPIScripting.Errors.

This patch also restructures the WebExtensionAPIScripting class to match that of the other classes
created for other extension APIs.

* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
* Source/WebKit/Shared/Extensions/WebExtensionDynamicScripts.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptParameters.h: Copied from Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h.
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm:
(WebKit::WebExtensionContext::scriptingRegisterScripts):
(WebKit::WebExtensionContext::scriptingUpdateRegisteredScripts):
(WebKit::WebExtensionContext::scriptingGetRegisteredScripts):
(WebKit::WebExtensionContext::scriptingUnregisterScripts):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIScriptingCocoa.mm:
(WebKit::toWebAPI):
(WebKit::WebExtensionAPIScripting::executeScript):
(WebKit::WebExtensionAPIScripting::insertCSS):
(WebKit::WebExtensionAPIScripting::removeCSS):
(WebKit::WebExtensionAPIScripting::registerContentScripts):
(WebKit::WebExtensionAPIScripting::getRegisteredContentScripts):
(WebKit::WebExtensionAPIScripting::updateContentScripts):
(WebKit::WebExtensionAPIScripting::unregisterContentScripts):
(WebKit::WebExtensionAPIScripting::validateScript):
(WebKit::WebExtensionAPIScripting::validateRegisteredScripts):
(WebKit::WebExtensionAPIScripting::validateFilter):
(WebKit::WebExtensionAPIScripting::parseTargetInjectionOptions):
(WebKit::WebExtensionAPIScripting::parseScriptInjectionOptions):
(WebKit::WebExtensionAPIScripting::parseCSSInjectionOptions):
(WebKit::WebExtensionAPIScripting::parseRegisteredContentScripts):
(WebKit::WebExtensionAPIScripting::hasValidExecutionWorld):
(WebKit::parseTargetInjectionOptions): Deleted.
(WebKit::parseScriptInjectionOptions): Deleted.
(WebKit::parseCSSInjectionOptions): Deleted.
(WebKit::WebExtensionAPIScripting::toWebAPI): Deleted.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::WebExtensionAPITabs::executeScript):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm:
(TestWebKitAPI::TEST):

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




More information about the webkit-changes mailing list