[webkit-changes] [WebKit/WebKit] de396f: The ContentRuleList for declarativeNetRequest is s...

Timothy Hatcher noreply at github.com
Fri Dec 8 10:47:35 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: de396f01ad00068f3cee230deb50104176099dc3
      https://github.com/WebKit/WebKit/commit/de396f01ad00068f3cee230deb50104176099dc3
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2023-12-08 (Fri, 08 Dec 2023)

  Changed paths:
    M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDeclarativeNetRequestCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerConfigurationCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionDeclarativeNetRequestSQLiteStore.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.h

  Log Message:
  -----------
  The ContentRuleList for declarativeNetRequest is stored in the wrong location.
https://webkit.org/b/266074
rdar://problem/119379304

Reviewed by Brian Weinstein.

Change the location of the ContentRuleList used by dNR. Currently the directory is DeclarativeNetRequest
at the top-level controller storage directory. This will cause compiled rules to be shared with other
contexts, from other profiles. Since dNR rules are dynamic per-context, the compiled rules need to be
stored per-context too. Also change the name of the dynamic rules DB to better match the other files.

A per-context storage directory looks like this now:

  ContentRuleList-DeclarativeNetRequest.data
  DynamicRules-DeclarativeNetRequest.db
  DynamicRules-DeclarativeNetRequest.db-shm
  DynamicRules-DeclarativeNetRequest.db-wal
  State.plist

* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDeclarativeNetRequestCocoa.mm:
(WebKit::WebExtensionContext::declarativeNetRequestDynamicRulesStore):
(WebKit::WebExtensionContext::declarativeNetRequestSessionRulesStore):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::stateFilePath const):
(WebKit::WebExtensionContext::declarativeNetRequestRuleStore):
(WebKit::WebExtensionContext::addDeclarativeNetRequestRulesToPrivateUserContentControllers):
(WebKit::WebExtensionContext::compileDeclarativeNetRequestRules):
(WebKit::WebExtensionContext::loadDeclarativeNetRequestRules):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerConfigurationCocoa.mm:
(WebKit::WebExtensionControllerConfiguration::declarativeNetRequestStoreDirectory): Deleted.
* Source/WebKit/UIProcess/Extensions/Cocoa/_WKWebExtensionDeclarativeNetRequestSQLiteStore.mm:
(-[_WKWebExtensionDeclarativeNetRequestSQLiteStore _insertRule:inDatabase:]):
(-[_WKWebExtensionDeclarativeNetRequestSQLiteStore _databaseURL]):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
(WebKit::WebExtensionContext::storageDirectory const): Added.
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.h:

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




More information about the webkit-changes mailing list