[webkit-changes] [WebKit/WebKit] c985ec: WKUserContentController methods shouldn't show or ...

Timothy Hatcher noreply at github.com
Sat Sep 14 08:54:01 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c985ecf2d3c0ca5dc38538e505dc1767db9cfbc9
      https://github.com/WebKit/WebKit/commit/c985ecf2d3c0ca5dc38538e505dc1767db9cfbc9
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2024-09-14 (Sat, 14 Sep 2024)

  Changed paths:
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMatchPatternCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.h
    M Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp
    M Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIDeclarativeNetRequest.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm

  Log Message:
  -----------
  WKUserContentController methods shouldn't show or remove user content scripts and stylesheets used by Web Extensions.
https://webkit.org/b/260208
rdar://problem/114823215

Reviewed by Jeff Miller.

Have the "remove all" methods on `WKUserContentController` skip any web extensions script, stylesheet, or content rules.
Internally this is controlled by a new parameter on the `WebUserContentControllerProxy` methods.

* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMatchPatternCocoa.mm:
(WebKit::WebExtensionMatchPattern::isWebExtensionURL): Added.
* Source/WebKit/UIProcess/Extensions/WebExtensionMatchPattern.h:
* Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::removeAllUserScripts): Added parameter to control if web extensions content is skipped.
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets): Ditto.
(WebKit::WebUserContentControllerProxy::removeAllContentRuleLists): Ditto.
* Source/WebKit/UIProcess/UserContent/WebUserContentControllerProxy.h:
(WebKit::WebUserContentControllerProxy::create):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIDeclarativeNetRequest.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPIDeclarativeNetRequest, RemoveAllContentRuleListsDoesNotRemoveWebExtensionRuleLists)): Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, RemoveAllUserScriptsDoesNotRemoveWebExtensionScripts)): Added.
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, RemoveAllUserStyleSheetsDoesNotRemoveWebExtensionStyleSheets)): Added.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list