[webkit-changes] [WebKit/WebKit] 4485c4: Hook up storage for persistent registered content ...
kiaraarose
noreply at github.com
Fri Dec 8 13:43:30 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4485c484a89d836f7ddac832426ddfae1ea14fad
https://github.com/WebKit/WebKit/commit/4485c484a89d836f7ddac832426ddfae1ea14fad
Author: Kiara Rose <kiara_rose at apple.com>
Date: 2023-12-08 (Fri, 08 Dec 2023)
Changed paths:
A Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.h
A Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h
Log Message:
-----------
Hook up storage for persistent registered content scripts.
https://bugs.webkit.org/show_bug.cgi?id=265899
Reviewed by Timothy Hatcher.
This is the final work for scripting API. This patch creates a _WKWebExtensionRegisteredScriptsSQLiteStore
which will be used to manage storage for registered scripts. This patch also loads these scripts
from storage when an extension loads.
When an extension updates, we will need to remove these scripts from storage since they shouldn't
persist in this case. This is being tracked in https://bugs.webkit.org/show_bug.cgi?id=249266.
* Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.h: Added.
* Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.mm: Added.
(rowFilterStringFromRowKeys):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore initWithUniqueIdentifier:directory:usesInMemoryDatabase:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore updateScripts:completionHandler:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore deleteScriptsWithIDs:completionHandler:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore addScripts:completionHandler:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore getScriptsWithCompletionHandler:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _getScriptsWithOutErrorMessage:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _getKeysAndValuesFromRowEnumerator:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _insertScript:inDatabase:errorMessage:]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _currentDatabaseSchemaVersion]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _databaseURL]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _createFreshDatabaseSchema]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _resetDatabaseSchema]):
(-[_WKWebExtensionRegisteredScriptsSQLiteStore _isDatabaseEmpty]):
* Source/WebKit/Shared/Extensions/_WKWebExtensionSQLiteStore.mm:
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm:
(WebKit::WebExtensionContext::scriptingRegisterContentScripts):
(WebKit::WebExtensionContext::scriptingUpdateRegisteredScripts):
(WebKit::WebExtensionContext::scriptingGetRegisteredScripts):
(WebKit::WebExtensionContext::scriptingUnregisterContentScripts):
(WebKit::WebExtensionContext::loadRegisteredContentScripts):
(WebKit::WebExtensionContext::createInjectedContentForScripts):
Renamed from parseRegisteredContentScripts. Parse scripts and create injected content data.
(WebKit::WebExtensionContext::parseRegisteredContentScripts): Deleted.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::load):
(WebKit::WebExtensionContext::unload):
(WebKit::WebExtensionContext::invalidateStorage):
Invalidate all references to extension storage.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerConfigurationCocoa.mm:
(WebKit::WebExtensionControllerConfiguration::registeredContentScriptsDirectory):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionControllerConfiguration.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIScriptingCocoa.mm:
(WebKit::parseRegisteredContentScripts):
(WebKit::WebExtensionAPIScripting::parseRegisteredContentScripts): Deleted.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h:
Canonical link: https://commits.webkit.org/271758@main
More information about the webkit-changes
mailing list