Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cd1dcbdc10539d2af3dfd48185ebefd6b429d811
      
https://github.com/WebKit/WebKit/commit/cd1dcbdc10539d2af3dfd48185ebefd6b429d811
  Author: Timothy Hatcher <timo...@apple.com>
  Date:   2024-10-11 (Fri, 11 Oct 2024)

  Changed paths:
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtension.cpp
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIScriptingCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h
    M 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm
    M 
Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIScripting.idl
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm

  Log Message:
  -----------
  Simplify Web Extension scripting options parsing.
https://webkit.org/b/281264
rdar://problem/137716833

Reviewed by Brian Weinstein.

We were touching the options dictionaries twice, in a validate and parse call. 
These can be combined
to reduce the distance from the two steps and prevent errors — since we always 
do both steps together.
This is in preparation for adding `documentIds` support.

Also fixed a regression, where we were not case-insensitive comparing the 
`world` and `css_origin` values
when parsing the manifest. And just change them to lowercase in the keys for 
consistency and based on
agreement to do this in the WECG.

Some tests needed new baselines for these changes, where `tabId` was throwing 
an invalid error for `0`
before the expected error was hit due to changes in parsing order.

Also don't output optional keys that were not originally set when calling 
`getRegisteredContentScripts()`.

* 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm:
(WebKit::WebExtensionContext::loadRegisteredContentScripts):
* Source/WebKit/UIProcess/Extensions/WebExtension.cpp:
(WebKit::WebExtension::populateContentScriptPropertiesIfNeeded):
* 
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::validateFilter):
(WebKit::WebExtensionAPIScripting::parseStyleLevel):
(WebKit::WebExtensionAPIScripting::parseExecutionWorld):
(WebKit::WebExtensionAPIScripting::parseTargetInjectionOptions):
(WebKit::WebExtensionAPIScripting::parseScriptInjectionOptions):
(WebKit::WebExtensionAPIScripting::parseCSSInjectionOptions):
(WebKit::WebExtensionAPIScripting::parseRegisteredContentScripts):
(WebKit::WebExtensionAPIScripting::validateScript): Deleted.
(WebKit::WebExtensionAPIScripting::validateTarget): Deleted.
(WebKit::WebExtensionAPIScripting::validateCSS): Deleted.
(WebKit::WebExtensionAPIScripting::validateRegisteredScripts): Deleted.
(WebKit::WebExtensionAPIScripting::hasValidExecutionWorld): Deleted.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h:
* 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm:
(_installArgumentTypeExceptions):
(_installAutomaticExceptions):
(_javaScriptTypeCondition):
(_platformType):
(_platformTypeConstructor):
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIScripting.idl:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, ErrorsExecuteScript)):
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, ErrorsCSS)):
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, 
ErrorsRegisteredContentScript)):
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, RegisterContentScripts)):
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, UpdateContentScripts)):
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, GetContentScripts)):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to