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