Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1d68c6b3b5216b0cfa5678fd1e8e0edc17ace7e2
      
https://github.com/WebKit/WebKit/commit/1d68c6b3b5216b0cfa5678fd1e8e0edc17ace7e2
  Author: Timothy Hatcher <timo...@apple.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M Source/WebCore/bindings/js/CachedModuleScriptLoader.cpp
    M Source/WebCore/bindings/js/CachedModuleScriptLoader.h
    M Source/WebCore/bindings/js/CachedScriptFetcher.cpp
    M Source/WebCore/bindings/js/CachedScriptFetcher.h
    M Source/WebCore/bindings/js/ScriptModuleLoader.cpp
    M Source/WebCore/dom/LoadableClassicScript.cpp
    M Source/WebCore/dom/ScriptElementCachedScriptFetcher.cpp
    M Source/WebCore/dom/ScriptElementCachedScriptFetcher.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtension.mm

  Log Message:
  -----------
  Script imports in Web Extension content script are not isolated from service 
workers.
https://webkit.org/b/287305
rdar://144104878

Reviewed by Chris Dumez.

When importing a script in an extension isolated world, we should load it so 
that
it does not use the page's service worker to prevent interference.

* Source/WebCore/bindings/js/CachedModuleScriptLoader.cpp:
(WebCore::CachedModuleScriptLoader::load): Pass serviceWorkersMode.
* Source/WebCore/bindings/js/CachedModuleScriptLoader.h:
* Source/WebCore/bindings/js/CachedScriptFetcher.cpp:
(WebCore::CachedScriptFetcher::requestModuleScript const): Pass 
serviceWorkersMode.
(WebCore::CachedScriptFetcher::requestScriptWithCache const): Use 
serviceWorkersMode or
default to ServiceWorkersMode::All.
* Source/WebCore/bindings/js/CachedScriptFetcher.h:
* Source/WebCore/bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::fetch): Pass ServiceWorkersMode based on the 
current world.
* Source/WebCore/dom/LoadableClassicScript.cpp:
(WebCore::LoadableNonModuleScriptBase::load): Pass { } for serviceWorkersMode.
* Source/WebCore/dom/ScriptElementCachedScriptFetcher.cpp:
(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const): Pass 
serviceWorkersMode.
* Source/WebCore/dom/ScriptElementCachedScriptFetcher.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtension.mm:
(TestWebKitAPI::TEST(WKWebExtension, ContentScriptImport)): Added.

Originally-landed-as: 289651.71@safari-7621-branch (e0100f67af2d). 
rdar://148059318
Canonical link: https://commits.webkit.org/293506@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