[webkit-changes] [WebKit/WebKit] 0d58f6: Create a C++ implementation of WebExtensionSQLite ...
Jamie Murphy
noreply at github.com
Tue Jan 21 13:40:34 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0d58f6b2b12f66664bdc7e052869a8d406967b21
https://github.com/WebKit/WebKit/commit/0d58f6b2b12f66664bdc7e052869a8d406967b21
Author: Jamie <hello at itsjamie.dev>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteDatabase.cpp
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteDatabase.h
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteDatatypeTraits.h
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteHelpers.h
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteRow.cpp
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteRow.h
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteStatement.cpp
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteStatement.h
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteStore.cpp
A Source/WebKit/Shared/Extensions/WebExtensionSQLiteStore.h
M Source/WebKit/Sources.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Tools/Scripts/webkitpy/style/checker.py
Log Message:
-----------
Create a C++ implementation of WebExtensionSQLite classes
https://webkit.org/b/285893
Reviewed by Timothy Hatcher.
This adds a new WebExtensionSQLite implementation, with the Database, Helpers, Row, Statements, and Store classes.
Currently, there is no usage of this implementation, as StorageSQLiteStore, RegisteredScriptsSQLiteStore, and DeclarativeNetRequestSQLiteStore should be ported separately.
* Source/WebKit/Scripts/generate-unified-sources.sh:
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteDatabase.cpp: Added.
(WebExtensionSQLiteDatabase::WebExtensionSQLiteDatabase):
(WebExtensionSQLiteDatabase::assertQueue):
(WebExtensionSQLiteDatabase::close):
(WebExtensionSQLiteDatabase::reportErrorWithCode):
(WebExtensionSQLiteDatabase::errorWithSQLiteErrorCode):
(WebExtensionSQLiteDatabase::enableWAL):
(WebExtensionSQLiteDatabase::openWithAccessType):
(WebExtensionSQLiteDatabase::inMemoryDatabaseURL):
(WebExtensionSQLiteDatabase::privateOnDiskDatabaseURL):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteDatabase.h: Added.
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteDatatypeTraits.h: Added.
(WebKit::WebExtensionSQLiteDatatypeTraits<int>::fetch):
(WebKit::WebExtensionSQLiteDatatypeTraits<int>::bind):
(WebKit::WebExtensionSQLiteDatatypeTraits<int64_t>::fetch):
(WebKit::WebExtensionSQLiteDatatypeTraits<int64_t>::bind):
(WebKit::WebExtensionSQLiteDatatypeTraits<double>::fetch):
(WebKit::WebExtensionSQLiteDatatypeTraits<double>::bind):
(WebKit::WebExtensionSQLiteDatatypeTraits<String>::fetch):
(WebKit::WebExtensionSQLiteDatatypeTraits<String>::bind):
(WebKit::WebExtensionSQLiteDatatypeTraits<RefPtr<API::Data>>::fetch):
(WebKit::WebExtensionSQLiteDatatypeTraits<RefPtr<API::Data>>::bind):
(WebKit::WebExtensionSQLiteDatatypeTraits<std::nullptr_t>::fetch):
(WebKit::WebExtensionSQLiteDatatypeTraits<std::nullptr_t>::bind):
(WebKit::WebExtensionSQLiteDatatypeTraits<decltype):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteHelpers.h: Added.
(WebKit::SQLiteIsExecutionError):
(WebKit::SQLiteDatabaseExecuteAndReturnIntError):
(WebKit::SQLiteStatementBindAllParameters):
(WebKit::SQLiteDatabaseExecute):
(WebKit::SQLiteDatabaseExecuteAndReturnError):
(WebKit::SQLiteDatabaseFetch):
(WebKit::SQLiteStatementBindParameter):
(WebKit::SQLiteStatementBindParameter<unsigned>):
(WebKit::SQLiteStatementBindParameter<uint64_t>):
(WebKit::SQLiteStatementBindParameter<long>):
(WebKit::SQLiteStatementBindParameter<bool>):
(WebKit::SQLiteStatementBindTupleParameters):
(WebKit::SQLiteIteratorBlock::SQLiteIteratorBlock):
(WebKit::SQLiteIteratorBlock::callBlockWithAllColumns):
(WebKit::StatementCallBlockWithAllColumns):
(WebKit::WBSStatementFetchColumnsInTuple):
(WebKit::SQLiteStatementBindOrStep):
(WebKit::SQLiteStatementBind):
(WebKit::SQLiteDatabaseEnumerate):
(WebKit::SQLiteDatabaseEnumerateRows):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteRow.cpp: Added.
(WebKit::WebExtensionSQLiteRow::WebExtensionSQLiteRow):
(WebKit::WebExtensionSQLiteRow::getString):
(WebKit::WebExtensionSQLiteRow::getInt):
(WebKit::WebExtensionSQLiteRow::getInt64):
(WebKit::WebExtensionSQLiteRow::getDouble):
(WebKit::WebExtensionSQLiteRow::getBool):
(WebKit::WebExtensionSQLiteRow::getData):
(WebKit::WebExtensionSQLiteRow::isNullAtIndex):
(WebKit::WebExtensionSQLiteRowEnumerator::WebExtensionSQLiteRowEnumerator):
(WebKit::WebExtensionSQLiteRowEnumerator::next):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteRow.h: Added.
(WebKit::WebExtensionSQLiteRow::create):
(WebKit::WebExtensionSQLiteRowEnumerator::create):
(WebKit::WebExtensionSQLiteRowEnumerator::statement):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteStatement.cpp: Added.
(WebKit::WebExtensionSQLiteStatement::WebExtensionSQLiteStatement):
(WebKit::WebExtensionSQLiteStatement::~WebExtensionSQLiteStatement):
(WebKit::WebExtensionSQLiteStatement::execute):
(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/WebExtensionSQLiteStatement.h: Added.
(WebKit::WebExtensionSQLiteStatement::create):
(WebKit::WebExtensionSQLiteStatement::database):
(WebKit::WebExtensionSQLiteStatement::handle):
(WebKit::WebExtensionSQLiteStatement::isValid):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteStore.cpp: Added.
(WebKit::WebExtensionSQLiteStore::WebExtensionSQLiteStore):
(WebKit::WebExtensionSQLiteStore::close):
(WebKit::WebExtensionSQLiteStore::deleteDatabase):
(WebKit::WebExtensionSQLiteStore::vacuum):
(WebKit::WebExtensionSQLiteStore::openDatabaseIfNecessary):
(WebKit::WebExtensionSQLiteStore::openDatabase):
(WebKit::WebExtensionSQLiteStore::isDatabaseOpen):
(WebKit::WebExtensionSQLiteStore::deleteDatabaseFileAtURL):
(WebKit::WebExtensionSQLiteStore::deleteDatabaseIfEmpty):
(WebKit::WebExtensionSQLiteStore::handleSchemaVersioning):
(WebKit::WebExtensionSQLiteStore::migrateToCurrentSchemaVersionIfNeeded):
(WebKit::WebExtensionSQLiteStore::databaseSchemaVersion):
(WebKit::WebExtensionSQLiteStore::setDatabaseSchemaVersion):
(WebKit::WebExtensionSQLiteStore::savepointNameFromUUID):
(WebKit::WebExtensionSQLiteStore::createSavepoint):
(WebKit::WebExtensionSQLiteStore::commitSavepoint):
(WebKit::WebExtensionSQLiteStore::rollbackToSavepoint):
* Source/WebKit/Shared/Extensions/WebExtensionSQLiteStore.h: Added.
(WebKit::WebExtensionSQLiteStore::~WebExtensionSQLiteStore):
(WebKit::WebExtensionSQLiteStore::useInMemoryDatabase):
(WebKit::WebExtensionSQLiteStore::queue):
(WebKit::WebExtensionSQLiteStore::database):
(WebKit::WebExtensionSQLiteStore::uniqueIdentifier):
(WebKit::WebExtensionSQLiteStore::lastErrorMessage):
(WebKit::WebExtensionSQLiteStore::directory):
* Source/WebKit/Sources.txt:
* Source/WebKit/UnifiedSources-output.xcfilelist:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/Scripts/webkitpy/style/checker.py:
Canonical link: https://commits.webkit.org/289200@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