Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 38949431399cb8ca2a55db3cd3f1292f4fb0f1ca https://github.com/WebKit/WebKit/commit/38949431399cb8ca2a55db3cd3f1292f4fb0f1ca Author: Timothy Hatcher <timo...@apple.com> Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths: M Source/WebCore/en.lproj/Localizable.strings M Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js M Source/WebKit/Shared/Extensions/WebExtensionFrameParameters.h M Source/WebKit/Shared/Extensions/WebExtensionMessageSenderParameters.h M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm M Source/WebKit/UIProcess/Extensions/WebExtension.h M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtension.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionContext.mm Log Message: ----------- Support `world` in `content_scripts` for Web Extension manifests. https://webkit.org/b/270748 rdar://problem/124331541 Reviewed by Brian Weinstein. Add support for the `world` key in `content_scripts`. Also changed the `forMainWorld` boolean to be `contentWorldType` and use `WebExtensionContentWorldType` for consistency. Drive-by fixes to provide missing default values for plain types to avoid random memory. * Source/WebCore/en.lproj/Localizable.strings: Updated with the script. * Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js: Ditto. * Source/WebKit/Shared/Extensions/WebExtensionFrameParameters.h: Add default value. * Source/WebKit/Shared/Extensions/WebExtensionMessageSenderParameters.h: Ditto. * Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm: (WebKit::WebExtensionContext::scriptingExecuteScript): Use toContentWorld(). (WebKit::WebExtensionContext::createInjectedContentForScripts): Use contentWorldType. Also use value_or() in case the web process does not set the value. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionCocoa.mm: (WebKit::WebExtension::populateContentScriptPropertiesIfNeeded): Parse the `world` key. * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm: (WebKit::WebExtensionContext::toContentWorld const): Added. (WebKit::WebExtensionContext::addInjectedContent): Use toContentWorld(). * Source/WebKit/UIProcess/Extensions/WebExtension.h: * Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtension.mm: (TEST(WKWebExtension, ContentScriptsParsing)): Added `world` tests. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm: (TEST(WKWebExtensionAPIScripting, MainWorld)): Added. (TEST(WKWebExtensionAPIScripting, IsolatedWorld)): Added. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionContext.mm: (TEST(WKWebExtensionContext, ContentScriptsParsing)): Added `world` tests. Canonical link: https://commits.webkit.org/275909@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