Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (194904 => 194905)
--- trunk/Source/WebCore/CMakeLists.txt 2016-01-12 19:17:45 UTC (rev 194904)
+++ trunk/Source/WebCore/CMakeLists.txt 2016-01-12 19:17:55 UTC (rev 194905)
@@ -884,6 +884,7 @@
Modules/indexeddb/server/MemoryIndexCursor.cpp
Modules/indexeddb/server/MemoryObjectStore.cpp
Modules/indexeddb/server/MemoryObjectStoreCursor.cpp
+ Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
Modules/indexeddb/server/ServerOpenDBRequest.cpp
Modules/indexeddb/server/UniqueIDBDatabase.cpp
Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp
Modified: trunk/Source/WebCore/ChangeLog (194904 => 194905)
--- trunk/Source/WebCore/ChangeLog 2016-01-12 19:17:45 UTC (rev 194904)
+++ trunk/Source/WebCore/ChangeLog 2016-01-12 19:17:55 UTC (rev 194905)
@@ -1,5 +1,46 @@
2016-01-12 Brady Eidson <beid...@apple.com>
+ Modern IDB: Check in empty SQLite backing store implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=153022
+
+ Reviewed by Alex Christensen.
+
+ No new tests (No change in behavior).
+
+ Just to get the implementation files in the tree, this backing store currently does nothing
+ other than return errors for every operation.
+
+ * CMakeLists.txt:
+ * WebCore.xcodeproj/project.pbxproj:
+
+ * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: Added.
+ (WebCore::IDBServer::SQLiteIDBBackingStore::SQLiteIDBBackingStore):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::~SQLiteIDBBackingStore):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
+ (WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
+ * Modules/indexeddb/server/SQLiteIDBBackingStore.h: Added.
+
+2016-01-12 Brady Eidson <beid...@apple.com>
+
Modern IDB: storage/indexeddb/dont-wedge.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=152892
Added: trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp (0 => 194905)
--- trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp 2016-01-12 19:17:55 UTC (rev 194905)
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "SQLiteIDBBackingStore.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include "IDBDatabaseException.h"
+#include "NotImplemented.h"
+
+namespace WebCore {
+namespace IDBServer {
+
+SQLiteIDBBackingStore::SQLiteIDBBackingStore(const IDBDatabaseIdentifier& identifier)
+ : m_identifier(identifier)
+{
+}
+
+SQLiteIDBBackingStore::~SQLiteIDBBackingStore()
+{
+}
+
+const IDBDatabaseInfo& SQLiteIDBBackingStore::getOrEstablishDatabaseInfo()
+{
+ if (!m_databaseInfo)
+ m_databaseInfo = std::make_unique<IDBDatabaseInfo>(m_identifier.databaseName(), 0);
+
+ return *m_databaseInfo;
+}
+
+IDBError SQLiteIDBBackingStore::beginTransaction(const IDBTransactionInfo&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::abortTransaction(const IDBResourceIdentifier&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::commitTransaction(const IDBResourceIdentifier&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::createObjectStore(const IDBResourceIdentifier&, const IDBObjectStoreInfo&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::deleteObjectStore(const IDBResourceIdentifier&, const String&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::clearObjectStore(const IDBResourceIdentifier&, uint64_t)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::createIndex(const IDBResourceIdentifier&, const IDBIndexInfo&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::deleteIndex(const IDBResourceIdentifier&, uint64_t, const String&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::keyExistsInObjectStore(const IDBResourceIdentifier&, uint64_t, const IDBKeyData&, bool&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::deleteRange(const IDBResourceIdentifier&, uint64_t, const IDBKeyRangeData&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::addRecord(const IDBResourceIdentifier&, uint64_t, const IDBKeyData&, const ThreadSafeDataBuffer&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::getRecord(const IDBResourceIdentifier&, uint64_t, const IDBKeyRangeData&, ThreadSafeDataBuffer&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::getIndexRecord(const IDBResourceIdentifier&, uint64_t, uint64_t, IndexedDB::IndexRecordType, const IDBKeyRangeData&, IDBGetResult&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::getCount(const IDBResourceIdentifier&, uint64_t, uint64_t, const IDBKeyRangeData&, uint64_t&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::generateKeyNumber(const IDBResourceIdentifier&, uint64_t, uint64_t&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::revertGeneratedKeyNumber(const IDBResourceIdentifier&, uint64_t, uint64_t)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber(const IDBResourceIdentifier&, uint64_t, double)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::openCursor(const IDBResourceIdentifier&, const IDBCursorInfo&, IDBGetResult&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+IDBError SQLiteIDBBackingStore::iterateCursor(const IDBResourceIdentifier&, const IDBResourceIdentifier&, const IDBKeyData&, uint32_t, IDBGetResult&)
+{
+ return { IDBDatabaseException::UnknownError, ASCIILiteral("Not implemented") };
+}
+
+void SQLiteIDBBackingStore::deleteBackingStore()
+{
+ notImplemented();
+}
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
Added: trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.h (0 => 194905)
--- trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.h (rev 0)
+++ trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.h 2016-01-12 19:17:55 UTC (rev 194905)
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef SQLiteIDBBackingStore_h
+#define SQLiteIDBBackingStore_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include "IDBBackingStore.h"
+#include "IDBDatabaseIdentifier.h"
+#include "IDBDatabaseInfo.h"
+
+namespace WebCore {
+namespace IDBServer {
+
+class SQLiteIDBBackingStore : public IDBBackingStore {
+public:
+ SQLiteIDBBackingStore(const IDBDatabaseIdentifier&);
+
+ virtual ~SQLiteIDBBackingStore() override final;
+
+ virtual const IDBDatabaseInfo& getOrEstablishDatabaseInfo() override final;
+
+ virtual IDBError beginTransaction(const IDBTransactionInfo&) override final;
+ virtual IDBError abortTransaction(const IDBResourceIdentifier& transactionIdentifier) override final;
+ virtual IDBError commitTransaction(const IDBResourceIdentifier& transactionIdentifier) override final;
+ virtual IDBError createObjectStore(const IDBResourceIdentifier& transactionIdentifier, const IDBObjectStoreInfo&) override final;
+ virtual IDBError deleteObjectStore(const IDBResourceIdentifier& transactionIdentifier, const String& objectStoreName) override final;
+ virtual IDBError clearObjectStore(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier) override final;
+ virtual IDBError createIndex(const IDBResourceIdentifier& transactionIdentifier, const IDBIndexInfo&) override final;
+ virtual IDBError deleteIndex(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, const String& indexName) override final;
+ virtual IDBError keyExistsInObjectStore(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, const IDBKeyData&, bool& keyExists) override final;
+ virtual IDBError deleteRange(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, const IDBKeyRangeData&) override final;
+ virtual IDBError addRecord(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, const IDBKeyData&, const ThreadSafeDataBuffer& value) override final;
+ virtual IDBError getRecord(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, const IDBKeyRangeData&, ThreadSafeDataBuffer& outValue) override final;
+ virtual IDBError getIndexRecord(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, IndexedDB::IndexRecordType, const IDBKeyRangeData&, IDBGetResult& outValue) override final;
+ virtual IDBError getCount(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, uint64_t indexIdentifier, const IDBKeyRangeData&, uint64_t& outCount) override final;
+ virtual IDBError generateKeyNumber(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, uint64_t& keyNumber) override final;
+ virtual IDBError revertGeneratedKeyNumber(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, uint64_t keyNumber) override final;
+ virtual IDBError maybeUpdateKeyGeneratorNumber(const IDBResourceIdentifier& transactionIdentifier, uint64_t objectStoreIdentifier, double newKeyNumber) override final;
+ virtual IDBError openCursor(const IDBResourceIdentifier& transactionIdentifier, const IDBCursorInfo&, IDBGetResult& outResult) override final;
+ virtual IDBError iterateCursor(const IDBResourceIdentifier& transactionIdentifier, const IDBResourceIdentifier& cursorIdentifier, const IDBKeyData&, uint32_t count, IDBGetResult& outResult) override final;
+
+ virtual void deleteBackingStore() override final;
+
+private:
+ IDBDatabaseIdentifier m_identifier;
+ std::unique_ptr<IDBDatabaseInfo> m_databaseInfo;
+};
+
+} // namespace IDBServer
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // SQLiteIDBBackingStore_h
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (194904 => 194905)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2016-01-12 19:17:45 UTC (rev 194904)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2016-01-12 19:17:55 UTC (rev 194905)
@@ -1952,6 +1952,8 @@
511EF2D117F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CE17F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp */; };
5126E6BB0A2E3B12005C29FA /* IconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5126E6B90A2E3B12005C29FA /* IconDatabase.cpp */; };
5126E6BC0A2E3B12005C29FA /* IconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5126E6BA0A2E3B12005C29FA /* IconDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 512BDB4A1C456FF5006494DF /* SQLiteIDBBackingStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512BDB481C456FAB006494DF /* SQLiteIDBBackingStore.cpp */; };
+ 512BDB4B1C456FFA006494DF /* SQLiteIDBBackingStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 512BDB491C456FAB006494DF /* SQLiteIDBBackingStore.h */; };
512DD8E30D91E2B4000F89EE /* SharedBufferCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512DD8E20D91E2B4000F89EE /* SharedBufferCF.cpp */; };
512DD8F40D91E6AF000F89EE /* LegacyWebArchive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512DD8EA0D91E6AF000F89EE /* LegacyWebArchive.cpp */; };
512DD8F50D91E6AF000F89EE /* LegacyWebArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = 512DD8EB0D91E6AF000F89EE /* LegacyWebArchive.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -9386,6 +9388,8 @@
5123AF1C18918AE40031CDC9 /* IDBGetResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBGetResult.h; sourceTree = "<group>"; };
5126E6B90A2E3B12005C29FA /* IconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = IconDatabase.cpp; sourceTree = "<group>"; };
5126E6BA0A2E3B12005C29FA /* IconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = IconDatabase.h; sourceTree = "<group>"; };
+ 512BDB481C456FAB006494DF /* SQLiteIDBBackingStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLiteIDBBackingStore.cpp; sourceTree = "<group>"; };
+ 512BDB491C456FAB006494DF /* SQLiteIDBBackingStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLiteIDBBackingStore.h; sourceTree = "<group>"; };
512DD8E20D91E2B4000F89EE /* SharedBufferCF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedBufferCF.cpp; sourceTree = "<group>"; };
512DD8EA0D91E6AF000F89EE /* LegacyWebArchive.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LegacyWebArchive.cpp; sourceTree = "<group>"; };
512DD8EB0D91E6AF000F89EE /* LegacyWebArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LegacyWebArchive.h; sourceTree = "<group>"; };
@@ -16969,6 +16973,8 @@
51771DFD1BDB475600CAE8E4 /* MemoryObjectStore.h */,
517139031BF64DE3000D5F01 /* MemoryObjectStoreCursor.cpp */,
517139041BF64DE3000D5F01 /* MemoryObjectStoreCursor.h */,
+ 512BDB481C456FAB006494DF /* SQLiteIDBBackingStore.cpp */,
+ 512BDB491C456FAB006494DF /* SQLiteIDBBackingStore.h */,
516F7F6B1C31C79D00F111DC /* ServerOpenDBRequest.cpp */,
516F7F6C1C31C79D00F111DC /* ServerOpenDBRequest.h */,
518864DE1BBAF30F00E540C9 /* UniqueIDBDatabase.cpp */,
@@ -26443,6 +26449,7 @@
A83B78FC0CCAFF15000B0825 /* JSSVGFontFaceUriElement.h in Headers */,
B2FA3D990AB75A6F000E5AC4 /* JSSVGForeignObjectElement.h in Headers */,
B2FA3D9B0AB75A6F000E5AC4 /* JSSVGGElement.h in Headers */,
+ 512BDB4B1C456FFA006494DF /* SQLiteIDBBackingStore.h in Headers */,
B27B28280CEF0C0700D39D54 /* JSSVGGlyphElement.h in Headers */,
24D9129A13CA971400D21915 /* JSSVGGlyphRefElement.h in Headers */,
B2FA3D9D0AB75A6F000E5AC4 /* JSSVGGradientElement.h in Headers */,
@@ -31045,6 +31052,7 @@
4476531B133170990006B789 /* SSLKeyGeneratorIOS.cpp in Sources */,
93F19AE608245E59001E9ABC /* SSLKeyGeneratorMac.cpp in Sources */,
BC7FA62E0D1F0EFF00DB22A9 /* StaticNodeList.cpp in Sources */,
+ 512BDB4A1C456FF5006494DF /* SQLiteIDBBackingStore.cpp in Sources */,
A5AFB34F115151A700B045CB /* StepRange.cpp in Sources */,
51E3F9C70DA059DC00250911 /* Storage.cpp in Sources */,
51E0BABC0DA5547100A9E417 /* StorageEvent.cpp in Sources */,