Modern IDB: Land empty IDBCursor/Index IDL implementations.
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Nov 2015 22:24:14 +0000 (22:24 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Nov 2015 22:24:14 +0000 (22:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=150839

Reviewed by Alex Christensen.

No new tests (No change in behavior).

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBIndex.h:

* Modules/indexeddb/client/IDBCursorImpl.cpp: Added.
(WebCore::IDBClient::IDBCursor::~IDBCursor):
(WebCore::IDBClient::IDBCursor::direction):
(WebCore::IDBClient::IDBCursor::key):
(WebCore::IDBClient::IDBCursor::primaryKey):
(WebCore::IDBClient::IDBCursor::value):
(WebCore::IDBClient::IDBCursor::source):
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::advance):
(WebCore::IDBClient::IDBCursor::continueFunction):
(WebCore::IDBClient::IDBCursor::deleteFunction):
* Modules/indexeddb/client/IDBCursorImpl.h: Added.

* Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
* Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.

* Modules/indexeddb/client/IDBIndexImpl.cpp: Added.
(WebCore::IDBClient::IDBIndex::~IDBIndex):
(WebCore::IDBClient::IDBIndex::name):
(WebCore::IDBClient::IDBIndex::objectStore):
(WebCore::IDBClient::IDBIndex::keyPathAny):
(WebCore::IDBClient::IDBIndex::keyPath):
(WebCore::IDBClient::IDBIndex::unique):
(WebCore::IDBClient::IDBIndex::multiEntry):
(WebCore::IDBClient::IDBIndex::openCursor):
(WebCore::IDBClient::IDBIndex::count):
(WebCore::IDBClient::IDBIndex::openKeyCursor):
(WebCore::IDBClient::IDBIndex::get):
(WebCore::IDBClient::IDBIndex::getKey):
* Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.

* Modules/indexeddb/legacy/LegacyIndex.h:
(WebCore::LegacyIndex::id):

* Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
* Modules/indexeddb/shared/IDBIndexInfo.h: Added.
(WebCore::IDBIndexInfo::name):
(WebCore::IDBIndexInfo::keyPath):
(WebCore::IDBIndexInfo::unique):
(WebCore::IDBIndexInfo::multiEntry):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBIndex.h
Source/WebCore/Modules/indexeddb/client/IDBCursorImpl.cpp [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/client/IDBCursorImpl.h [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/client/IDBCursorWithValueImpl.cpp [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/client/IDBCursorWithValueImpl.h [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/client/IDBIndexImpl.cpp [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/client/IDBIndexImpl.h [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/legacy/LegacyIndex.h
Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.cpp [new file with mode: 0644]
Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h [new file with mode: 0644]
Source/WebCore/WebCore.xcodeproj/project.pbxproj

index b52dace264fd5babc5f9970e28d3b9ae2edda16f..ab9afd9135b1148d911298a051fe15d33994c393 100644 (file)
@@ -867,8 +867,11 @@ set(WebCore_SOURCES
 
     Modules/indexeddb/client/IDBAnyImpl.cpp
     Modules/indexeddb/client/IDBConnectionToServer.cpp
+    Modules/indexeddb/client/IDBCursorImpl.cpp
+    Modules/indexeddb/client/IDBCursorWithValueImpl.cpp
     Modules/indexeddb/client/IDBDatabaseImpl.cpp
     Modules/indexeddb/client/IDBFactoryImpl.cpp
+    Modules/indexeddb/client/IDBIndexImpl.cpp
     Modules/indexeddb/client/IDBObjectStoreImpl.cpp
     Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp
     Modules/indexeddb/client/IDBRequestImpl.cpp
@@ -908,6 +911,7 @@ set(WebCore_SOURCES
 
     Modules/indexeddb/shared/IDBDatabaseInfo.cpp
     Modules/indexeddb/shared/IDBError.cpp
+    Modules/indexeddb/shared/IDBIndexInfo.cpp
     Modules/indexeddb/shared/IDBObjectStoreInfo.cpp
     Modules/indexeddb/shared/IDBRequestData.cpp
     Modules/indexeddb/shared/IDBResourceIdentifier.cpp
index 5b5e3276923fe0508a5997102133930a0b3ad29d..324e9d2b3da9ff5b2fa5914a3ecf3c659b93dd0e 100644 (file)
@@ -1,3 +1,58 @@
+2015-11-03  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB: Land empty IDBCursor/Index IDL implementations.
+        https://bugs.webkit.org/show_bug.cgi?id=150839
+
+        Reviewed by Alex Christensen.
+
+        No new tests (No change in behavior).
+
+        * CMakeLists.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+        * Modules/indexeddb/IDBIndex.h:
+        
+        * Modules/indexeddb/client/IDBCursorImpl.cpp: Added.
+        (WebCore::IDBClient::IDBCursor::~IDBCursor):
+        (WebCore::IDBClient::IDBCursor::direction):
+        (WebCore::IDBClient::IDBCursor::key):
+        (WebCore::IDBClient::IDBCursor::primaryKey):
+        (WebCore::IDBClient::IDBCursor::value):
+        (WebCore::IDBClient::IDBCursor::source):
+        (WebCore::IDBClient::IDBCursor::update):
+        (WebCore::IDBClient::IDBCursor::advance):
+        (WebCore::IDBClient::IDBCursor::continueFunction):
+        (WebCore::IDBClient::IDBCursor::deleteFunction):
+        * Modules/indexeddb/client/IDBCursorImpl.h: Added.
+        
+        * Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
+        * Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.
+        
+        * Modules/indexeddb/client/IDBIndexImpl.cpp: Added.
+        (WebCore::IDBClient::IDBIndex::~IDBIndex):
+        (WebCore::IDBClient::IDBIndex::name):
+        (WebCore::IDBClient::IDBIndex::objectStore):
+        (WebCore::IDBClient::IDBIndex::keyPathAny):
+        (WebCore::IDBClient::IDBIndex::keyPath):
+        (WebCore::IDBClient::IDBIndex::unique):
+        (WebCore::IDBClient::IDBIndex::multiEntry):
+        (WebCore::IDBClient::IDBIndex::openCursor):
+        (WebCore::IDBClient::IDBIndex::count):
+        (WebCore::IDBClient::IDBIndex::openKeyCursor):
+        (WebCore::IDBClient::IDBIndex::get):
+        (WebCore::IDBClient::IDBIndex::getKey):
+        * Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.
+        
+        * Modules/indexeddb/legacy/LegacyIndex.h:
+        (WebCore::LegacyIndex::id):
+        
+        * Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
+        * Modules/indexeddb/shared/IDBIndexInfo.h: Added.
+        (WebCore::IDBIndexInfo::name):
+        (WebCore::IDBIndexInfo::keyPath):
+        (WebCore::IDBIndexInfo::unique):
+        (WebCore::IDBIndexInfo::multiEntry):
+
 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
 
         Addressing post-review comments on r191934.
index 5c87f728dddecfd8c6fef1930c3cfb905be9ad52..7eba3e2dfda5dbe3fc2763759129ee7e6e3f592a 100644 (file)
@@ -48,13 +48,12 @@ public:
     virtual ~IDBIndex() { }
 
     // Implement the IDL
-    virtual const String name() const = 0;
+    virtual const String& name() const = 0;
     virtual RefPtr<IDBObjectStore> objectStore() const = 0;
     virtual RefPtr<IDBAny> keyPathAny() const = 0;
-    virtual const IDBKeyPath keyPath() const = 0;
+    virtual const IDBKeyPath& keyPath() const = 0;
     virtual bool unique() const = 0;
     virtual bool multiEntry() const = 0;
-    virtual int64_t id() const = 0;
 
     virtual RefPtr<IDBRequest> openCursor(ScriptExecutionContext*, ExceptionCode&) = 0;
     virtual RefPtr<IDBRequest> openCursor(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&) = 0;
diff --git a/Source/WebCore/Modules/indexeddb/client/IDBCursorImpl.cpp b/Source/WebCore/Modules/indexeddb/client/IDBCursorImpl.cpp
new file mode 100644 (file)
index 0000000..4aae81e
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2015 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 "IDBCursorImpl.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+namespace IDBClient {
+
+IDBCursor::~IDBCursor()
+{
+}
+
+const String& IDBCursor::direction() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+const Deprecated::ScriptValue& IDBCursor::key() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+const Deprecated::ScriptValue& IDBCursor::primaryKey() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+const Deprecated::ScriptValue& IDBCursor::value() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+IDBAny* IDBCursor::source() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBCursor::update(JSC::ExecState&, Deprecated::ScriptValue&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+void IDBCursor::advance(unsigned long, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+void IDBCursor::continueFunction(ScriptExecutionContext*, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+void IDBCursor::continueFunction(ScriptExecutionContext*, const Deprecated::ScriptValue&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBCursor::deleteFunction(ScriptExecutionContext*, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/client/IDBCursorImpl.h b/Source/WebCore/Modules/indexeddb/client/IDBCursorImpl.h
new file mode 100644 (file)
index 0000000..e89b91b
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 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 IDBCursorImpl_h
+#define IDBCursorImpl_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include "IDBCursorWithValue.h"
+
+namespace WebCore {
+namespace IDBClient {
+
+class IDBCursor : public WebCore::IDBCursorWithValue {
+public:
+    virtual ~IDBCursor();
+
+    // Implement the IDL
+    virtual const String& direction() const override final;
+    virtual const Deprecated::ScriptValue& key() const override final;
+    virtual const Deprecated::ScriptValue& primaryKey() const override final;
+    virtual const Deprecated::ScriptValue& value() const override final;
+    virtual IDBAny* source() const override final;
+
+    virtual RefPtr<IDBRequest> update(JSC::ExecState&, Deprecated::ScriptValue&, ExceptionCode&) override final;
+    virtual void advance(unsigned long, ExceptionCode&) override final;
+    virtual void continueFunction(ScriptExecutionContext*, ExceptionCode&) override final;
+    virtual void continueFunction(ScriptExecutionContext*, const Deprecated::ScriptValue& key, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> deleteFunction(ScriptExecutionContext*, ExceptionCode&) override final;
+
+protected:
+    IDBCursor();
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBCursorImpl_h
diff --git a/Source/WebCore/Modules/indexeddb/client/IDBCursorWithValueImpl.cpp b/Source/WebCore/Modules/indexeddb/client/IDBCursorWithValueImpl.cpp
new file mode 100644 (file)
index 0000000..4d32e75
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2015 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 "IDBCursorWithValueImpl.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/client/IDBCursorWithValueImpl.h b/Source/WebCore/Modules/indexeddb/client/IDBCursorWithValueImpl.h
new file mode 100644 (file)
index 0000000..4b18f29
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 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 IDBCursorWithValueImpl_h
+#define IDBCursorWithValueImpl_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include "IDBCursorWithValue.h"
+
+namespace WebCore {
+namespace IDBClient {
+
+class IDBCursorWithValue : public IDBCursor {
+public:
+    virtual ~IDBCursorWithValue();
+
+private:
+    IDBCursorWithValue();
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBCursorWithValueImpl_h
diff --git a/Source/WebCore/Modules/indexeddb/client/IDBIndexImpl.cpp b/Source/WebCore/Modules/indexeddb/client/IDBIndexImpl.cpp
new file mode 100644 (file)
index 0000000..1a46b96
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2015 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 "IDBIndexImpl.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+namespace IDBClient {
+
+IDBIndex::~IDBIndex()
+{
+}
+
+const String& IDBIndex::name() const
+{
+    return m_info.name();
+}
+
+RefPtr<IDBObjectStore> IDBIndex::objectStore() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBAny> IDBIndex::keyPathAny() const
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+const IDBKeyPath& IDBIndex::keyPath() const
+{
+    return m_info.keyPath();
+}
+
+bool IDBIndex::unique() const
+{
+    return m_info.unique();
+}
+
+bool IDBIndex::multiEntry() const
+{
+    return m_info.multiEntry();
+}
+
+RefPtr<IDBRequest> IDBIndex::openCursor(ScriptExecutionContext*, IDBKeyRange*, const String&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::openCursor(ScriptExecutionContext*, const Deprecated::ScriptValue&, const String&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::count(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::count(ScriptExecutionContext*, const Deprecated::ScriptValue&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::openKeyCursor(ScriptExecutionContext*, IDBKeyRange*, const String&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::openKeyCursor(ScriptExecutionContext*, const Deprecated::ScriptValue&, const String&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::get(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::get(ScriptExecutionContext*, const Deprecated::ScriptValue&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::getKey(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+RefPtr<IDBRequest> IDBIndex::getKey(ScriptExecutionContext*, const Deprecated::ScriptValue&, ExceptionCode&)
+{
+    RELEASE_ASSERT_NOT_REACHED();
+}
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/client/IDBIndexImpl.h b/Source/WebCore/Modules/indexeddb/client/IDBIndexImpl.h
new file mode 100644 (file)
index 0000000..48c2de3
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2015 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 IDBIndexImpl_h
+#define IDBIndexImpl_h
+
+#include "IDBIndex.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include "IDBIndexInfo.h"
+
+namespace WebCore {
+namespace IDBClient {
+
+class IDBIndex : public WebCore::IDBIndex {
+public:
+    virtual ~IDBIndex();
+
+    // Implement the IDL
+    virtual const String& name() const override final;
+    virtual RefPtr<IDBObjectStore> objectStore() const override final;
+    virtual RefPtr<IDBAny> keyPathAny() const override final;
+    virtual const IDBKeyPath& keyPath() const override final;
+    virtual bool unique() const override final;
+    virtual bool multiEntry() const override final;
+
+    virtual RefPtr<IDBRequest> openCursor(ScriptExecutionContext*, IDBKeyRange*, const String& direction, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> openCursor(ScriptExecutionContext*, const Deprecated::ScriptValue& key, const String& direction, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> count(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> count(ScriptExecutionContext*, const Deprecated::ScriptValue& key, ExceptionCode&) override final;
+
+    virtual RefPtr<IDBRequest> openKeyCursor(ScriptExecutionContext*, IDBKeyRange*, const String& direction, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> openKeyCursor(ScriptExecutionContext*, const Deprecated::ScriptValue& key, const String& direction, ExceptionCode&) override final;
+
+    virtual RefPtr<IDBRequest> get(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> get(ScriptExecutionContext*, const Deprecated::ScriptValue& key, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> getKey(ScriptExecutionContext*, IDBKeyRange*, ExceptionCode&) override final;
+    virtual RefPtr<IDBRequest> getKey(ScriptExecutionContext*, const Deprecated::ScriptValue& key, ExceptionCode&) override final;
+
+private:
+    IDBIndexInfo m_info;
+};
+
+} // namespace IDBClient
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBIndexImpl_h
index 55b622f65568f251ee075195675b02d1bfca37f8..ecfee143f3354f61ad18d1e2281bc61a8f0062bb 100644 (file)
@@ -55,14 +55,14 @@ public:
     ~LegacyIndex();
 
     // Implement the IDL
-    virtual const String name() const override final { return m_metadata.name; }
+    virtual const String& name() const override final { return m_metadata.name; }
     virtual RefPtr<IDBObjectStore> objectStore() const override final { return m_objectStore; }
     LegacyObjectStore* legacyObjectStore() const { return m_objectStore.get(); }
     virtual RefPtr<IDBAny> keyPathAny() const override final { return LegacyAny::create(m_metadata.keyPath); }
-    virtual const IDBKeyPath keyPath() const override final { return m_metadata.keyPath; }
+    virtual const IDBKeyPath& keyPath() const override final { return m_metadata.keyPath; }
     virtual bool unique() const override final { return m_metadata.unique; }
     virtual bool multiEntry() const override final { return m_metadata.multiEntry; }
-    virtual int64_t id() const override final { return m_metadata.id; }
+    int64_t id() const { return m_metadata.id; }
 
     // FIXME: Try to modify the code generator so this is unneeded.
     virtual RefPtr<IDBRequest> openCursor(ScriptExecutionContext* context, ExceptionCode& ec) override final { return openCursor(context, static_cast<IDBKeyRange*>(nullptr), ec); }
diff --git a/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.cpp b/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.cpp
new file mode 100644 (file)
index 0000000..69dbf95
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2015 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 "IDBIndexInfo.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h b/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.h
new file mode 100644 (file)
index 0000000..d9f7ff1
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2015 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 IDBIndexInfo_h
+#define IDBIndexInfo_h
+
+#if ENABLE(INDEXED_DATABASE)
+
+#include "IDBKeyPath.h"
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class IDBIndexInfo {
+public:
+    const String& name() const { return m_name; }
+    const IDBKeyPath& keyPath() const { return m_keyPath; }
+    bool unique() const { return m_unique; }
+    bool multiEntry() const { return m_multiEntry; }
+
+private:
+    IDBIndexInfo();
+
+    String m_name;
+    IDBKeyPath m_keyPath;
+    bool m_unique { true };
+    bool m_multiEntry { false };
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
+#endif // IDBIndexInfo_h
index 50b9cde365e699ef459783b6b0805f94ed4e7915..eef297f624415c9444a45b7752b2a84b64068461 100644 (file)
                51F41A7A1BA73B5B002E053B /* IDBPendingOpenCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F41A511BA73B2C002E053B /* IDBPendingOpenCall.h */; settings = {ATTRIBUTES = (Private, ); }; };
                51F41A7B1BA73B5B002E053B /* IDBPendingTransactionMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51645B3C1B9F68CF00F789CE /* IDBPendingTransactionMonitor.cpp */; };
                51F41A7C1BA73B5B002E053B /* IDBPendingTransactionMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51645B3D1B9F68CF00F789CE /* IDBPendingTransactionMonitor.h */; };
+               51F798E51BE88092008AE491 /* IDBCursorImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F798E11BE88084008AE491 /* IDBCursorImpl.cpp */; };
+               51F798E61BE88092008AE491 /* IDBCursorImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F798E21BE88084008AE491 /* IDBCursorImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               51F798E71BE88092008AE491 /* IDBIndexImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F798E31BE88084008AE491 /* IDBIndexImpl.cpp */; };
+               51F798E81BE88092008AE491 /* IDBIndexImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F798E41BE88084008AE491 /* IDBIndexImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               51F798EF1BE880E7008AE491 /* IDBIndexInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F798EB1BE880D3008AE491 /* IDBIndexInfo.cpp */; };
+               51F798F01BE880E7008AE491 /* IDBIndexInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F798EC1BE880D3008AE491 /* IDBIndexInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               51F798F31BE88394008AE491 /* IDBCursorWithValueImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F798F11BE8838D008AE491 /* IDBCursorWithValueImpl.cpp */; };
+               51F798F41BE88394008AE491 /* IDBCursorWithValueImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F798F21BE8838D008AE491 /* IDBCursorWithValueImpl.h */; settings = {ATTRIBUTES = (Private, ); }; };
                51FA2D78152132B300C1BA0B /* DOMWindowExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 517FBA18151AA71B00B57959 /* DOMWindowExtension.h */; settings = {ATTRIBUTES = (Private, ); }; };
                51FB5504113E3E9100821176 /* JSCloseEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FB5502113E3E9100821176 /* JSCloseEvent.h */; };
                51FB5505113E3E9100821176 /* JSCloseEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51FB5503113E3E9100821176 /* JSCloseEvent.cpp */; };
                51F41A571BA73B2C002E053B /* IDBTransactionCoordinator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBTransactionCoordinator.h; sourceTree = "<group>"; };
                51F6A3D50663BF04004D2919 /* HTMLCanvasElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLCanvasElement.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                51F6A3D60663BF04004D2919 /* HTMLCanvasElement.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = HTMLCanvasElement.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
+               51F798E11BE88084008AE491 /* IDBCursorImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursorImpl.cpp; sourceTree = "<group>"; };
+               51F798E21BE88084008AE491 /* IDBCursorImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCursorImpl.h; sourceTree = "<group>"; };
+               51F798E31BE88084008AE491 /* IDBIndexImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBIndexImpl.cpp; sourceTree = "<group>"; };
+               51F798E41BE88084008AE491 /* IDBIndexImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndexImpl.h; sourceTree = "<group>"; };
+               51F798EB1BE880D3008AE491 /* IDBIndexInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBIndexInfo.cpp; sourceTree = "<group>"; };
+               51F798EC1BE880D3008AE491 /* IDBIndexInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBIndexInfo.h; sourceTree = "<group>"; };
+               51F798F11BE8838D008AE491 /* IDBCursorWithValueImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBCursorWithValueImpl.cpp; sourceTree = "<group>"; };
+               51F798F21BE8838D008AE491 /* IDBCursorWithValueImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCursorWithValueImpl.h; sourceTree = "<group>"; };
                51FB5502113E3E9100821176 /* JSCloseEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCloseEvent.h; sourceTree = "<group>"; };
                51FB5503113E3E9100821176 /* JSCloseEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCloseEvent.cpp; sourceTree = "<group>"; };
                51FB67D91AE6B5E400D06C5A /* ContentExtensionStyleSheet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContentExtensionStyleSheet.cpp; sourceTree = "<group>"; };
                                5185FCBC1BB5CB770012898F /* IDBConnectionToServer.cpp */,
                                510A58FD1BB07A9600C19282 /* IDBConnectionToServer.h */,
                                5185FCBD1BB5CB770012898F /* IDBConnectionToServerDelegate.h */,
+                               51F798E11BE88084008AE491 /* IDBCursorImpl.cpp */,
+                               51F798E21BE88084008AE491 /* IDBCursorImpl.h */,
+                               51F798F11BE8838D008AE491 /* IDBCursorWithValueImpl.cpp */,
+                               51F798F21BE8838D008AE491 /* IDBCursorWithValueImpl.h */,
                                5198F7AE1BBDF59200E2CC5F /* IDBDatabaseImpl.cpp */,
                                5198F7AF1BBDF59200E2CC5F /* IDBDatabaseImpl.h */,
                                5103104A1BA8C6A6003329C0 /* IDBFactoryImpl.cpp */,
                                5103104B1BA8C6A6003329C0 /* IDBFactoryImpl.h */,
+                               51F798E31BE88084008AE491 /* IDBIndexImpl.cpp */,
+                               51F798E41BE88084008AE491 /* IDBIndexImpl.h */,
                                516071291BD8305300DBC4F2 /* IDBObjectStoreImpl.cpp */,
                                5160712A1BD8305300DBC4F2 /* IDBObjectStoreImpl.h */,
                                510310561BA8DB30003329C0 /* IDBOpenDBRequestImpl.cpp */,
                                51BA4AC21BBB5CBF00DF3D6D /* IDBDatabaseInfo.h */,
                                5148453C1BB9D076006A72ED /* IDBError.cpp */,
                                5148453D1BB9D076006A72ED /* IDBError.h */,
+                               51F798EB1BE880D3008AE491 /* IDBIndexInfo.cpp */,
+                               51F798EC1BE880D3008AE491 /* IDBIndexInfo.h */,
                                5160712C1BD8307200DBC4F2 /* IDBObjectStoreInfo.cpp */,
                                5160712D1BD8307200DBC4F2 /* IDBObjectStoreInfo.h */,
                                510A58F51BACC4A500C19282 /* IDBRequestData.cpp */,
                                A4226E991163D7CC008B8397 /* DOMHTMLProgressElementInternal.h in Headers */,
                                85183B4A0AA6926100F19FA3 /* DOMHTMLQuoteElement.h in Headers */,
                                85E711C40AC5D5350053270F /* DOMHTMLQuoteElementInternal.h in Headers */,
+                               51F798E61BE88092008AE491 /* IDBCursorImpl.h in Headers */,
                                85DF819B0AA77E4B00486AD7 /* DOMHTMLScriptElement.h in Headers */,
                                85E711C50AC5D5350053270F /* DOMHTMLScriptElementInternal.h in Headers */,
                                85F32AF00AA63B8700FF3184 /* DOMHTMLSelectElement.h in Headers */,
                                A83B78FC0CCAFF15000B0825 /* JSSVGFontFaceUriElement.h in Headers */,
                                B2FA3D990AB75A6F000E5AC4 /* JSSVGForeignObjectElement.h in Headers */,
                                B2FA3D9B0AB75A6F000E5AC4 /* JSSVGGElement.h in Headers */,
+                               51F798F41BE88394008AE491 /* IDBCursorWithValueImpl.h in Headers */,
                                B27B28280CEF0C0700D39D54 /* JSSVGGlyphElement.h in Headers */,
                                24D9129A13CA971400D21915 /* JSSVGGlyphRefElement.h in Headers */,
                                B2FA3D9D0AB75A6F000E5AC4 /* JSSVGGradientElement.h in Headers */,
                                BCEA4880097D93020094C9E4 /* RenderObject.h in Headers */,
                                BCFA930810333193007B25D1 /* RenderOverflow.h in Headers */,
                                A43BF59D1149292800C643CA /* RenderProgress.h in Headers */,
+                               51F798E81BE88092008AE491 /* IDBIndexImpl.h in Headers */,
                                B5B65874186FDE4C009C26E8 /* RenderPtr.h in Headers */,
                                5A574F25131DB93900471B88 /* RenderQuote.h in Headers */,
                                D70AD65813E1342B005B50B4 /* RenderRegion.h in Headers */,
                                854FE7370A2297BE0058D7AD /* Traversal.h in Headers */,
                                37FD4298118368460093C029 /* TreeDepthLimit.h in Headers */,
                                14D64B5D134A5B6B00E58FDA /* TreeScope.h in Headers */,
+                               51F798F01BE880E7008AE491 /* IDBIndexInfo.h in Headers */,
                                ADBAD6EF1BCDD95700381325 /* ResourceUsageOverlay.h in Headers */,
                                A77E1FF014AACB6E005B7CB6 /* TreeScopeAdopter.h in Headers */,
                                854FE7390A2297BE0058D7AD /* TreeWalker.h in Headers */,
                                84730D841248F0B300D3A9C9 /* FEMorphology.cpp in Sources */,
                                84730D861248F0B300D3A9C9 /* FEOffset.cpp in Sources */,
                                84730D881248F0B300D3A9C9 /* FESpecularLighting.cpp in Sources */,
+                               51F798E51BE88092008AE491 /* IDBCursorImpl.cpp in Sources */,
                                84730D8A1248F0B300D3A9C9 /* FETile.cpp in Sources */,
                                84730D8C1248F0B300D3A9C9 /* FETurbulence.cpp in Sources */,
                                FD31609412B026F700C1A359 /* FFTConvolver.cpp in Sources */,
                                51E3F9D60DA05E1D00250911 /* JSStorage.cpp in Sources */,
                                51D0C5160DAA90B7003B3831 /* JSStorageCustom.cpp in Sources */,
                                51E0BAEA0DA55D4A00A9E417 /* JSStorageEvent.cpp in Sources */,
+                               51F798E71BE88092008AE491 /* IDBIndexImpl.cpp in Sources */,
                                0FF50269102BA9430066F39A /* JSStyleMedia.cpp in Sources */,
                                BCE0139A0C0BEF180043860A /* JSStyleSheet.cpp in Sources */,
                                BC98A27D0C0C9950004BEBF7 /* JSStyleSheetCustom.cpp in Sources */,
                                0783228418013ED800999E0C /* MediaStreamAudioSource.cpp in Sources */,
                                FD671A77159BB07000197559 /* MediaStreamAudioSourceNode.cpp in Sources */,
                                0705851517FB0EEA005F2BCB /* MediaStreamCapabilities.cpp in Sources */,
+                               51F798F31BE88394008AE491 /* IDBCursorWithValueImpl.cpp in Sources */,
                                078E090017D14CEE00420AA1 /* MediaStreamEvent.cpp in Sources */,
                                0711589117DF6F6600EDFE2B /* MediaStreamPrivate.cpp in Sources */,
                                078E090117D14CEE00420AA1 /* MediaStreamRegistry.cpp in Sources */,
                                FD45A953175D3FB800C21EC8 /* Shape.cpp in Sources */,
                                FD45A956175D3FB800C21EC8 /* ShapeOutsideInfo.cpp in Sources */,
                                1AB5EBD0194A1D170059AC70 /* ShapeValue.cpp in Sources */,
+                               51F798EF1BE880E7008AE491 /* IDBIndexInfo.cpp in Sources */,
                                1A4A954D0B4EDCCB002D8C3C /* SharedBuffer.cpp in Sources */,
                                512DD8E30D91E2B4000F89EE /* SharedBufferCF.cpp in Sources */,
                                97B1F02E13B025CA00F5103F /* SharedBufferChunkReader.cpp in Sources */,