Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4e060dd91f139db738f7608ea37619d5c87bc17e
      
https://github.com/WebKit/WebKit/commit/4e060dd91f139db738f7608ea37619d5c87bc17e
  Author: Jamie Murphy <[email protected]>
  Date:   2025-10-22 (Wed, 22 Oct 2025)

  Changed paths:
    A 
Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptsSQLiteStore.cpp
    A Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptsSQLiteStore.h
    A 
Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptsSQLiteStoreCocoa.mm
    M Source/WebKit/Shared/Extensions/WebExtensionSQLiteStatement.cpp
    M Source/WebKit/Shared/Extensions/WebExtensionUtilities.h
    R 
Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.h
    R 
Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.mm
    M Source/WebKit/Sources.txt
    M Source/WebKit/SourcesCocoa.txt
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIScriptingCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db-shm
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db-wal
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm

  Log Message:
  -----------
  Port _WKWebExtensionRegisteredScriptsSQLiteStore to C++
https://bugs.webkit.org/show_bug.cgi?id=287751

Reviewed by Timothy Hatcher.

Following previous work with C++ SQLite databases, this ports
the Registered Scripts SQLite store to C++ and removes the previous Cocoa-only 
implementation.

Tests: Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
       Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db
       Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db-shm
       Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db-wal
       Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm

* Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptsSQLiteStore.cpp: 
Added.
(WebKit::rowFilterStringFromRowKeys):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::WebExtensionRegisteredScriptsSQLiteStore):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::updateScripts):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::deleteScriptsWithIDs):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::addScripts):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::getScripts):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::getScriptsWithErrorMessage):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::getKeysAndValuesFromRowIterator):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::insertScript):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::currentDatabaseSchemaVersion):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::createFreshDatabaseSchema):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::migrateToCurrentSchemaVersionIfNeeded):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::resetDatabaseSchema):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::isDatabaseEmpty):
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::databaseURL):
* Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptsSQLiteStore.h: 
Added.
* 
Source/WebKit/Shared/Extensions/WebExtensionRegisteredScriptsSQLiteStoreCocoa.mm:
 Added.
(WebKit::WebExtensionRegisteredScriptsSQLiteStore::migrateData):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteStatement.cpp:
(WebKit::WebExtensionSQLiteStatement::fetch):
(WebKit::WebExtensionSQLiteStatement::fetchWithEnumerationCallback):
(WebKit::WebExtensionSQLiteStatement::reset):
(WebKit::WebExtensionSQLiteStatement::invalidate):
(WebKit::WebExtensionSQLiteStatement::bind):
(WebKit::WebExtensionSQLiteStatement::columnNamesToIndicies):
(WebKit::WebExtensionSQLiteStatement::columnNames):
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.h:
(WebKit::toWebAPI):
* 
Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.h: 
Removed.
* 
Source/WebKit/Shared/Extensions/_WKWebExtensionRegisteredScriptsSQLiteStore.mm: 
Removed.
* Source/WebKit/Sources.txt:
* Source/WebKit/SourcesCocoa.txt:
* 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIScriptingCocoa.mm:
(WebKit::toJSONSerialization):
(WebKit::WebExtensionContext::scriptingRegisterContentScripts):
(WebKit::WebExtensionContext::scriptingUpdateRegisteredScripts):
(WebKit::WebExtensionContext::scriptingUnregisterContentScripts):
(WebKit::WebExtensionContext::loadRegisteredContentScripts):
(WebKit::WebExtensionContext::clearRegisteredContentScripts):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::registeredContentScriptsStore): Deleted.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp:
(WebKit::WebExtensionContext::registeredContentScriptsStore):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIScriptingCocoa.mm:
(WebKit::toWebAPI):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIScripting.h:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db: Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db-shm: Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/RegisteredContentScripts.db-wal: Added.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIScripting.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPIScripting, MigrateScriptDataToNewFormat)):

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



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

Reply via email to