More refactoring to make the LevelDB dependencies of IDB more obvious.
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Sep 2013 18:02:58 +0000 (18:02 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Sep 2013 18:02:58 +0000 (18:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=121880

Reviewed by Alexey Proskuryakov.

This patch does three things:
1 - Moves some files to the indexeddb/leveldb subdirectory, renaming them in the process.
2 - Renames some classes.
3 - Adds "USE(LEVELDB)" guards in addition to the ENABLE(INDEXED_DATABASE) guard for those files.

Project file updates:
* GNUmakefile.am:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.xcodeproj/project.pbxproj:
* WebCore.vcxproj/WebCore.vcxproj:

File renames, class renames, and USE(LEVELDB) guards:
* Modules/indexeddb/IDBBackingStore.cpp: Removed.
* Modules/indexeddb/IDBFactoryBackendInterface.cpp:
(WebCore::IDBFactoryBackendInterface::create): Add a null return if USE(LEVELDB) is disabled as a stop gap measure until
  there is a non-LevelDB impl.
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
* Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp.
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h.
* Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
* Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp.
* Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h.
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
* Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp.
* Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h.

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

25 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp [deleted file]
Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.cpp
Source/WebCore/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp
Source/WebCore/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBBackingStore.h with 98% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp [moved from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp with 65% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h with 66% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp [moved from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp with 73% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h with 81% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp [moved from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp with 78% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h with 82% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp
Source/WebCore/Modules/indexeddb/leveldb/IDBLevelDBCoding.h
Source/WebCore/Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp [moved from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp with 72% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h with 74% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp [moved from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp with 78% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h with 80% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp [moved from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp with 72% similarity]
Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h [moved from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h with 67% similarity]
Source/WebCore/Target.pri
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj

index 79c79e6..66794d3 100644 (file)
@@ -5,6 +5,7 @@ set(WebCore_INCLUDE_DIRECTORIES
     "${WEBCORE_DIR}/Modules/gamepad"
     "${WEBCORE_DIR}/Modules/geolocation"
     "${WEBCORE_DIR}/Modules/indexeddb"
+    "${WEBCORE_DIR}/Modules/indexeddb/leveldb"
     "${WEBCORE_DIR}/Modules/indieui"
     "${WEBCORE_DIR}/Modules/mediasource"
     "${WEBCORE_DIR}/Modules/mediastream"
@@ -803,33 +804,33 @@ set(WebCore_SOURCES
     Modules/indexeddb/DOMWindowIndexedDatabase.cpp
     Modules/indexeddb/IDBAny.cpp
     Modules/indexeddb/IDBCursor.cpp
-    Modules/indexeddb/IDBCursorBackendImpl.cpp
     Modules/indexeddb/IDBCursorWithValue.cpp
     Modules/indexeddb/IDBDatabase.cpp
-    Modules/indexeddb/IDBDatabaseBackendImpl.cpp
     Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp
     Modules/indexeddb/IDBDatabaseException.cpp
     Modules/indexeddb/IDBEventDispatcher.cpp
     Modules/indexeddb/IDBFactory.cpp
-    Modules/indexeddb/IDBFactoryBackendImpl.cpp
     Modules/indexeddb/IDBFactoryBackendInterface.cpp
     Modules/indexeddb/IDBIndex.cpp
     Modules/indexeddb/IDBKey.cpp
     Modules/indexeddb/IDBKeyPath.cpp
     Modules/indexeddb/IDBKeyRange.cpp
     Modules/indexeddb/IDBObjectStore.cpp
-    Modules/indexeddb/IDBObjectStoreBackendImpl.cpp
     Modules/indexeddb/IDBOpenDBRequest.cpp
     Modules/indexeddb/IDBPendingTransactionMonitor.cpp
     Modules/indexeddb/IDBRequest.cpp
     Modules/indexeddb/IDBTransaction.cpp
-    Modules/indexeddb/IDBTransactionBackendImpl.cpp
-    Modules/indexeddb/IDBTransactionCoordinator.cpp
     Modules/indexeddb/IDBVersionChangeEvent.cpp
     Modules/indexeddb/PageGroupIndexedDatabase.cpp
     Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp
     Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp
+    Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp
+    Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp
+    Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp
     Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp
+    Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp
+    Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp
+    Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp
 
     Modules/mediasource/MediaSource.cpp
     Modules/mediasource/MediaSourceRegistry.cpp
index 5e132b9..e23cd68 100644 (file)
@@ -1,3 +1,45 @@
+2013-09-25  Brady Eidson  <beidson@apple.com>
+
+        More refactoring to make the LevelDB dependencies of IDB more obvious.
+        https://bugs.webkit.org/show_bug.cgi?id=121880
+
+        Reviewed by Alexey Proskuryakov.
+
+        This patch does three things:
+        1 - Moves some files to the indexeddb/leveldb subdirectory, renaming them in the process.
+        2 - Renames some classes.
+        3 - Adds "USE(LEVELDB)" guards in addition to the ENABLE(INDEXED_DATABASE) guard for those files.
+
+        Project file updates:
+        * GNUmakefile.am:
+        * GNUmakefile.list.am:
+        * Target.pri:
+        * WebCore.xcodeproj/project.pbxproj:
+        * WebCore.vcxproj/WebCore.vcxproj:
+
+        File renames, class renames, and USE(LEVELDB) guards:
+        * Modules/indexeddb/IDBBackingStore.cpp: Removed.
+        * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
+        (WebCore::IDBFactoryBackendInterface::create): Add a null return if USE(LEVELDB) is disabled as a stop gap measure until
+          there is a non-LevelDB impl.
+        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
+        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
+        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
+        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
+        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
+        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
+        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp.
+        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h.
+        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
+        * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
+        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp.
+        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h.
+        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
+        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
+        * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp.
+        * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h.
+
+
 2013-09-25  Antti Koivisto  <antti@apple.com>
 
         REGRESSION (r156355) Links / interactive elements inside nested tables are unclickable
index 729c7e9..9c20ddf 100644 (file)
@@ -14,6 +14,7 @@ webcore_cppflags += \
        -I$(srcdir)/Source/WebCore/Modules/gamepad \
        -I$(srcdir)/Source/WebCore/Modules/geolocation \
        -I$(srcdir)/Source/WebCore/Modules/indexeddb \
+       -I$(srcdir)/Source/WebCore/Modules/indexeddb/leveldb \
        -I$(srcdir)/Source/WebCore/Modules/indieui \
        -I$(srcdir)/Source/WebCore/Modules/mediasource \
        -I$(srcdir)/Source/WebCore/Modules/mediastream \
index 21b648d..a7bc8aa 100644 (file)
@@ -1883,17 +1883,17 @@ webcore_modules_sources += \
        Source/WebCore/Modules/indexeddb/IDBAny.cpp \
        Source/WebCore/Modules/indexeddb/IDBAny.h \
        Source/WebCore/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp \
-       Source/WebCore/Modules/indexeddb/IDBBackingStore.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h \
        Source/WebCore/Modules/indexeddb/IDBCallbacks.h \
-       Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp \
-       Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h \
        Source/WebCore/Modules/indexeddb/IDBCursorBackendInterface.h \
        Source/WebCore/Modules/indexeddb/IDBCursor.cpp \
        Source/WebCore/Modules/indexeddb/IDBCursor.h \
        Source/WebCore/Modules/indexeddb/IDBCursorWithValue.cpp \
        Source/WebCore/Modules/indexeddb/IDBCursorWithValue.h \
-       Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp \
-       Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h \
        Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h \
        Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h \
        Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp \
@@ -1905,8 +1905,8 @@ webcore_modules_sources += \
        Source/WebCore/Modules/indexeddb/IDBDatabase.h \
        Source/WebCore/Modules/indexeddb/IDBEventDispatcher.cpp \
        Source/WebCore/Modules/indexeddb/IDBEventDispatcher.h \
-       Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp \
-       Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h \
        Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.cpp \
        Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h \
        Source/WebCore/Modules/indexeddb/IDBFactory.cpp \
@@ -1923,8 +1923,8 @@ webcore_modules_sources += \
        Source/WebCore/Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp \
        Source/WebCore/Modules/indexeddb/leveldb/IDBLevelDBCoding.h \
        Source/WebCore/Modules/indexeddb/IDBMetadata.h \
-       Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp \
-       Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h \
        Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp \
        Source/WebCore/Modules/indexeddb/IDBObjectStore.h \
        Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp \
@@ -1934,10 +1934,10 @@ webcore_modules_sources += \
        Source/WebCore/Modules/indexeddb/IDBRequest.cpp \
        Source/WebCore/Modules/indexeddb/IDBRequest.h \
        Source/WebCore/Modules/indexeddb/IDBTracing.h \
-       Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp \
-       Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h \
-       Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp \
-       Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp \
+       Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h \
        Source/WebCore/Modules/indexeddb/IDBTransaction.cpp \
        Source/WebCore/Modules/indexeddb/IDBTransaction.h \
        Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.cpp \
diff --git a/Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp b/Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp
deleted file mode 100644 (file)
index caee8d0..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2013 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 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 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 "IDBBackingStore.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-PassRefPtr<IDBBackingStore> IDBBackingStore::open(SecurityOrigin*, const String&, const String&)
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::open is currently empty");
-    return PassRefPtr<IDBBackingStore>();
-}
-
-PassRefPtr<IDBBackingStore> IDBBackingStore::openInMemory(SecurityOrigin*, const String&)
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::openInMemory is currently empty");
-    return PassRefPtr<IDBBackingStore>();
-}
-
-bool IDBBackingStore::getObjectStores(int64_t, IDBDatabaseMetadata::ObjectStoreMap*)
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::getObjectStores is currently empty");
-    return false;
-}
-
-bool IDBBackingStore::Cursor::advance(unsigned long)
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::Cursor::advance is currently empty");
-    return false;
-}
-
-bool IDBBackingStore::Cursor::continueFunction(const IDBKey*, IteratorState)
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::Cursor::continueFunction is currently empty");
-    return false;
-}
-
-IDBBackingStore::Transaction::Transaction(IDBBackingStore* backingStore)
-    : m_backingStore(backingStore)
-{
-}
-
-void IDBBackingStore::Transaction::begin()
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::Transaction::begin is currently empty");
-}
-
-bool IDBBackingStore::Transaction::commit()
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::Transaction::commit is currently empty");
-
-    return false;
-}
-
-void IDBBackingStore::Transaction::rollback()
-{
-    LOG_ERROR("The default implementation of IDBBackingStore::Transaction::rollback is currently empty");
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
index 995e83d..96344eb 100644 (file)
 #include "config.h"
 #include "IDBFactoryBackendInterface.h"
 
-#include "IDBFactoryBackendImpl.h"
-
 #if ENABLE(INDEXED_DATABASE)
 
+#if USE(LEVELDB)
+#include "IDBFactoryBackendLevelDB.h"
+#endif
+
 namespace WebCore {
 
 PassRefPtr<IDBFactoryBackendInterface> IDBFactoryBackendInterface::create()
 {
-    return IDBFactoryBackendImpl::create();
+    // FIXME: Need a better platform abstraction here, but this stop gap will work for now.
+#if USE(LEVELDB)
+    return IDBFactoryBackendLevelDB::create();
+#else
+    return 0;
+#endif
 }
 
 } // namespace WebCore
index 48e0d31..5250549 100644 (file)
@@ -24,9 +24,9 @@
  */
 
 #include "config.h"
-#include "IDBBackingStore.h"
+#include "IDBBackingStoreLevelDB.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 #include "FileSystem.h"
 #include "HistogramSupport.h"
@@ -1993,4 +1993,4 @@ void IDBBackingStore::Transaction::rollback()
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef IDBBackingStore_h
-#define IDBBackingStore_h
+#ifndef IDBBackingStoreLevelDB_h
+#define IDBBackingStoreLevelDB_h
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 #include "IDBKey.h"
 #include "IDBMetadata.h"
@@ -215,6 +215,6 @@ private:
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#endif // IDBBackingStore_h
+#endif // IDBBackingStoreLevelDB_h
  */
 
 #include "config.h"
-#include "IDBCursorBackendImpl.h"
+#include "IDBCursorBackendLevelDB.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBBackingStore.h"
+#include "IDBBackingStoreLevelDB.h"
 #include "IDBCallbacks.h"
-#include "IDBDatabaseBackendImpl.h"
+#include "IDBDatabaseBackendLevelDB.h"
 #include "IDBDatabaseError.h"
 #include "IDBDatabaseException.h"
 #include "IDBKeyRange.h"
 #include "IDBTracing.h"
-#include "IDBTransactionBackendImpl.h"
+#include "IDBTransactionBackendLevelDB.h"
 #include "SharedBuffer.h"
 
 namespace WebCore {
 
-class IDBCursorBackendImpl::CursorIterationOperation : public IDBTransactionBackendImpl::Operation {
+class IDBCursorBackendLevelDB::CursorIterationOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBCursorBackendLevelDB> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new CursorIterationOperation(cursor, key, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    CursorIterationOperation(PassRefPtr<IDBCursorBackendImpl> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
+    CursorIterationOperation(PassRefPtr<IDBCursorBackendLevelDB> cursor, PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
         : m_cursor(cursor)
         , m_key(key)
         , m_callbacks(callbacks)
     {
     }
 
-    RefPtr<IDBCursorBackendImpl> m_cursor;
+    RefPtr<IDBCursorBackendLevelDB> m_cursor;
     RefPtr<IDBKey> m_key;
     RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class IDBCursorBackendImpl::CursorAdvanceOperation : public IDBTransactionBackendImpl::Operation {
+class IDBCursorBackendLevelDB::CursorAdvanceOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBCursorBackendLevelDB> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new CursorAdvanceOperation(cursor, count, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    CursorAdvanceOperation(PassRefPtr<IDBCursorBackendImpl> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks)
+    CursorAdvanceOperation(PassRefPtr<IDBCursorBackendLevelDB> cursor, unsigned long count, PassRefPtr<IDBCallbacks> callbacks)
         : m_cursor(cursor)
         , m_count(count)
         , m_callbacks(callbacks)
     {
     }
 
-    RefPtr<IDBCursorBackendImpl> m_cursor;
+    RefPtr<IDBCursorBackendLevelDB> m_cursor;
     unsigned long m_count;
     RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class IDBCursorBackendImpl::CursorPrefetchIterationOperation : public IDBTransactionBackendImpl::Operation {
+class IDBCursorBackendLevelDB::CursorPrefetchIterationOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBCursorBackendImpl> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBCursorBackendLevelDB> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new CursorPrefetchIterationOperation(cursor, numberToFetch, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    CursorPrefetchIterationOperation(PassRefPtr<IDBCursorBackendImpl> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks)
+    CursorPrefetchIterationOperation(PassRefPtr<IDBCursorBackendLevelDB> cursor, int numberToFetch, PassRefPtr<IDBCallbacks> callbacks)
         : m_cursor(cursor)
         , m_numberToFetch(numberToFetch)
         , m_callbacks(callbacks)
     {
     }
 
-    RefPtr<IDBCursorBackendImpl> m_cursor;
+    RefPtr<IDBCursorBackendLevelDB> m_cursor;
     int m_numberToFetch;
     RefPtr<IDBCallbacks> m_callbacks;
 };
 
-IDBCursorBackendImpl::IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId)
+IDBCursorBackendLevelDB::IDBCursorBackendLevelDB(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendLevelDB* transaction, int64_t objectStoreId)
     : m_taskType(taskType)
     , m_cursorType(cursorType)
     , m_database(transaction->database())
@@ -112,27 +112,27 @@ IDBCursorBackendImpl::IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor> c
     m_transaction->registerOpenCursor(this);
 }
 
-IDBCursorBackendImpl::~IDBCursorBackendImpl()
+IDBCursorBackendLevelDB::~IDBCursorBackendLevelDB()
 {
     m_transaction->unregisterOpenCursor(this);
 }
 
 
-void IDBCursorBackendImpl::continueFunction(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
+void IDBCursorBackendLevelDB::continueFunction(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
 {
-    IDB_TRACE("IDBCursorBackendImpl::continue");
+    IDB_TRACE("IDBCursorBackendLevelDB::continue");
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
     m_transaction->scheduleTask(m_taskType, CursorIterationOperation::create(this, key, callbacks));
 }
 
-void IDBCursorBackendImpl::advance(unsigned long count, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
+void IDBCursorBackendLevelDB::advance(unsigned long count, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
 {
-    IDB_TRACE("IDBCursorBackendImpl::advance");
+    IDB_TRACE("IDBCursorBackendLevelDB::advance");
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
     m_transaction->scheduleTask(CursorAdvanceOperation::create(this, count, callbacks));
 }
 
-void IDBCursorBackendImpl::CursorAdvanceOperation::perform(IDBTransactionBackendImpl*)
+void IDBCursorBackendLevelDB::CursorAdvanceOperation::perform(IDBTransactionBackendLevelDB*)
 {
     IDB_TRACE("CursorAdvanceOperation");
     if (!m_cursor->m_cursor || !m_cursor->m_cursor->advance(m_count)) {
@@ -144,7 +144,7 @@ void IDBCursorBackendImpl::CursorAdvanceOperation::perform(IDBTransactionBackend
     m_callbacks->onSuccess(m_cursor->key(), m_cursor->primaryKey(), m_cursor->value());
 }
 
-void IDBCursorBackendImpl::CursorIterationOperation::perform(IDBTransactionBackendImpl*)
+void IDBCursorBackendLevelDB::CursorIterationOperation::perform(IDBTransactionBackendLevelDB*)
 {
     IDB_TRACE("CursorIterationOperation");
     if (!m_cursor->m_cursor || !m_cursor->m_cursor->continueFunction(m_key.get())) {
@@ -156,22 +156,22 @@ void IDBCursorBackendImpl::CursorIterationOperation::perform(IDBTransactionBacke
     m_callbacks->onSuccess(m_cursor->key(), m_cursor->primaryKey(), m_cursor->value());
 }
 
-void IDBCursorBackendImpl::deleteFunction(PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
+void IDBCursorBackendLevelDB::deleteFunction(PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
 {
-    IDB_TRACE("IDBCursorBackendImpl::delete");
+    IDB_TRACE("IDBCursorBackendLevelDB::delete");
     ASSERT(m_transaction->mode() != IndexedDB::TransactionReadOnly);
     RefPtr<IDBKeyRange> keyRange = IDBKeyRange::create(m_cursor->primaryKey());
     m_database->deleteRange(m_transaction->id(), m_objectStoreId, keyRange.release(), prpCallbacks);
 }
 
-void IDBCursorBackendImpl::prefetchContinue(int numberToFetch, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
+void IDBCursorBackendLevelDB::prefetchContinue(int numberToFetch, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode&)
 {
-    IDB_TRACE("IDBCursorBackendImpl::prefetchContinue");
+    IDB_TRACE("IDBCursorBackendLevelDB::prefetchContinue");
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
     m_transaction->scheduleTask(m_taskType, CursorPrefetchIterationOperation::create(this, numberToFetch, callbacks));
 }
 
-void IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform(IDBTransactionBackendImpl*)
+void IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::perform(IDBTransactionBackendLevelDB*)
 {
     IDB_TRACE("CursorPrefetchIterationOperation");
 
@@ -220,9 +220,9 @@ void IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform(IDBTransact
     m_callbacks->onSuccessWithPrefetch(foundKeys, foundPrimaryKeys, foundValues);
 }
 
-void IDBCursorBackendImpl::prefetchReset(int usedPrefetches, int)
+void IDBCursorBackendLevelDB::prefetchReset(int usedPrefetches, int)
 {
-    IDB_TRACE("IDBCursorBackendImpl::prefetchReset");
+    IDB_TRACE("IDBCursorBackendLevelDB::prefetchReset");
     m_cursor = m_savedCursor;
     m_savedCursor = 0;
 
@@ -236,9 +236,9 @@ void IDBCursorBackendImpl::prefetchReset(int usedPrefetches, int)
     }
 }
 
-void IDBCursorBackendImpl::close()
+void IDBCursorBackendLevelDB::close()
 {
-    IDB_TRACE("IDBCursorBackendImpl::close");
+    IDB_TRACE("IDBCursorBackendLevelDB::close");
     m_closed = true;
     m_cursor.clear();
     m_savedCursor.clear();
@@ -246,4 +246,4 @@ void IDBCursorBackendImpl::close()
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
  */
 
 
-#ifndef IDBCursorBackendImpl_h
-#define IDBCursorBackendImpl_h
+#ifndef IDBCursorBackendLevelDB_h
+#define IDBCursorBackendLevelDB_h
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBBackingStore.h"
+#include "IDBBackingStoreLevelDB.h"
 #include "IDBCursorBackendInterface.h"
-#include "IDBTransactionBackendImpl.h"
+#include "IDBTransactionBackendLevelDB.h"
 #include "SharedBuffer.h"
 #include <wtf/OwnPtr.h>
 #include <wtf/PassOwnPtr.h>
 
 namespace WebCore {
 
-class IDBDatabaseBackendImpl;
+class IDBDatabaseBackendLevelDB;
 class IDBKeyRange;
 
-class IDBCursorBackendImpl : public IDBCursorBackendInterface {
+class IDBCursorBackendLevelDB : public IDBCursorBackendInterface {
 public:
-    static PassRefPtr<IDBCursorBackendImpl> create(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId)
+    static PassRefPtr<IDBCursorBackendLevelDB> create(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBTransactionBackendLevelDB* transaction, int64_t objectStoreId)
     {
-        return adoptRef(new IDBCursorBackendImpl(cursor, cursorType, IDBDatabaseBackendInterface::NormalTask, transaction, objectStoreId));
+        return adoptRef(new IDBCursorBackendLevelDB(cursor, cursorType, IDBDatabaseBackendInterface::NormalTask, transaction, objectStoreId));
     }
-    static PassRefPtr<IDBCursorBackendImpl> create(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId)
+    static PassRefPtr<IDBCursorBackendLevelDB> create(PassRefPtr<IDBBackingStore::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendLevelDB* transaction, int64_t objectStoreId)
     {
-        return adoptRef(new IDBCursorBackendImpl(cursor, cursorType, taskType, transaction, objectStoreId));
+        return adoptRef(new IDBCursorBackendLevelDB(cursor, cursorType, taskType, transaction, objectStoreId));
     }
-    virtual ~IDBCursorBackendImpl();
+    virtual ~IDBCursorBackendLevelDB();
 
     // IDBCursorBackendInterface
     virtual void advance(unsigned long, PassRefPtr<IDBCallbacks>, ExceptionCode&);
@@ -68,7 +68,7 @@ public:
     void close();
 
 private:
-    IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor>, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, IDBTransactionBackendImpl*, int64_t objectStoreId);
+    IDBCursorBackendLevelDB(PassRefPtr<IDBBackingStore::Cursor>, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, IDBTransactionBackendLevelDB*, int64_t objectStoreId);
 
     class CursorIterationOperation;
     class CursorAdvanceOperation;
@@ -76,8 +76,8 @@ private:
 
     IDBDatabaseBackendInterface::TaskType m_taskType;
     IndexedDB::CursorType m_cursorType;
-    const RefPtr<IDBDatabaseBackendImpl> m_database;
-    const RefPtr<IDBTransactionBackendImpl> m_transaction;
+    const RefPtr<IDBDatabaseBackendLevelDB> m_database;
+    const RefPtr<IDBTransactionBackendLevelDB> m_transaction;
     const int64_t m_objectStoreId;
 
     RefPtr<IDBBackingStore::Cursor> m_cursor; // Must be destroyed before m_transaction.
@@ -88,6 +88,6 @@ private:
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#endif // IDBCursorBackendImpl_h
+#endif // IDBCursorBackendLevelDB_h
  */
 
 #include "config.h"
-#include "IDBDatabaseBackendImpl.h"
+#include "IDBDatabaseBackendLevelDB.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBBackingStore.h"
-#include "IDBCursorBackendImpl.h"
+#include "IDBBackingStoreLevelDB.h"
+#include "IDBCursorBackendLevelDB.h"
 #include "IDBDatabaseException.h"
-#include "IDBFactoryBackendImpl.h"
+#include "IDBFactoryBackendLevelDB.h"
 #include "IDBKeyRange.h"
-#include "IDBObjectStoreBackendImpl.h"
+#include "IDBObjectStoreBackendLevelDB.h"
 #include "IDBTracing.h"
-#include "IDBTransactionBackendImpl.h"
-#include "IDBTransactionCoordinator.h"
+#include "IDBTransactionBackendLevelDB.h"
+#include "IDBTransactionCoordinatorLevelDB.h"
 #include "SharedBuffer.h"
 #include <wtf/TemporaryChange.h>
 
 namespace WebCore {
 
-class CreateObjectStoreOperation : public IDBTransactionBackendImpl::Operation {
+class CreateObjectStoreOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
     {
         return adoptPtr(new CreateObjectStoreOperation(backingStore, objectStoreMetadata));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     CreateObjectStoreOperation(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
         : m_backingStore(backingStore)
@@ -60,13 +60,13 @@ private:
     const IDBObjectStoreMetadata m_objectStoreMetadata;
 };
 
-class DeleteObjectStoreOperation : public IDBTransactionBackendImpl::Operation {
+class DeleteObjectStoreOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
     {
         return adoptPtr(new DeleteObjectStoreOperation(backingStore, objectStoreMetadata));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     DeleteObjectStoreOperation(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
         : m_backingStore(backingStore)
@@ -78,15 +78,15 @@ private:
     const IDBObjectStoreMetadata m_objectStoreMetadata;
 };
 
-class IDBDatabaseBackendImpl::VersionChangeOperation : public IDBTransactionBackendImpl::Operation {
+class IDBDatabaseBackendLevelDB::VersionChangeOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t transactionId, int64_t version, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t transactionId, int64_t version, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks)
     {
         return adoptPtr(new VersionChangeOperation(database, transactionId, version, callbacks, databaseCallbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    VersionChangeOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t transactionId, int64_t version, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks)
+    VersionChangeOperation(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t transactionId, int64_t version, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks)
         : m_database(database)
         , m_transactionId(transactionId)
         , m_version(version)
@@ -95,76 +95,76 @@ private:
     {
     }
 
-    RefPtr<IDBDatabaseBackendImpl> m_database;
+    RefPtr<IDBDatabaseBackendLevelDB> m_database;
     int64_t m_transactionId;
     int64_t m_version;
     RefPtr<IDBCallbacks> m_callbacks;
     RefPtr<IDBDatabaseCallbacks> m_databaseCallbacks;
 };
 
-class CreateObjectStoreAbortOperation : public IDBTransactionBackendImpl::Operation {
+class CreateObjectStoreAbortOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t objectStoreId)
     {
         return adoptPtr(new CreateObjectStoreAbortOperation(database, objectStoreId));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    CreateObjectStoreAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId)
+    CreateObjectStoreAbortOperation(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t objectStoreId)
         : m_database(database)
         , m_objectStoreId(objectStoreId)
     {
     }
 
-    const RefPtr<IDBDatabaseBackendImpl> m_database;
+    const RefPtr<IDBDatabaseBackendLevelDB> m_database;
     const int64_t m_objectStoreId;
 };
 
-class DeleteObjectStoreAbortOperation : public IDBTransactionBackendImpl::Operation {
+class DeleteObjectStoreAbortOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, const IDBObjectStoreMetadata& objectStore)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBDatabaseBackendLevelDB> database, const IDBObjectStoreMetadata& objectStore)
     {
         return adoptPtr(new DeleteObjectStoreAbortOperation(database, objectStore));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    DeleteObjectStoreAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, const IDBObjectStoreMetadata& objectStoreMetadata)
+    DeleteObjectStoreAbortOperation(PassRefPtr<IDBDatabaseBackendLevelDB> database, const IDBObjectStoreMetadata& objectStoreMetadata)
         : m_database(database)
         , m_objectStoreMetadata(objectStoreMetadata)
     {
     }
 
-    RefPtr<IDBDatabaseBackendImpl> m_database;
+    RefPtr<IDBDatabaseBackendLevelDB> m_database;
     IDBObjectStoreMetadata m_objectStoreMetadata;
 };
 
-class IDBDatabaseBackendImpl::VersionChangeAbortOperation : public IDBTransactionBackendImpl::Operation {
+class IDBDatabaseBackendLevelDB::VersionChangeAbortOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, const String& previousVersion, int64_t previousIntVersion)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBDatabaseBackendLevelDB> database, const String& previousVersion, int64_t previousIntVersion)
     {
         return adoptPtr(new VersionChangeAbortOperation(database, previousVersion, previousIntVersion));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    VersionChangeAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, const String& previousVersion, int64_t previousIntVersion)
+    VersionChangeAbortOperation(PassRefPtr<IDBDatabaseBackendLevelDB> database, const String& previousVersion, int64_t previousIntVersion)
         : m_database(database)
         , m_previousVersion(previousVersion)
         , m_previousIntVersion(previousIntVersion)
     {
     }
 
-    RefPtr<IDBDatabaseBackendImpl> m_database;
+    RefPtr<IDBDatabaseBackendLevelDB> m_database;
     String m_previousVersion;
     int64_t m_previousIntVersion;
 };
 
-class CreateIndexOperation : public IDBTransactionBackendImpl::Operation {
+class CreateIndexOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
     {
         return adoptPtr(new CreateIndexOperation(backingStore, objectStoreId, indexMetadata));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     CreateIndexOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
         : m_backingStore(backingStore)
@@ -178,13 +178,13 @@ private:
     const IDBIndexMetadata m_indexMetadata;
 };
 
-class DeleteIndexOperation : public IDBTransactionBackendImpl::Operation {
+class DeleteIndexOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
     {
         return adoptPtr(new DeleteIndexOperation(backingStore, objectStoreId, indexMetadata));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     DeleteIndexOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
         : m_backingStore(backingStore)
@@ -198,53 +198,53 @@ private:
     const IDBIndexMetadata m_indexMetadata;
 };
 
-class CreateIndexAbortOperation : public IDBTransactionBackendImpl::Operation {
+class CreateIndexAbortOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, int64_t indexId)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t objectStoreId, int64_t indexId)
     {
         return adoptPtr(new CreateIndexAbortOperation(database, objectStoreId, indexId));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    CreateIndexAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, int64_t indexId)
+    CreateIndexAbortOperation(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t objectStoreId, int64_t indexId)
         : m_database(database)
         , m_objectStoreId(objectStoreId)
         , m_indexId(indexId)
     {
     }
 
-    const RefPtr<IDBDatabaseBackendImpl> m_database;
+    const RefPtr<IDBDatabaseBackendLevelDB> m_database;
     const int64_t m_objectStoreId;
     const int64_t m_indexId;
 };
 
-class DeleteIndexAbortOperation : public IDBTransactionBackendImpl::Operation {
+class DeleteIndexAbortOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
     {
         return adoptPtr(new DeleteIndexAbortOperation(database, objectStoreId, indexMetadata));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
-    DeleteIndexAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
+    DeleteIndexAbortOperation(PassRefPtr<IDBDatabaseBackendLevelDB> database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
         : m_database(database)
         , m_objectStoreId(objectStoreId)
         , m_indexMetadata(indexMetadata)
     {
     }
 
-    const RefPtr<IDBDatabaseBackendImpl> m_database;
+    const RefPtr<IDBDatabaseBackendLevelDB> m_database;
     const int64_t m_objectStoreId;
     const IDBIndexMetadata m_indexMetadata;
 };
 
-class GetOperation : public IDBTransactionBackendImpl::Operation {
+class GetOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBDatabaseMetadata& metadata, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorType cursorType, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBDatabaseMetadata& metadata, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorType cursorType, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new GetOperation(backingStore, metadata, objectStoreId, indexId, keyRange, cursorType, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     GetOperation(PassRefPtr<IDBBackingStore> backingStore, const IDBDatabaseMetadata& metadata, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorType cursorType, PassRefPtr<IDBCallbacks> callbacks)
         : m_backingStore(backingStore)
@@ -272,13 +272,13 @@ private:
     const RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class PutOperation : public IDBTransactionBackendImpl::Operation {
+class PutOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBCallbacks> callbacks, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>& indexKeys)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBCallbacks> callbacks, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>& indexKeys)
     {
         return adoptPtr(new PutOperation(backingStore, databaseId, objectStore, value, key, putMode, callbacks, indexIds, indexKeys));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     PutOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<SharedBuffer>& value, PassRefPtr<IDBKey> key, IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBCallbacks> callbacks, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>& indexKeys)
         : m_backingStore(backingStore)
@@ -304,13 +304,13 @@ private:
     const Vector<IDBDatabaseBackendInterface::IndexKeys> m_indexKeys;
 };
 
-class SetIndexesReadyOperation : public IDBTransactionBackendImpl::Operation {
+class SetIndexesReadyOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(size_t indexCount)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(size_t indexCount)
     {
         return adoptPtr(new SetIndexesReadyOperation(indexCount));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     SetIndexesReadyOperation(size_t indexCount)
         : m_indexCount(indexCount)
@@ -320,13 +320,13 @@ private:
     const size_t m_indexCount;
 };
 
-class OpenCursorOperation : public IDBTransactionBackendImpl::Operation {
+class OpenCursorOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new OpenCursorOperation(backingStore, databaseId, objectStoreId, indexId, keyRange, direction, cursorType, taskType, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     OpenCursorOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, PassRefPtr<IDBCallbacks> callbacks)
         : m_backingStore(backingStore)
@@ -352,13 +352,13 @@ private:
     const RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class CountOperation : public IDBTransactionBackendImpl::Operation {
+class CountOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new CountOperation(backingStore, databaseId, objectStoreId, indexId, keyRange, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     CountOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
         : m_backingStore(backingStore)
@@ -378,13 +378,13 @@ private:
     const RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class DeleteRangeOperation : public IDBTransactionBackendImpl::Operation {
+class DeleteRangeOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new DeleteRangeOperation(backingStore, databaseId, objectStoreId, keyRange, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     DeleteRangeOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
         : m_backingStore(backingStore)
@@ -402,13 +402,13 @@ private:
     const RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class ClearOperation : public IDBTransactionBackendImpl::Operation {
+class ClearOperation : public IDBTransactionBackendLevelDB::Operation {
 public:
-    static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
+    static PassOwnPtr<IDBTransactionBackendLevelDB::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
     {
         return adoptPtr(new ClearOperation(backingStore, databaseId, objectStoreId, callbacks));
     }
-    virtual void perform(IDBTransactionBackendImpl*);
+    virtual void perform(IDBTransactionBackendLevelDB*);
 private:
     ClearOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
         : m_backingStore(backingStore)
@@ -424,7 +424,7 @@ private:
     const RefPtr<IDBCallbacks> m_callbacks;
 };
 
-class IDBDatabaseBackendImpl::PendingOpenCall {
+class IDBDatabaseBackendLevelDB::PendingOpenCall {
 public:
     static PassOwnPtr<PendingOpenCall> create(PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks, int64_t transactionId, int64_t version)
     {
@@ -449,7 +449,7 @@ private:
     const int64_t m_transactionId;
 };
 
-class IDBDatabaseBackendImpl::PendingDeleteCall {
+class IDBDatabaseBackendLevelDB::PendingDeleteCall {
 public:
     static PassOwnPtr<PendingDeleteCall> create(PassRefPtr<IDBCallbacks> callbacks)
     {
@@ -465,9 +465,9 @@ private:
     RefPtr<IDBCallbacks> m_callbacks;
 };
 
-PassRefPtr<IDBDatabaseBackendImpl> IDBDatabaseBackendImpl::create(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
+PassRefPtr<IDBDatabaseBackendLevelDB> IDBDatabaseBackendLevelDB::create(const String& name, IDBBackingStore* database, IDBFactoryBackendLevelDB* factory, const String& uniqueIdentifier)
 {
-    RefPtr<IDBDatabaseBackendImpl> backend = adoptRef(new IDBDatabaseBackendImpl(name, database, factory, uniqueIdentifier));
+    RefPtr<IDBDatabaseBackendLevelDB> backend = adoptRef(new IDBDatabaseBackendLevelDB(name, database, factory, uniqueIdentifier));
     if (!backend->openInternal())
         return 0;
     return backend.release();
@@ -477,18 +477,18 @@ namespace {
 const char* NoStringVersion = "";
 }
 
-IDBDatabaseBackendImpl::IDBDatabaseBackendImpl(const String& name, IDBBackingStore* backingStore, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
+IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB(const String& name, IDBBackingStore* backingStore, IDBFactoryBackendLevelDB* factory, const String& uniqueIdentifier)
     : m_backingStore(backingStore)
     , m_metadata(name, InvalidId, NoStringVersion, IDBDatabaseMetadata::NoIntVersion, InvalidId)
     , m_identifier(uniqueIdentifier)
     , m_factory(factory)
-    , m_transactionCoordinator(IDBTransactionCoordinator::create())
+    , m_transactionCoordinator(IDBTransactionCoordinatorLevelDB::create())
     , m_closingConnection(false)
 {
     ASSERT(!m_metadata.name.isNull());
 }
 
-void IDBDatabaseBackendImpl::addObjectStore(const IDBObjectStoreMetadata& objectStore, int64_t newMaxObjectStoreId)
+void IDBDatabaseBackendLevelDB::addObjectStore(const IDBObjectStoreMetadata& objectStore, int64_t newMaxObjectStoreId)
 {
     ASSERT(!m_metadata.objectStores.contains(objectStore.id));
     if (newMaxObjectStoreId != IDBObjectStoreMetadata::InvalidId) {
@@ -498,13 +498,13 @@ void IDBDatabaseBackendImpl::addObjectStore(const IDBObjectStoreMetadata& object
     m_metadata.objectStores.set(objectStore.id, objectStore);
 }
 
-void IDBDatabaseBackendImpl::removeObjectStore(int64_t objectStoreId)
+void IDBDatabaseBackendLevelDB::removeObjectStore(int64_t objectStoreId)
 {
     ASSERT(m_metadata.objectStores.contains(objectStoreId));
     m_metadata.objectStores.remove(objectStoreId);
 }
 
-void IDBDatabaseBackendImpl::addIndex(int64_t objectStoreId, const IDBIndexMetadata& index, int64_t newMaxIndexId)
+void IDBDatabaseBackendLevelDB::addIndex(int64_t objectStoreId, const IDBIndexMetadata& index, int64_t newMaxIndexId)
 {
     ASSERT(m_metadata.objectStores.contains(objectStoreId));
     IDBObjectStoreMetadata objectStore = m_metadata.objectStores.get(objectStoreId);
@@ -518,7 +518,7 @@ void IDBDatabaseBackendImpl::addIndex(int64_t objectStoreId, const IDBIndexMetad
     m_metadata.objectStores.set(objectStoreId, objectStore);
 }
 
-void IDBDatabaseBackendImpl::removeIndex(int64_t objectStoreId, int64_t indexId)
+void IDBDatabaseBackendLevelDB::removeIndex(int64_t objectStoreId, int64_t indexId)
 {
     ASSERT(m_metadata.objectStores.contains(objectStoreId));
     IDBObjectStoreMetadata objectStore = m_metadata.objectStores.get(objectStoreId);
@@ -528,7 +528,7 @@ void IDBDatabaseBackendImpl::removeIndex(int64_t objectStoreId, int64_t indexId)
     m_metadata.objectStores.set(objectStoreId, objectStore);
 }
 
-bool IDBDatabaseBackendImpl::openInternal()
+bool IDBDatabaseBackendLevelDB::openInternal()
 {
     bool success = false;
     bool ok = m_backingStore->getIDBDatabaseMetaData(m_metadata.name, &m_metadata, success);
@@ -541,19 +541,19 @@ bool IDBDatabaseBackendImpl::openInternal()
     return m_backingStore->createIDBDatabaseMetaData(m_metadata.name, m_metadata.version, m_metadata.intVersion, m_metadata.id);
 }
 
-IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl()
+IDBDatabaseBackendLevelDB::~IDBDatabaseBackendLevelDB()
 {
 }
 
-PassRefPtr<IDBBackingStore> IDBDatabaseBackendImpl::backingStore() const
+PassRefPtr<IDBBackingStore> IDBDatabaseBackendLevelDB::backingStore() const
 {
     return m_backingStore;
 }
 
-void IDBDatabaseBackendImpl::createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath& keyPath, bool autoIncrement)
+void IDBDatabaseBackendLevelDB::createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath& keyPath, bool autoIncrement)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::createObjectStore");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::createObjectStore");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() == IndexedDB::TransactionVersionChange);
@@ -566,7 +566,7 @@ void IDBDatabaseBackendImpl::createObjectStore(int64_t transactionId, int64_t ob
     addObjectStore(objectStoreMetadata, objectStoreId);
 }
 
-void CreateObjectStoreOperation::perform(IDBTransactionBackendImpl* transaction)
+void CreateObjectStoreOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("CreateObjectStoreOperation");
     if (!m_backingStore->createObjectStore(transaction->backingStoreTransaction(), transaction->database()->id(), m_objectStoreMetadata.id, m_objectStoreMetadata.name, m_objectStoreMetadata.keyPath, m_objectStoreMetadata.autoIncrement)) {
@@ -576,10 +576,10 @@ void CreateObjectStoreOperation::perform(IDBTransactionBackendImpl* transaction)
     }
 }
 
-void IDBDatabaseBackendImpl::deleteObjectStore(int64_t transactionId, int64_t objectStoreId)
+void IDBDatabaseBackendLevelDB::deleteObjectStore(int64_t transactionId, int64_t objectStoreId)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::deleteObjectStore");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::deleteObjectStore");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() == IndexedDB::TransactionVersionChange);
@@ -591,10 +591,10 @@ void IDBDatabaseBackendImpl::deleteObjectStore(int64_t transactionId, int64_t ob
     removeObjectStore(objectStoreId);
 }
 
-void IDBDatabaseBackendImpl::createIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId, const String& name, const IDBKeyPath& keyPath, bool unique, bool multiEntry)
+void IDBDatabaseBackendLevelDB::createIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId, const String& name, const IDBKeyPath& keyPath, bool unique, bool multiEntry)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::createIndex");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::createIndex");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() == IndexedDB::TransactionVersionChange);
@@ -610,7 +610,7 @@ void IDBDatabaseBackendImpl::createIndex(int64_t transactionId, int64_t objectSt
     addIndex(objectStoreId, indexMetadata, indexId);
 }
 
-void CreateIndexOperation::perform(IDBTransactionBackendImpl* transaction)
+void CreateIndexOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("CreateIndexOperation");
     if (!m_backingStore->createIndex(transaction->backingStoreTransaction(), transaction->database()->id(), m_objectStoreId, m_indexMetadata.id, m_indexMetadata.name, m_indexMetadata.keyPath, m_indexMetadata.unique, m_indexMetadata.multiEntry)) {
@@ -619,17 +619,17 @@ void CreateIndexOperation::perform(IDBTransactionBackendImpl* transaction)
     }
 }
 
-void CreateIndexAbortOperation::perform(IDBTransactionBackendImpl* transaction)
+void CreateIndexAbortOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("CreateIndexAbortOperation");
     ASSERT_UNUSED(transaction, !transaction);
     m_database->removeIndex(m_objectStoreId, m_indexId);
 }
 
-void IDBDatabaseBackendImpl::deleteIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId)
+void IDBDatabaseBackendLevelDB::deleteIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::deleteIndex");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::deleteIndex");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() == IndexedDB::TransactionVersionChange);
@@ -645,7 +645,7 @@ void IDBDatabaseBackendImpl::deleteIndex(int64_t transactionId, int64_t objectSt
     removeIndex(objectStoreId, indexId);
 }
 
-void DeleteIndexOperation::perform(IDBTransactionBackendImpl* transaction)
+void DeleteIndexOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("DeleteIndexOperation");
     bool ok = m_backingStore->deleteIndex(transaction->backingStoreTransaction(), transaction->database()->id(), m_objectStoreId, m_indexMetadata.id);
@@ -655,45 +655,45 @@ void DeleteIndexOperation::perform(IDBTransactionBackendImpl* transaction)
     }
 }
 
-void DeleteIndexAbortOperation::perform(IDBTransactionBackendImpl* transaction)
+void DeleteIndexAbortOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("DeleteIndexAbortOperation");
     ASSERT_UNUSED(transaction, !transaction);
     m_database->addIndex(m_objectStoreId, m_indexMetadata, IDBIndexMetadata::InvalidId);
 }
 
-void IDBDatabaseBackendImpl::commit(int64_t transactionId)
+void IDBDatabaseBackendLevelDB::commit(int64_t transactionId)
 {
     // The frontend suggests that we commit, but we may have previously initiated an abort, and so have disposed of the transaction. onAbort has already been dispatched to the frontend, so it will find out about that asynchronously.
     if (m_transactions.contains(transactionId))
         m_transactions.get(transactionId)->commit();
 }
 
-void IDBDatabaseBackendImpl::abort(int64_t transactionId)
+void IDBDatabaseBackendLevelDB::abort(int64_t transactionId)
 {
     // If the transaction is unknown, then it has already been aborted by the backend before this call so it is safe to ignore it.
     if (m_transactions.contains(transactionId))
         m_transactions.get(transactionId)->abort();
 }
 
-void IDBDatabaseBackendImpl::abort(int64_t transactionId, PassRefPtr<IDBDatabaseError> error)
+void IDBDatabaseBackendLevelDB::abort(int64_t transactionId, PassRefPtr<IDBDatabaseError> error)
 {
     // If the transaction is unknown, then it has already been aborted by the backend before this call so it is safe to ignore it.
     if (m_transactions.contains(transactionId))
         m_transactions.get(transactionId)->abort(error);
 }
 
-void IDBDatabaseBackendImpl::get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, bool keyOnly, PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendLevelDB::get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, bool keyOnly, PassRefPtr<IDBCallbacks> callbacks)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::get");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::get");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
 
     transaction->scheduleTask(GetOperation::create(m_backingStore, m_metadata, objectStoreId, indexId, keyRange, keyOnly ? IndexedDB::CursorKeyOnly : IndexedDB::CursorKeyAndValue, callbacks));
 }
 
-void GetOperation::perform(IDBTransactionBackendImpl* transaction)
+void GetOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("GetOperation");
 
@@ -785,10 +785,10 @@ void GetOperation::perform(IDBTransactionBackendImpl* transaction)
     m_callbacks->onSuccess(SharedBuffer::adoptVector(value));
 }
 
-void IDBDatabaseBackendImpl::put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, PutMode putMode, PassRefPtr<IDBCallbacks> callbacks, const Vector<int64_t>& indexIds, const Vector<IndexKeys>& indexKeys)
+void IDBDatabaseBackendLevelDB::put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, PutMode putMode, PassRefPtr<IDBCallbacks> callbacks, const Vector<int64_t>& indexIds, const Vector<IndexKeys>& indexKeys)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::put");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::put");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() != IndexedDB::TransactionReadOnly);
@@ -800,7 +800,7 @@ void IDBDatabaseBackendImpl::put(int64_t transactionId, int64_t objectStoreId, P
     transaction->scheduleTask(PutOperation::create(m_backingStore, id(), objectStoreMetadata, value, key, putMode, callbacks, indexIds, indexKeys));
 }
 
-void PutOperation::perform(IDBTransactionBackendImpl* transaction)
+void PutOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("PutOperation");
     ASSERT(transaction->mode() != IndexedDB::TransactionReadOnly);
@@ -809,7 +809,7 @@ void PutOperation::perform(IDBTransactionBackendImpl* transaction)
 
     RefPtr<IDBKey> key;
     if (m_putMode != IDBDatabaseBackendInterface::CursorUpdate && m_objectStore.autoIncrement && !m_key) {
-        RefPtr<IDBKey> autoIncKey = IDBObjectStoreBackendImpl::generateKey(m_backingStore, transaction, m_databaseId, m_objectStore.id);
+        RefPtr<IDBKey> autoIncKey = IDBObjectStoreBackendLevelDB::generateKey(m_backingStore, transaction, m_databaseId, m_objectStore.id);
         keyWasGenerated = true;
         if (!autoIncKey->isValid()) {
             m_callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::ConstraintError, "Maximum key generator value reached."));
@@ -835,10 +835,10 @@ void PutOperation::perform(IDBTransactionBackendImpl* transaction)
         }
     }
 
-    Vector<OwnPtr<IDBObjectStoreBackendImpl::IndexWriter> > indexWriters;
+    Vector<OwnPtr<IDBObjectStoreBackendLevelDB::IndexWriter> > indexWriters;
     String errorMessage;
     bool obeysConstraints = false;
-    bool backingStoreSuccess = IDBObjectStoreBackendImpl::makeIndexWriters(transaction, m_backingStore.get(), m_databaseId, m_objectStore, key, keyWasGenerated, m_indexIds, m_indexKeys, &indexWriters, &errorMessage, obeysConstraints);
+    bool backingStoreSuccess = IDBObjectStoreBackendLevelDB::makeIndexWriters(transaction, m_backingStore.get(), m_databaseId, m_objectStore, key, keyWasGenerated, m_indexIds, m_indexKeys, &indexWriters, &errorMessage, obeysConstraints);
     if (!backingStoreSuccess) {
         m_callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Internal error: backing store error updating index keys."));
         return;
@@ -856,12 +856,12 @@ void PutOperation::perform(IDBTransactionBackendImpl* transaction)
     }
 
     for (size_t i = 0; i < indexWriters.size(); ++i) {
-        IDBObjectStoreBackendImpl::IndexWriter* indexWriter = indexWriters[i].get();
+        IDBObjectStoreBackendLevelDB::IndexWriter* indexWriter = indexWriters[i].get();
         indexWriter->writeIndexKeys(recordIdentifier, *m_backingStore, transaction->backingStoreTransaction(), m_databaseId, m_objectStore.id);
     }
 
     if (m_objectStore.autoIncrement && m_putMode != IDBDatabaseBackendInterface::CursorUpdate && key->type() == IDBKey::NumberType) {
-        bool ok = IDBObjectStoreBackendImpl::updateKeyGenerator(m_backingStore, transaction, m_databaseId, m_objectStore.id, key.get(), !keyWasGenerated);
+        bool ok = IDBObjectStoreBackendLevelDB::updateKeyGenerator(m_backingStore, transaction, m_databaseId, m_objectStore.id, key.get(), !keyWasGenerated);
         if (!ok) {
             m_callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Internal error updating key generator."));
             return;
@@ -871,10 +871,10 @@ void PutOperation::perform(IDBTransactionBackendImpl* transaction)
     m_callbacks->onSuccess(key.release());
 }
 
-void IDBDatabaseBackendImpl::setIndexKeys(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKey> prpPrimaryKey, const Vector<int64_t>& indexIds, const Vector<IndexKeys>& indexKeys)
+void IDBDatabaseBackendLevelDB::setIndexKeys(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKey> prpPrimaryKey, const Vector<int64_t>& indexIds, const Vector<IndexKeys>& indexKeys)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::setIndexKeys");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::setIndexKeys");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() == IndexedDB::TransactionVersionChange);
@@ -895,12 +895,12 @@ void IDBDatabaseBackendImpl::setIndexKeys(int64_t transactionId, int64_t objectS
         return;
     }
 
-    Vector<OwnPtr<IDBObjectStoreBackendImpl::IndexWriter> > indexWriters;
+    Vector<OwnPtr<IDBObjectStoreBackendLevelDB::IndexWriter> > indexWriters;
     String errorMessage;
     bool obeysConstraints = false;
     ASSERT(m_metadata.objectStores.contains(objectStoreId));
     const IDBObjectStoreMetadata& objectStoreMetadata = m_metadata.objectStores.get(objectStoreId);
-    bool backingStoreSuccess = IDBObjectStoreBackendImpl::makeIndexWriters(transaction, store.get(), id(), objectStoreMetadata, primaryKey, false, indexIds, indexKeys, &indexWriters, &errorMessage, obeysConstraints);
+    bool backingStoreSuccess = IDBObjectStoreBackendLevelDB::makeIndexWriters(transaction, store.get(), id(), objectStoreMetadata, primaryKey, false, indexIds, indexKeys, &indexWriters, &errorMessage, obeysConstraints);
     if (!backingStoreSuccess) {
         transaction->abort(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Internal error: backing store error updating index keys."));
         return;
@@ -911,40 +911,40 @@ void IDBDatabaseBackendImpl::setIndexKeys(int64_t transactionId, int64_t objectS
     }
 
     for (size_t i = 0; i < indexWriters.size(); ++i) {
-        IDBObjectStoreBackendImpl::IndexWriter* indexWriter = indexWriters[i].get();
+        IDBObjectStoreBackendLevelDB::IndexWriter* indexWriter = indexWriters[i].get();
         indexWriter->writeIndexKeys(recordIdentifier, *store.get(), transaction->backingStoreTransaction(), id(), objectStoreId);
     }
 }
 
-void IDBDatabaseBackendImpl::setIndexesReady(int64_t transactionId, int64_t, const Vector<int64_t>& indexIds)
+void IDBDatabaseBackendLevelDB::setIndexesReady(int64_t transactionId, int64_t, const Vector<int64_t>& indexIds)
 {
-    IDB_TRACE("IDBObjectStoreBackendImpl::setIndexesReady");
+    IDB_TRACE("IDBObjectStoreBackendLevelDB::setIndexesReady");
 
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
 
     transaction->scheduleTask(IDBDatabaseBackendInterface::PreemptiveTask, SetIndexesReadyOperation::create(indexIds.size()));
 }
 
-void SetIndexesReadyOperation::perform(IDBTransactionBackendImpl* transaction)
+void SetIndexesReadyOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("SetIndexesReadyOperation");
     for (size_t i = 0; i < m_indexCount; ++i)
         transaction->didCompletePreemptiveEvent();
 }
 
-void IDBDatabaseBackendImpl::openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, bool keyOnly, TaskType taskType, PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendLevelDB::openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, bool keyOnly, TaskType taskType, PassRefPtr<IDBCallbacks> callbacks)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::openCursor");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::openCursor");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
 
     transaction->scheduleTask(OpenCursorOperation::create(m_backingStore, id(), objectStoreId, indexId, keyRange, direction, keyOnly ? IndexedDB::CursorKeyOnly : IndexedDB::CursorKeyAndValue, taskType, callbacks));
 }
 
-void OpenCursorOperation::perform(IDBTransactionBackendImpl* transaction)
+void OpenCursorOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("OpenCursorOperation");
 
@@ -973,14 +973,14 @@ void OpenCursorOperation::perform(IDBTransactionBackendImpl* transaction)
     }
 
     IDBDatabaseBackendInterface::TaskType taskType(static_cast<IDBDatabaseBackendInterface::TaskType>(m_taskType));
-    RefPtr<IDBCursorBackendImpl> cursor = IDBCursorBackendImpl::create(backingStoreCursor.get(), m_cursorType, taskType, transaction, m_objectStoreId);
+    RefPtr<IDBCursorBackendLevelDB> cursor = IDBCursorBackendLevelDB::create(backingStoreCursor.get(), m_cursorType, taskType, transaction, m_objectStoreId);
     m_callbacks->onSuccess(cursor, cursor->key(), cursor->primaryKey(), cursor->value());
 }
 
-void IDBDatabaseBackendImpl::count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendLevelDB::count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::count");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::count");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
 
@@ -988,7 +988,7 @@ void IDBDatabaseBackendImpl::count(int64_t transactionId, int64_t objectStoreId,
     transaction->scheduleTask(CountOperation::create(m_backingStore, id(), objectStoreId, indexId, keyRange, callbacks));
 }
 
-void CountOperation::perform(IDBTransactionBackendImpl* transaction)
+void CountOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("CountOperation");
     uint32_t count = 0;
@@ -1010,10 +1010,10 @@ void CountOperation::perform(IDBTransactionBackendImpl* transaction)
     m_callbacks->onSuccess(count);
 }
 
-void IDBDatabaseBackendImpl::deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendLevelDB::deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::deleteRange");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::deleteRange");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() != IndexedDB::TransactionReadOnly);
@@ -1021,7 +1021,7 @@ void IDBDatabaseBackendImpl::deleteRange(int64_t transactionId, int64_t objectSt
     transaction->scheduleTask(DeleteRangeOperation::create(m_backingStore, id(), objectStoreId, keyRange, callbacks));
 }
 
-void DeleteRangeOperation::perform(IDBTransactionBackendImpl* transaction)
+void DeleteRangeOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("DeleteRangeOperation");
     RefPtr<IDBBackingStore::Cursor> backingStoreCursor = m_backingStore->openObjectStoreCursor(transaction->backingStoreTransaction(), m_databaseId, m_objectStoreId, m_keyRange.get(), IndexedDB::CursorNext);
@@ -1037,10 +1037,10 @@ void DeleteRangeOperation::perform(IDBTransactionBackendImpl* transaction)
     m_callbacks->onSuccess();
 }
 
-void IDBDatabaseBackendImpl::clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendLevelDB::clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
 {
-    IDB_TRACE("IDBDatabaseBackendImpl::clear");
-    IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
+    IDB_TRACE("IDBDatabaseBackendLevelDB::clear");
+    IDBTransactionBackendLevelDB* transaction = m_transactions.get(transactionId);
     if (!transaction)
         return;
     ASSERT(transaction->mode() != IndexedDB::TransactionReadOnly);
@@ -1048,7 +1048,7 @@ void IDBDatabaseBackendImpl::clear(int64_t transactionId, int64_t objectStoreId,
     transaction->scheduleTask(ClearOperation::create(m_backingStore, id(), objectStoreId, callbacks));
 }
 
-void ClearOperation::perform(IDBTransactionBackendImpl* transaction)
+void ClearOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("ObjectStoreClearOperation");
     if (!m_backingStore->clearObjectStore(transaction->backingStoreTransaction(), m_databaseId, m_objectStoreId)) {
@@ -1058,7 +1058,7 @@ void ClearOperation::perform(IDBTransactionBackendImpl* transaction)
     m_callbacks->onSuccess();
 }
 
-void DeleteObjectStoreOperation::perform(IDBTransactionBackendImpl* transaction)
+void DeleteObjectStoreOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("DeleteObjectStoreOperation");
     bool ok = m_backingStore->deleteObjectStore(transaction->backingStoreTransaction(), transaction->database()->id(), m_objectStoreMetadata.id);
@@ -1068,7 +1068,7 @@ void DeleteObjectStoreOperation::perform(IDBTransactionBackendImpl* transaction)
     }
 }
 
-void IDBDatabaseBackendImpl::VersionChangeOperation::perform(IDBTransactionBackendImpl* transaction)
+void IDBDatabaseBackendLevelDB::VersionChangeOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("VersionChangeOperation");
     int64_t databaseId = m_database->id();
@@ -1086,18 +1086,18 @@ void IDBDatabaseBackendImpl::VersionChangeOperation::perform(IDBTransactionBacke
     m_callbacks->onUpgradeNeeded(oldVersion, m_database, m_database->metadata());
 }
 
-void IDBDatabaseBackendImpl::transactionStarted(PassRefPtr<IDBTransactionBackendImpl> prpTransaction)
+void IDBDatabaseBackendLevelDB::transactionStarted(PassRefPtr<IDBTransactionBackendLevelDB> prpTransaction)
 {
-    RefPtr<IDBTransactionBackendImpl> transaction = prpTransaction;
+    RefPtr<IDBTransactionBackendLevelDB> transaction = prpTransaction;
     if (transaction->mode() == IndexedDB::TransactionVersionChange) {
         ASSERT(!m_runningVersionChangeTransaction);
         m_runningVersionChangeTransaction = transaction;
     }
 }
 
-void IDBDatabaseBackendImpl::transactionFinished(PassRefPtr<IDBTransactionBackendImpl> prpTransaction)
+void IDBDatabaseBackendLevelDB::transactionFinished(PassRefPtr<IDBTransactionBackendLevelDB> prpTransaction)
 {
-    RefPtr<IDBTransactionBackendImpl> transaction = prpTransaction;
+    RefPtr<IDBTransactionBackendLevelDB> transaction = prpTransaction;
     ASSERT(m_transactions.contains(transaction->id()));
     ASSERT(m_transactions.get(transaction->id()) == transaction.get());
     m_transactions.remove(transaction->id());
@@ -1107,9 +1107,9 @@ void IDBDatabaseBackendImpl::transactionFinished(PassRefPtr<IDBTransactionBacken
     }
 }
 
-void IDBDatabaseBackendImpl::transactionFinishedAndAbortFired(PassRefPtr<IDBTransactionBackendImpl> prpTransaction)
+void IDBDatabaseBackendLevelDB::transactionFinishedAndAbortFired(PassRefPtr<IDBTransactionBackendLevelDB> prpTransaction)
 {
-    RefPtr<IDBTransactionBackendImpl> transaction = prpTransaction;
+    RefPtr<IDBTransactionBackendLevelDB> transaction = prpTransaction;
     if (transaction->mode() == IndexedDB::TransactionVersionChange) {
         // If this was an open-with-version call, there will be a "second
         // half" open call waiting for us in processPendingCalls.
@@ -1122,20 +1122,20 @@ void IDBDatabaseBackendImpl::transactionFinishedAndAbortFired(PassRefPtr<IDBTran
     }
 }
 
-void IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired(PassRefPtr<IDBTransactionBackendImpl> prpTransaction)
+void IDBDatabaseBackendLevelDB::transactionFinishedAndCompleteFired(PassRefPtr<IDBTransactionBackendLevelDB> prpTransaction)
 {
-    RefPtr<IDBTransactionBackendImpl> transaction = prpTransaction;
+    RefPtr<IDBTransactionBackendLevelDB> transaction = prpTransaction;
     if (transaction->mode() == IndexedDB::TransactionVersionChange)
         processPendingCalls();
 }
 
-size_t IDBDatabaseBackendImpl::connectionCount()
+size_t IDBDatabaseBackendLevelDB::connectionCount()
 {
     // This does not include pending open calls, as those should not block version changes and deletes.
     return m_databaseCallbacksSet.size();
 }
 
-void IDBDatabaseBackendImpl::processPendingCalls()
+void IDBDatabaseBackendLevelDB::processPendingCalls()
 {
     if (m_pendingSecondHalfOpen) {
         ASSERT(m_pendingSecondHalfOpen->version() == m_metadata.intVersion);
@@ -1173,14 +1173,14 @@ void IDBDatabaseBackendImpl::processPendingCalls()
     }
 }
 
-void IDBDatabaseBackendImpl::createTransaction(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks> callbacks, const Vector<int64_t>& objectStoreIds, unsigned short mode)
+void IDBDatabaseBackendLevelDB::createTransaction(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks> callbacks, const Vector<int64_t>& objectStoreIds, unsigned short mode)
 {
-    RefPtr<IDBTransactionBackendImpl> transaction = IDBTransactionBackendImpl::create(transactionId, callbacks, objectStoreIds, static_cast<IndexedDB::TransactionMode>(mode), this);
+    RefPtr<IDBTransactionBackendLevelDB> transaction = IDBTransactionBackendLevelDB::create(transactionId, callbacks, objectStoreIds, static_cast<IndexedDB::TransactionMode>(mode), this);
     ASSERT(!m_transactions.contains(transactionId));
     m_transactions.add(transactionId, transaction.get());
 }
 
-void IDBDatabaseBackendImpl::openConnection(PassRefPtr<IDBCallbacks> prpCallbacks, PassRefPtr<IDBDatabaseCallbacks> prpDatabaseCallbacks, int64_t transactionId, int64_t version)
+void IDBDatabaseBackendLevelDB::openConnection(PassRefPtr<IDBCallbacks> prpCallbacks, PassRefPtr<IDBDatabaseCallbacks> prpDatabaseCallbacks, int64_t transactionId, int64_t version)
 {
     ASSERT(m_backingStore.get());
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
@@ -1242,7 +1242,7 @@ void IDBDatabaseBackendImpl::openConnection(PassRefPtr<IDBCallbacks> prpCallback
     callbacks->onSuccess(this, this->metadata());
 }
 
-void IDBDatabaseBackendImpl::runIntVersionChangeTransaction(PassRefPtr<IDBCallbacks> prpCallbacks, PassRefPtr<IDBDatabaseCallbacks> prpDatabaseCallbacks, int64_t transactionId, int64_t requestedVersion)
+void IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction(PassRefPtr<IDBCallbacks> prpCallbacks, PassRefPtr<IDBDatabaseCallbacks> prpDatabaseCallbacks, int64_t transactionId, int64_t requestedVersion)
 {
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
     RefPtr<IDBDatabaseCallbacks> databaseCallbacks = prpDatabaseCallbacks;
@@ -1269,7 +1269,7 @@ void IDBDatabaseBackendImpl::runIntVersionChangeTransaction(PassRefPtr<IDBCallba
 
     Vector<int64_t> objectStoreIds;
     createTransaction(transactionId, databaseCallbacks, objectStoreIds, IndexedDB::TransactionVersionChange);
-    RefPtr<IDBTransactionBackendImpl> transaction = m_transactions.get(transactionId);
+    RefPtr<IDBTransactionBackendLevelDB> transaction = m_transactions.get(transactionId);
 
     transaction->scheduleTask(VersionChangeOperation::create(this, transactionId, requestedVersion, callbacks, databaseCallbacks), VersionChangeAbortOperation::create(this, m_metadata.version, m_metadata.intVersion));
 
@@ -1277,7 +1277,7 @@ void IDBDatabaseBackendImpl::runIntVersionChangeTransaction(PassRefPtr<IDBCallba
     m_databaseCallbacksSet.add(databaseCallbacks);
 }
 
-void IDBDatabaseBackendImpl::deleteDatabase(PassRefPtr<IDBCallbacks> prpCallbacks)
+void IDBDatabaseBackendLevelDB::deleteDatabase(PassRefPtr<IDBCallbacks> prpCallbacks)
 {
     RefPtr<IDBCallbacks> callbacks = prpCallbacks;
     if (isDeleteDatabaseBlocked()) {
@@ -1295,12 +1295,12 @@ void IDBDatabaseBackendImpl::deleteDatabase(PassRefPtr<IDBCallbacks> prpCallback
     deleteDatabaseFinal(callbacks.release());
 }
 
-bool IDBDatabaseBackendImpl::isDeleteDatabaseBlocked()
+bool IDBDatabaseBackendLevelDB::isDeleteDatabaseBlocked()
 {
     return connectionCount();
 }
 
-void IDBDatabaseBackendImpl::deleteDatabaseFinal(PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendLevelDB::deleteDatabaseFinal(PassRefPtr<IDBCallbacks> callbacks)
 {
     ASSERT(!isDeleteDatabaseBlocked());
     ASSERT(m_backingStore);
@@ -1315,7 +1315,7 @@ void IDBDatabaseBackendImpl::deleteDatabaseFinal(PassRefPtr<IDBCallbacks> callba
     callbacks->onSuccess();
 }
 
-void IDBDatabaseBackendImpl::close(PassRefPtr<IDBDatabaseCallbacks> prpCallbacks)
+void IDBDatabaseBackendLevelDB::close(PassRefPtr<IDBDatabaseCallbacks> prpCallbacks)
 {
     RefPtr<IDBDatabaseCallbacks> callbacks = prpCallbacks;
     ASSERT(m_databaseCallbacksSet.contains(callbacks));
@@ -1330,7 +1330,7 @@ void IDBDatabaseBackendImpl::close(PassRefPtr<IDBDatabaseCallbacks> prpCallbacks
         return;
 
     // processPendingCalls allows the inspector to process a pending open call
-    // and call close, reentering IDBDatabaseBackendImpl::close. Then the
+    // and call close, reentering IDBDatabaseBackendLevelDB::close. Then the
     // backend would be removed both by the inspector closing its connection, and
     // by the connection that first called close.
     // To avoid that situation, don't proceed in case of reentrancy.
@@ -1357,21 +1357,21 @@ void IDBDatabaseBackendImpl::close(PassRefPtr<IDBDatabaseCallbacks> prpCallbacks
     }
 }
 
-void CreateObjectStoreAbortOperation::perform(IDBTransactionBackendImpl* transaction)
+void CreateObjectStoreAbortOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("CreateObjectStoreAbortOperation");
     ASSERT_UNUSED(transaction, !transaction);
     m_database->removeObjectStore(m_objectStoreId);
 }
 
-void DeleteObjectStoreAbortOperation::perform(IDBTransactionBackendImpl* transaction)
+void DeleteObjectStoreAbortOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("DeleteObjectStoreAbortOperation");
     ASSERT_UNUSED(transaction, !transaction);
     m_database->addObjectStore(m_objectStoreMetadata, IDBObjectStoreMetadata::InvalidId);
 }
 
-void IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform(IDBTransactionBackendImpl* transaction)
+void IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform(IDBTransactionBackendLevelDB* transaction)
 {
     IDB_TRACE("VersionChangeAbortOperation");
     ASSERT_UNUSED(transaction, !transaction);
@@ -1381,4 +1381,4 @@ void IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform(IDBTransaction
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
@@ -23,8 +23,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef IDBDatabaseBackendImpl_h
-#define IDBDatabaseBackendImpl_h
+#ifndef IDBDatabaseBackendLevelDB_h
+#define IDBDatabaseBackendLevelDB_h
 
 #include "IDBCallbacks.h"
 #include "IDBMetadata.h"
 #include <wtf/HashMap.h>
 #include <wtf/ListHashSet.h>
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 namespace WebCore {
 
 class IDBBackingStore;
 class IDBDatabase;
-class IDBFactoryBackendImpl;
-class IDBTransactionBackendImpl;
-class IDBTransactionCoordinator;
+class IDBFactoryBackendLevelDB;
+class IDBTransactionBackendLevelDB;
+class IDBTransactionCoordinatorLevelDB;
 
-class IDBDatabaseBackendImpl : public IDBDatabaseBackendInterface {
+class IDBDatabaseBackendLevelDB : public IDBDatabaseBackendInterface {
 public:
-    static PassRefPtr<IDBDatabaseBackendImpl> create(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
-    virtual ~IDBDatabaseBackendImpl();
+    static PassRefPtr<IDBDatabaseBackendLevelDB> create(const String& name, IDBBackingStore* database, IDBFactoryBackendLevelDB*, const String& uniqueIdentifier);
+    virtual ~IDBDatabaseBackendLevelDB();
 
     PassRefPtr<IDBBackingStore> backingStore() const;
 
@@ -74,11 +74,11 @@ public:
     virtual void createIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId, const String& name, const IDBKeyPath&, bool unique, bool multiEntry);
     virtual void deleteIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId);
 
-    IDBTransactionCoordinator* transactionCoordinator() const { return m_transactionCoordinator.get(); }
-    void transactionStarted(PassRefPtr<IDBTransactionBackendImpl>);
-    void transactionFinished(PassRefPtr<IDBTransactionBackendImpl>);
-    void transactionFinishedAndCompleteFired(PassRefPtr<IDBTransactionBackendImpl>);
-    void transactionFinishedAndAbortFired(PassRefPtr<IDBTransactionBackendImpl>);
+    IDBTransactionCoordinatorLevelDB* transactionCoordinator() const { return m_transactionCoordinator.get(); }
+    void transactionStarted(PassRefPtr<IDBTransactionBackendLevelDB>);
+    void transactionFinished(PassRefPtr<IDBTransactionBackendLevelDB>);
+    void transactionFinishedAndCompleteFired(PassRefPtr<IDBTransactionBackendLevelDB>);
+    void transactionFinishedAndAbortFired(PassRefPtr<IDBTransactionBackendLevelDB>);
 
     virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange>, bool keyOnly, PassRefPtr<IDBCallbacks>) OVERRIDE;
     virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey>, PutMode, PassRefPtr<IDBCallbacks>, const Vector<int64_t>& indexIds, const Vector<IndexKeys>&) OVERRIDE;
@@ -90,7 +90,7 @@ public:
     virtual void clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBCallbacks>) OVERRIDE;
 
 private:
-    IDBDatabaseBackendImpl(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl*, const String& uniqueIdentifier);
+    IDBDatabaseBackendLevelDB(const String& name, IDBBackingStore* database, IDBFactoryBackendLevelDB*, const String& uniqueIdentifier);
 
     bool openInternal();
     void runIntVersionChangeTransaction(PassRefPtr<IDBCallbacks>, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, int64_t requestedVersion);
@@ -110,12 +110,12 @@ private:
 
     String m_identifier;
     // This might not need to be a RefPtr since the factory's lifetime is that of the page group, but it's better to be conservitive than sorry.
-    RefPtr<IDBFactoryBackendImpl> m_factory;
+    RefPtr<IDBFactoryBackendLevelDB> m_factory;
 
-    OwnPtr<IDBTransactionCoordinator> m_transactionCoordinator;
-    RefPtr<IDBTransactionBackendImpl> m_runningVersionChangeTransaction;
+    OwnPtr<IDBTransactionCoordinatorLevelDB> m_transactionCoordinator;
+    RefPtr<IDBTransactionBackendLevelDB> m_runningVersionChangeTransaction;
 
-    typedef HashMap<int64_t, IDBTransactionBackendImpl*> TransactionMap;
+    typedef HashMap<int64_t, IDBTransactionBackendLevelDB*> TransactionMap;
     TransactionMap m_transactions;
 
     class PendingOpenCall;
@@ -133,6 +133,6 @@ private:
 
 } // namespace WebCore
 
-#endif
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#endif // IDBDatabaseBackendImpl_h
+#endif // IDBDatabaseBackendLevelDB_h
  */
 
 #include "config.h"
-#include "IDBFactoryBackendImpl.h"
+#include "IDBFactoryBackendLevelDB.h"
 
 #include "DOMStringList.h"
-#include "IDBBackingStore.h"
-#include "IDBDatabaseBackendImpl.h"
+#include "IDBBackingStoreLevelDB.h"
+#include "IDBDatabaseBackendLevelDB.h"
 #include "IDBDatabaseException.h"
 #include "IDBTracing.h"
-#include "IDBTransactionCoordinator.h"
+#include "IDBTransactionCoordinatorLevelDB.h"
 #include "SecurityOrigin.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 namespace WebCore {
 
@@ -66,23 +66,23 @@ static String computeUniqueIdentifier(const String& name, SecurityOrigin* securi
     return computeFileIdentifier(securityOrigin) + name;
 }
 
-IDBFactoryBackendImpl::IDBFactoryBackendImpl()
+IDBFactoryBackendLevelDB::IDBFactoryBackendLevelDB()
 {
 }
 
-IDBFactoryBackendImpl::~IDBFactoryBackendImpl()
+IDBFactoryBackendLevelDB::~IDBFactoryBackendLevelDB()
 {
 }
 
-void IDBFactoryBackendImpl::removeIDBDatabaseBackend(const String& uniqueIdentifier)
+void IDBFactoryBackendLevelDB::removeIDBDatabaseBackend(const String& uniqueIdentifier)
 {
     ASSERT(m_databaseBackendMap.contains(uniqueIdentifier));
     m_databaseBackendMap.remove(uniqueIdentifier);
 }
 
-void IDBFactoryBackendImpl::getDatabaseNames(PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> securityOrigin, ScriptExecutionContext*, const String& dataDirectory)
+void IDBFactoryBackendLevelDB::getDatabaseNames(PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> securityOrigin, ScriptExecutionContext*, const String& dataDirectory)
 {
-    IDB_TRACE("IDBFactoryBackendImpl::getDatabaseNames");
+    IDB_TRACE("IDBFactoryBackendLevelDB::getDatabaseNames");
     RefPtr<IDBBackingStore> backingStore = openBackingStore(securityOrigin, dataDirectory);
     if (!backingStore) {
         callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Internal error opening backing store for indexedDB.webkitGetDatabaseNames."));
@@ -98,9 +98,9 @@ void IDBFactoryBackendImpl::getDatabaseNames(PassRefPtr<IDBCallbacks> callbacks,
     callbacks->onSuccess(databaseNames.release());
 }
 
-void IDBFactoryBackendImpl::deleteDatabase(const String& name, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> securityOrigin, ScriptExecutionContext*, const String& dataDirectory)
+void IDBFactoryBackendLevelDB::deleteDatabase(const String& name, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin> securityOrigin, ScriptExecutionContext*, const String& dataDirectory)
 {
-    IDB_TRACE("IDBFactoryBackendImpl::deleteDatabase");
+    IDB_TRACE("IDBFactoryBackendLevelDB::deleteDatabase");
     const String uniqueIdentifier = computeUniqueIdentifier(name, securityOrigin.get());
 
     IDBDatabaseBackendMap::iterator it = m_databaseBackendMap.find(uniqueIdentifier);
@@ -118,7 +118,7 @@ void IDBFactoryBackendImpl::deleteDatabase(const String& name, PassRefPtr<IDBCal
         return;
     }
 
-    RefPtr<IDBDatabaseBackendImpl> databaseBackend = IDBDatabaseBackendImpl::create(name, backingStore.get(), this, uniqueIdentifier);
+    RefPtr<IDBDatabaseBackendLevelDB> databaseBackend = IDBDatabaseBackendLevelDB::create(name, backingStore.get(), this, uniqueIdentifier);
     if (databaseBackend) {
         m_databaseBackendMap.set(uniqueIdentifier, databaseBackend.get());
         databaseBackend->deleteDatabase(callbacks);
@@ -127,7 +127,7 @@ void IDBFactoryBackendImpl::deleteDatabase(const String& name, PassRefPtr<IDBCal
         callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Internal error creating database backend for indexedDB.deleteDatabase."));
 }
 
-PassRefPtr<IDBBackingStore> IDBFactoryBackendImpl::openBackingStore(PassRefPtr<SecurityOrigin> securityOrigin, const String& dataDirectory)
+PassRefPtr<IDBBackingStore> IDBFactoryBackendLevelDB::openBackingStore(PassRefPtr<SecurityOrigin> securityOrigin, const String& dataDirectory)
 {
     const String fileIdentifier = computeFileIdentifier(securityOrigin.get());
     const bool openInMemory = dataDirectory.isEmpty();
@@ -158,13 +158,13 @@ PassRefPtr<IDBBackingStore> IDBFactoryBackendImpl::openBackingStore(PassRefPtr<S
     return 0;
 }
 
-void IDBFactoryBackendImpl::open(const String& name, int64_t version, int64_t transactionId, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks, PassRefPtr<SecurityOrigin> prpSecurityOrigin, ScriptExecutionContext*, const String& dataDirectory)
+void IDBFactoryBackendLevelDB::open(const String& name, int64_t version, int64_t transactionId, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks, PassRefPtr<SecurityOrigin> prpSecurityOrigin, ScriptExecutionContext*, const String& dataDirectory)
 {
-    IDB_TRACE("IDBFactoryBackendImpl::open");
+    IDB_TRACE("IDBFactoryBackendLevelDB::open");
     RefPtr<SecurityOrigin> securityOrigin = prpSecurityOrigin;
     const String uniqueIdentifier = computeUniqueIdentifier(name, securityOrigin.get());
 
-    RefPtr<IDBDatabaseBackendImpl> databaseBackend;
+    RefPtr<IDBDatabaseBackendLevelDB> databaseBackend;
     IDBDatabaseBackendMap::iterator it = m_databaseBackendMap.find(uniqueIdentifier);
     if (it == m_databaseBackendMap.end()) {
         RefPtr<IDBBackingStore> backingStore = openBackingStore(securityOrigin, dataDirectory);
@@ -173,7 +173,7 @@ void IDBFactoryBackendImpl::open(const String& name, int64_t version, int64_t tr
             return;
         }
 
-        databaseBackend = IDBDatabaseBackendImpl::create(name, backingStore.get(), this, uniqueIdentifier);
+        databaseBackend = IDBDatabaseBackendLevelDB::create(name, backingStore.get(), this, uniqueIdentifier);
         if (databaseBackend)
             m_databaseBackendMap.set(uniqueIdentifier, databaseBackend.get());
         else {
@@ -188,4 +188,4 @@ void IDBFactoryBackendImpl::open(const String& name, int64_t version, int64_t tr
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
  * (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 IDBFactoryBackendImpl_h
-#define IDBFactoryBackendImpl_h
+#ifndef IDBFactoryBackendLevelDB_h
+#define IDBFactoryBackendLevelDB_h
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 #include "IDBCallbacks.h"
 #include "IDBDatabaseCallbacks.h"
@@ -45,15 +45,15 @@ namespace WebCore {
 class DOMStringList;
 
 class IDBBackingStore;
-class IDBDatabaseBackendImpl;
+class IDBDatabaseBackendLevelDB;
 
-class IDBFactoryBackendImpl : public IDBFactoryBackendInterface {
+class IDBFactoryBackendLevelDB : public IDBFactoryBackendInterface {
 public:
-    static PassRefPtr<IDBFactoryBackendImpl> create()
+    static PassRefPtr<IDBFactoryBackendLevelDB> create()
     {
-        return adoptRef(new IDBFactoryBackendImpl());
+        return adoptRef(new IDBFactoryBackendLevelDB());
     }
-    virtual ~IDBFactoryBackendImpl();
+    virtual ~IDBFactoryBackendLevelDB();
 
     // Notifications from weak pointers.
     virtual void removeIDBDatabaseBackend(const String& uniqueIdentifier);
@@ -64,11 +64,11 @@ public:
     virtual void deleteDatabase(const String& name, PassRefPtr<IDBCallbacks>, PassRefPtr<SecurityOrigin>, ScriptExecutionContext*, const String& dataDir);
 
 protected:
-    IDBFactoryBackendImpl();
+    IDBFactoryBackendLevelDB();
     virtual PassRefPtr<IDBBackingStore> openBackingStore(PassRefPtr<SecurityOrigin>, const String& dataDir);
 
 private:
-    typedef HashMap<String, RefPtr<IDBDatabaseBackendImpl> > IDBDatabaseBackendMap;
+    typedef HashMap<String, RefPtr<IDBDatabaseBackendLevelDB> > IDBDatabaseBackendMap;
     IDBDatabaseBackendMap m_databaseBackendMap;
 
     typedef HashMap<String, WeakPtr<IDBBackingStore> > IDBBackingStoreMap;
@@ -77,11 +77,11 @@ private:
     HashSet<RefPtr<IDBBackingStore> > m_sessionOnlyBackingStores;
 
     // Only one instance of the factory should exist at any given time.
-    static IDBFactoryBackendImpl* idbFactoryBackendImpl;
+    static IDBFactoryBackendLevelDB* idbFactoryBackendImpl;
 };
 
 } // namespace WebCore
 
-#endif
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#endif // IDBFactoryBackendImpl_h
+#endif // IDBFactoryBackendLevelDB_h
index 88e0e0b..04e4259 100644 (file)
@@ -26,8 +26,7 @@
 #include "config.h"
 #include "IDBLevelDBCoding.h"
 
-#if ENABLE(INDEXED_DATABASE)
-#if USE(LEVELDB)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 #include "IDBKey.h"
 #include "IDBKeyPath.h"
@@ -1522,7 +1521,7 @@ int64_t IndexFreeListKey::indexId() const
 }
 
 // FIXME: We never use this to look up object store ids, because a mapping
-// is kept in the IDBDatabaseBackendImpl. Can the mapping become unreliable?
+// is kept in the IDBDatabaseBackendLevelDB. Can the mapping become unreliable?
 // Can we remove this?
 const char* ObjectStoreNamesKey::decode(const char* start, const char* limit, ObjectStoreNamesKey* result)
 {
@@ -1805,5 +1804,4 @@ PassRefPtr<IDBKey> IndexDataKey::primaryKey() const
 } // namespace IDBLevelDBCoding
 } // namespace WebCore
 
-#endif // USE(LEVELDB)
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
index 56197f6..ad22f11 100644 (file)
@@ -26,8 +26,7 @@
 #ifndef IDBLevelDBCoding_h
 #define IDBLevelDBCoding_h
 
-#if ENABLE(INDEXED_DATABASE)
-#if USE(LEVELDB)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 #include <wtf/RefPtr.h>
 #include <wtf/Vector.h>
@@ -282,7 +281,7 @@ private:
 class ObjectStoreNamesKey {
 public:
     // FIXME: We never use this to look up object store ids, because a mapping
-    // is kept in the IDBDatabaseBackendImpl. Can the mapping become unreliable?
+    // is kept in the IDBDatabaseBackendLevelDB. Can the mapping become unreliable?
     // Can we remove this?
     static const char* decode(const char* start, const char* limit, ObjectStoreNamesKey* result);
     static Vector<char> encode(int64_t databaseId, const String& objectStoreName);
@@ -363,7 +362,6 @@ private:
 
 } // namespace WebCore
 
-#endif // USE(LEVELDB)
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 #endif // IDBLevelDBCoding_h
  */
 
 #include "config.h"
-#include "IDBObjectStoreBackendImpl.h"
+#include "IDBObjectStoreBackendLevelDB.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBBackingStore.h"
+#include "IDBBackingStoreLevelDB.h"
 #include "IDBBindingUtilities.h"
 #include "IDBCallbacks.h"
-#include "IDBCursorBackendImpl.h"
-#include "IDBDatabaseBackendImpl.h"
+#include "IDBCursorBackendLevelDB.h"
+#include "IDBDatabaseBackendLevelDB.h"
 #include "IDBDatabaseException.h"
 #include "IDBKey.h"
 #include "IDBKeyPath.h"
 #include "IDBKeyRange.h"
 #include "IDBTracing.h"
-#include "IDBTransactionBackendImpl.h"
+#include "IDBTransactionBackendLevelDB.h"
 #include <wtf/MathExtras.h>
 
 namespace WebCore {
 
-bool IDBObjectStoreBackendImpl::IndexWriter::verifyIndexKeys(IDBBackingStore& backingStore, IDBBackingStore::Transaction* transaction, int64_t databaseId, int64_t objectStoreId, int64_t indexId, bool& canAddKeys, const IDBKey* primaryKey, String* errorMessage) const
+bool IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys(IDBBackingStore& backingStore, IDBBackingStore::Transaction* transaction, int64_t databaseId, int64_t objectStoreId, int64_t indexId, bool& canAddKeys, const IDBKey* primaryKey, String* errorMessage) const
 {
     canAddKeys = false;
     for (size_t i = 0; i < m_indexKeys.size(); ++i) {
@@ -60,7 +60,7 @@ bool IDBObjectStoreBackendImpl::IndexWriter::verifyIndexKeys(IDBBackingStore& ba
     return true;
 }
 
-void IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys(const IDBBackingStore::RecordIdentifier& recordIdentifier, IDBBackingStore& backingStore, IDBBackingStore::Transaction* transaction, int64_t databaseId, int64_t objectStoreId) const
+void IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys(const IDBBackingStore::RecordIdentifier& recordIdentifier, IDBBackingStore& backingStore, IDBBackingStore::Transaction* transaction, int64_t databaseId, int64_t objectStoreId) const
 {
     int64_t indexId = m_indexMetadata.id;
     for (size_t i = 0; i < m_indexKeys.size(); ++i) {
@@ -70,7 +70,7 @@ void IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys(const IDBBackingStor
     }
 }
 
-bool IDBObjectStoreBackendImpl::IndexWriter::addingKeyAllowed(IDBBackingStore& backingStore, IDBBackingStore::Transaction* transaction, int64_t databaseId, int64_t objectStoreId, int64_t indexId, const IDBKey* indexKey, const IDBKey* primaryKey, bool& allowed) const
+bool IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed(IDBBackingStore& backingStore, IDBBackingStore::Transaction* transaction, int64_t databaseId, int64_t objectStoreId, int64_t indexId, const IDBKey* indexKey, const IDBKey* primaryKey, bool& allowed) const
 {
     allowed = false;
     if (!m_indexMetadata.unique) {
@@ -88,7 +88,7 @@ bool IDBObjectStoreBackendImpl::IndexWriter::addingKeyAllowed(IDBBackingStore& b
     return true;
 }
 
-bool IDBObjectStoreBackendImpl::makeIndexWriters(PassRefPtr<IDBTransactionBackendImpl> transaction, IDBBackingStore* backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<IDBKey> primaryKey, bool keyWasGenerated, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>& indexKeys, Vector<OwnPtr<IndexWriter> >* indexWriters, String* errorMessage, bool& completed)
+bool IDBObjectStoreBackendLevelDB::makeIndexWriters(PassRefPtr<IDBTransactionBackendLevelDB> transaction, IDBBackingStore* backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<IDBKey> primaryKey, bool keyWasGenerated, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>& indexKeys, Vector<OwnPtr<IndexWriter> >* indexWriters, String* errorMessage, bool& completed)
 {
     ASSERT(indexIds.size() == indexKeys.size());
     completed = false;
@@ -121,7 +121,7 @@ bool IDBObjectStoreBackendImpl::makeIndexWriters(PassRefPtr<IDBTransactionBacken
     return true;
 }
 
-PassRefPtr<IDBKey> IDBObjectStoreBackendImpl::generateKey(PassRefPtr<IDBBackingStore> backingStore, PassRefPtr<IDBTransactionBackendImpl> transaction, int64_t databaseId, int64_t objectStoreId)
+PassRefPtr<IDBKey> IDBObjectStoreBackendLevelDB::generateKey(PassRefPtr<IDBBackingStore> backingStore, PassRefPtr<IDBTransactionBackendLevelDB> transaction, int64_t databaseId, int64_t objectStoreId)
 {
     const int64_t maxGeneratorValue = 9007199254740992LL; // Maximum integer storable as ECMAScript number.
     int64_t currentNumber;
@@ -136,7 +136,7 @@ PassRefPtr<IDBKey> IDBObjectStoreBackendImpl::generateKey(PassRefPtr<IDBBackingS
     return IDBKey::createNumber(currentNumber);
 }
 
-bool IDBObjectStoreBackendImpl::updateKeyGenerator(PassRefPtr<IDBBackingStore> backingStore, PassRefPtr<IDBTransactionBackendImpl> transaction, int64_t databaseId, int64_t objectStoreId, const IDBKey* key, bool checkCurrent)
+bool IDBObjectStoreBackendLevelDB::updateKeyGenerator(PassRefPtr<IDBBackingStore> backingStore, PassRefPtr<IDBTransactionBackendLevelDB> transaction, int64_t databaseId, int64_t objectStoreId, const IDBKey* key, bool checkCurrent)
 {
     ASSERT(key && key->type() == IDBKey::NumberType);
     return backingStore->maybeUpdateKeyGeneratorCurrentNumber(transaction->backingStoreTransaction(), databaseId, objectStoreId, static_cast<int64_t>(floor(key->number())) + 1, checkCurrent);
@@ -144,4 +144,4 @@ bool IDBObjectStoreBackendImpl::updateKeyGenerator(PassRefPtr<IDBBackingStore> b
 
 } // namespace WebCore
 
-#endif
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef IDBObjectStoreBackendImpl_h
-#define IDBObjectStoreBackendImpl_h
+#ifndef IDBObjectStoreBackendLevelDB_h
+#define IDBObjectStoreBackendLevelDB_h
 
-#include "IDBBackingStore.h"
-#include "IDBDatabaseBackendImpl.h"
+#include "IDBBackingStoreLevelDB.h"
+#include "IDBDatabaseBackendLevelDB.h"
 #include "IDBKeyPath.h"
 #include "IDBMetadata.h"
 #include <wtf/HashMap.h>
 #include <wtf/text/StringHash.h>
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
 namespace WebCore {
 
-class IDBDatabaseBackendImpl;
-class IDBTransactionBackendImpl;
+class IDBDatabaseBackendLevelDB;
+class IDBTransactionBackendLevelDB;
 struct IDBObjectStoreMetadata;
 
 // FIXME: this namespace is temporary until we move its contents out to their own home.
-namespace IDBObjectStoreBackendImpl {
+namespace IDBObjectStoreBackendLevelDB {
 
     class IndexWriter {
     public:
@@ -66,14 +66,14 @@ namespace IDBObjectStoreBackendImpl {
         IDBDatabaseBackendInterface::IndexKeys m_indexKeys;
     };
 
-    bool makeIndexWriters(PassRefPtr<IDBTransactionBackendImpl>, IDBBackingStore*, int64_t databaseId, const IDBObjectStoreMetadata&, PassRefPtr<IDBKey> primaryKey, bool keyWasGenerated, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>&, Vector<OwnPtr<IndexWriter> >* indexWriters, String* errorMessage, bool& completed) WARN_UNUSED_RETURN;
+    bool makeIndexWriters(PassRefPtr<IDBTransactionBackendLevelDB>, IDBBackingStore*, int64_t databaseId, const IDBObjectStoreMetadata&, PassRefPtr<IDBKey> primaryKey, bool keyWasGenerated, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>&, Vector<OwnPtr<IndexWriter> >* indexWriters, String* errorMessage, bool& completed) WARN_UNUSED_RETURN;
 
-    PassRefPtr<IDBKey> generateKey(PassRefPtr<IDBBackingStore>, PassRefPtr<IDBTransactionBackendImpl>, int64_t databaseId, int64_t objectStoreId);
-    bool updateKeyGenerator(PassRefPtr<IDBBackingStore>, PassRefPtr<IDBTransactionBackendImpl>, int64_t databaseId, int64_t objectStoreId, const IDBKey*, bool checkCurrent);
+    PassRefPtr<IDBKey> generateKey(PassRefPtr<IDBBackingStore>, PassRefPtr<IDBTransactionBackendLevelDB>, int64_t databaseId, int64_t objectStoreId);
+    bool updateKeyGenerator(PassRefPtr<IDBBackingStore>, PassRefPtr<IDBTransactionBackendLevelDB>, int64_t databaseId, int64_t objectStoreId, const IDBKey*, bool checkCurrent);
 };
 
 } // namespace WebCore
 
-#endif
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#endif // IDBObjectStoreBackendImpl_h
+#endif // IDBObjectStoreBackendLevelDB_h
  */
 
 #include "config.h"
-#include "IDBTransactionBackendImpl.h"
+#include "IDBTransactionBackendLevelDB.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBBackingStore.h"
+#include "IDBBackingStoreLevelDB.h"
 #include "IDBCursorBackendImpl.h"
-#include "IDBDatabaseBackendImpl.h"
+#include "IDBDatabaseBackendLevelDB.h"
 #include "IDBDatabaseCallbacks.h"
 #include "IDBDatabaseException.h"
 #include "IDBTracing.h"
-#include "IDBTransactionCoordinator.h"
+#include "IDBTransactionCoordinatorLevelDB.h"
 
 namespace WebCore {
 
-PassRefPtr<IDBTransactionBackendImpl> IDBTransactionBackendImpl::create(int64_t id, PassRefPtr<IDBDatabaseCallbacks> callbacks, const Vector<int64_t>& objectStoreIds, IndexedDB::TransactionMode mode, IDBDatabaseBackendImpl* database)
+PassRefPtr<IDBTransactionBackendLevelDB> IDBTransactionBackendLevelDB::create(int64_t id, PassRefPtr<IDBDatabaseCallbacks> callbacks, const Vector<int64_t>& objectStoreIds, IndexedDB::TransactionMode mode, IDBDatabaseBackendImpl* database)
 {
     HashSet<int64_t> objectStoreHashSet;
     for (size_t i = 0; i < objectStoreIds.size(); ++i)
         objectStoreHashSet.add(objectStoreIds[i]);
 
-    return adoptRef(new IDBTransactionBackendImpl(id, callbacks, objectStoreHashSet, mode, database));
+    return adoptRef(new IDBTransactionBackendLevelDB(id, callbacks, objectStoreHashSet, mode, database));
 }
 
-IDBTransactionBackendImpl::IDBTransactionBackendImpl(int64_t id, PassRefPtr<IDBDatabaseCallbacks> callbacks, const HashSet<int64_t>& objectStoreIds, IndexedDB::TransactionMode mode, IDBDatabaseBackendImpl* database)
+IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB(int64_t id, PassRefPtr<IDBDatabaseCallbacks> callbacks, const HashSet<int64_t>& objectStoreIds, IndexedDB::TransactionMode mode, IDBDatabaseBackendImpl* database)
     : m_id(id)
     , m_objectStoreIds(objectStoreIds)
     , m_mode(mode)
@@ -56,7 +56,7 @@ IDBTransactionBackendImpl::IDBTransactionBackendImpl(int64_t id, PassRefPtr<IDBD
     , m_callbacks(callbacks)
     , m_database(database)
     , m_transaction(database->backingStore().get())
-    , m_taskTimer(this, &IDBTransactionBackendImpl::taskTimerFired)
+    , m_taskTimer(this, &IDBTransactionBackendLevelDB::taskTimerFired)
     , m_pendingPreemptiveEvents(0)
 {
     // We pass a reference of this object before it can be adopted.
@@ -65,13 +65,13 @@ IDBTransactionBackendImpl::IDBTransactionBackendImpl(int64_t id, PassRefPtr<IDBD
     m_database->transactionCoordinator()->didCreateTransaction(this);
 }
 
-IDBTransactionBackendImpl::~IDBTransactionBackendImpl()
+IDBTransactionBackendLevelDB::~IDBTransactionBackendLevelDB()
 {
     // It shouldn't be possible for this object to get deleted until it's either complete or aborted.
     ASSERT(m_state == Finished);
 }
 
-void IDBTransactionBackendImpl::scheduleTask(IDBDatabaseBackendInterface::TaskType type, PassOwnPtr<Operation> task, PassOwnPtr<Operation> abortTask)
+void IDBTransactionBackendLevelDB::scheduleTask(IDBDatabaseBackendInterface::TaskType type, PassOwnPtr<Operation> task, PassOwnPtr<Operation> abortTask)
 {
     if (m_state == Finished)
         return;
@@ -90,14 +90,14 @@ void IDBTransactionBackendImpl::scheduleTask(IDBDatabaseBackendInterface::TaskTy
         m_taskTimer.startOneShot(0);
 }
 
-void IDBTransactionBackendImpl::abort()
+void IDBTransactionBackendLevelDB::abort()
 {
     abort(IDBDatabaseError::create(IDBDatabaseException::UnknownError, "Internal error (unknown cause)"));
 }
 
-void IDBTransactionBackendImpl::abort(PassRefPtr<IDBDatabaseError> error)
+void IDBTransactionBackendLevelDB::abort(PassRefPtr<IDBDatabaseError> error)
 {
-    IDB_TRACE("IDBTransactionBackendImpl::abort");
+    IDB_TRACE("IDBTransactionBackendLevelDB::abort");
     if (m_state == Finished)
         return;
 
@@ -106,7 +106,7 @@ void IDBTransactionBackendImpl::abort(PassRefPtr<IDBDatabaseError> error)
     // The last reference to this object may be released while performing the
     // abort steps below. We therefore take a self reference to keep ourselves
     // alive while executing this method.
-    Ref<IDBTransactionBackendImpl> protect(*this);
+    Ref<IDBTransactionBackendLevelDB> protect(*this);
 
     m_state = Finished;
     m_taskTimer.stop();
@@ -140,27 +140,27 @@ void IDBTransactionBackendImpl::abort(PassRefPtr<IDBDatabaseError> error)
     m_database = 0;
 }
 
-bool IDBTransactionBackendImpl::isTaskQueueEmpty() const
+bool IDBTransactionBackendLevelDB::isTaskQueueEmpty() const
 {
     return m_preemptiveTaskQueue.isEmpty() && m_taskQueue.isEmpty();
 }
 
-bool IDBTransactionBackendImpl::hasPendingTasks() const
+bool IDBTransactionBackendLevelDB::hasPendingTasks() const
 {
     return m_pendingPreemptiveEvents || !isTaskQueueEmpty();
 }
 
-void IDBTransactionBackendImpl::registerOpenCursor(IDBCursorBackendImpl* cursor)
+void IDBTransactionBackendLevelDB::registerOpenCursor(IDBCursorBackendImpl* cursor)
 {
     m_openCursors.add(cursor);
 }
 
-void IDBTransactionBackendImpl::unregisterOpenCursor(IDBCursorBackendImpl* cursor)
+void IDBTransactionBackendLevelDB::unregisterOpenCursor(IDBCursorBackendImpl* cursor)
 {
     m_openCursors.remove(cursor);
 }
 
-void IDBTransactionBackendImpl::run()
+void IDBTransactionBackendLevelDB::run()
 {
     // TransactionCoordinator has started this transaction. Schedule a timer
     // to process the first task.
@@ -170,7 +170,7 @@ void IDBTransactionBackendImpl::run()
     m_taskTimer.startOneShot(0);
 }
 
-void IDBTransactionBackendImpl::start()
+void IDBTransactionBackendLevelDB::start()
 {
     ASSERT(m_state == Unused);
 
@@ -179,9 +179,9 @@ void IDBTransactionBackendImpl::start()
     m_database->transactionStarted(this);
 }
 
-void IDBTransactionBackendImpl::commit()
+void IDBTransactionBackendLevelDB::commit()
 {
-    IDB_TRACE("IDBTransactionBackendImpl::commit");
+    IDB_TRACE("IDBTransactionBackendLevelDB::commit");
 
     // In multiprocess ports, front-end may have requested a commit but an abort has already
     // been initiated asynchronously by the back-end.
@@ -199,7 +199,7 @@ void IDBTransactionBackendImpl::commit()
     // The last reference to this object may be released while performing the
     // commit steps below. We therefore take a self reference to keep ourselves
     // alive while executing this method.
-    Ref<IDBTransactionBackendImpl> protect(*this);
+    Ref<IDBTransactionBackendLevelDB> protect(*this);
 
     bool unused = m_state == Unused;
     m_state = Finished;
@@ -229,9 +229,9 @@ void IDBTransactionBackendImpl::commit()
     m_database = 0;
 }
 
-void IDBTransactionBackendImpl::taskTimerFired(Timer<IDBTransactionBackendImpl>*)
+void IDBTransactionBackendLevelDB::taskTimerFired(Timer<IDBTransactionBackendLevelDB>*)
 {
-    IDB_TRACE("IDBTransactionBackendImpl::taskTimerFired");
+    IDB_TRACE("IDBTransactionBackendLevelDB::taskTimerFired");
     ASSERT(!isTaskQueueEmpty());
 
     if (m_state == StartPending) {
@@ -242,7 +242,7 @@ void IDBTransactionBackendImpl::taskTimerFired(Timer<IDBTransactionBackendImpl>*
     // The last reference to this object may be released while performing the
     // tasks. Take take a self reference to keep this object alive so that
     // the loop termination conditions can be checked.
-    Ref<IDBTransactionBackendImpl> protect(*this);
+    Ref<IDBTransactionBackendLevelDB> protect(*this);
 
     TaskQueue* taskQueue = m_pendingPreemptiveEvents ? &m_preemptiveTaskQueue : &m_taskQueue;
     while (!taskQueue->isEmpty() && m_state != Finished) {
@@ -260,7 +260,7 @@ void IDBTransactionBackendImpl::taskTimerFired(Timer<IDBTransactionBackendImpl>*
         commit();
 }
 
-void IDBTransactionBackendImpl::closeOpenCursors()
+void IDBTransactionBackendLevelDB::closeOpenCursors()
 {
     for (HashSet<IDBCursorBackendImpl*>::iterator i = m_openCursors.begin(); i != m_openCursors.end(); ++i)
         (*i)->close();
@@ -269,4 +269,4 @@ void IDBTransactionBackendImpl::closeOpenCursors()
 
 };
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef IDBTransactionBackendImpl_h
-#define IDBTransactionBackendImpl_h
+#ifndef IDBTransactionBackendLevelDB_h
+#define IDBTransactionBackendLevelDB_h
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBBackingStore.h"
+#include "IDBBackingStoreLevelDB.h"
 #include "IDBDatabaseBackendInterface.h"
 #include "IDBDatabaseError.h"
 #include "Timer.h"
@@ -42,10 +42,10 @@ class IDBDatabaseBackendImpl;
 class IDBCursorBackendImpl;
 class IDBDatabaseCallbacks;
 
-class IDBTransactionBackendImpl : public RefCounted<IDBTransactionBackendImpl> {
+class IDBTransactionBackendLevelDB : public RefCounted<IDBTransactionBackendLevelDB> {
 public:
-    static PassRefPtr<IDBTransactionBackendImpl> create(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks>, const Vector<int64_t>&, IndexedDB::TransactionMode, IDBDatabaseBackendImpl*);
-    virtual ~IDBTransactionBackendImpl();
+    static PassRefPtr<IDBTransactionBackendLevelDB> create(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks>, const Vector<int64_t>&, IndexedDB::TransactionMode, IDBDatabaseBackendImpl*);
+    virtual ~IDBTransactionBackendLevelDB();
 
     virtual void abort();
     void commit();
@@ -53,7 +53,7 @@ public:
     class Operation {
     public:
         virtual ~Operation() { }
-        virtual void perform(IDBTransactionBackendImpl*) = 0;
+        virtual void perform(IDBTransactionBackendLevelDB*) = 0;
     };
 
     void abort(PassRefPtr<IDBDatabaseError>);
@@ -72,7 +72,7 @@ public:
     IDBDatabaseBackendImpl* database() const { return m_database.get(); }
 
 private:
-    IDBTransactionBackendImpl(int64_t id, PassRefPtr<IDBDatabaseCallbacks>, const HashSet<int64_t>& objectStoreIds, IndexedDB::TransactionMode, IDBDatabaseBackendImpl*);
+    IDBTransactionBackendLevelDB(int64_t id, PassRefPtr<IDBDatabaseCallbacks>, const HashSet<int64_t>& objectStoreIds, IndexedDB::TransactionMode, IDBDatabaseBackendImpl*);
 
     enum State {
         Unused, // Created, but no tasks yet.
@@ -86,7 +86,7 @@ private:
     bool isTaskQueueEmpty() const;
     bool hasPendingTasks() const;
 
-    void taskTimerFired(Timer<IDBTransactionBackendImpl>*);
+    void taskTimerFired(Timer<IDBTransactionBackendLevelDB>*);
     void closeOpenCursors();
 
     const int64_t m_id;
@@ -106,7 +106,7 @@ private:
     IDBBackingStore::Transaction m_transaction;
 
     // FIXME: delete the timer once we have threads instead.
-    Timer<IDBTransactionBackendImpl> m_taskTimer;
+    Timer<IDBTransactionBackendLevelDB> m_taskTimer;
     int m_pendingPreemptiveEvents;
 
     HashSet<IDBCursorBackendImpl*> m_openCursors;
@@ -114,6 +114,6 @@ private:
 
 } // namespace WebCore
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#endif // IDBTransactionBackendImpl_h
+#endif // IDBTransactionBackendLevelDB_h
  */
 
 #include "config.h"
-#include "IDBTransactionCoordinator.h"
+#include "IDBTransactionCoordinatorLevelDB.h"
 
-#if ENABLE(INDEXED_DATABASE)
+#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
 
-#include "IDBDatabaseBackendImpl.h"
-#include "IDBTransactionBackendImpl.h"
+#include "IDBDatabaseBackendLevelDB.h"
+#include "IDBTransactionBackendLevelDB.h"
 
 namespace WebCore {
 
-PassOwnPtr<IDBTransactionCoordinator> IDBTransactionCoordinator::create()
+PassOwnPtr<IDBTransactionCoordinatorLevelDB> IDBTransactionCoordinatorLevelDB::create()
 {
-    return adoptPtr(new IDBTransactionCoordinator());
+    return adoptPtr(new IDBTransactionCoordinatorLevelDB());
 }
 
-IDBTransactionCoordinator::IDBTransactionCoordinator()
+IDBTransactionCoordinatorLevelDB::IDBTransactionCoordinatorLevelDB()
 {
 }
 
-IDBTransactionCoordinator::~IDBTransactionCoordinator()
+IDBTransactionCoordinatorLevelDB::~IDBTransactionCoordinatorLevelDB()
 {
 }
 
-void IDBTransactionCoordinator::didCreateTransaction(IDBTransactionBackendImpl* transaction)
+void IDBTransactionCoordinatorLevelDB::didCreateTransaction(IDBTransactionBackendLevelDB* transaction)
 {
     ASSERT(!m_transactions.contains(transaction));
     m_transactions.add(transaction, transaction);
 }
 
-void IDBTransactionCoordinator::didStartTransaction(IDBTransactionBackendImpl* transaction)
+void IDBTransactionCoordinatorLevelDB::didStartTransaction(IDBTransactionBackendLevelDB* transaction)
 {
     ASSERT(m_transactions.contains(transaction));
 
@@ -60,7 +60,7 @@ void IDBTransactionCoordinator::didStartTransaction(IDBTransactionBackendImpl* t
     processStartedTransactions();
 }
 
-void IDBTransactionCoordinator::didFinishTransaction(IDBTransactionBackendImpl* transaction)
+void IDBTransactionCoordinatorLevelDB::didFinishTransaction(IDBTransactionBackendLevelDB* transaction)
 {
     ASSERT(m_transactions.contains(transaction));
 
@@ -77,7 +77,7 @@ void IDBTransactionCoordinator::didFinishTransaction(IDBTransactionBackendImpl*
 
 #ifndef NDEBUG
 // Verifies internal consistiency while returning whether anything is found.
-bool IDBTransactionCoordinator::isActive(IDBTransactionBackendImpl* transaction)
+bool IDBTransactionCoordinatorLevelDB::isActive(IDBTransactionBackendLevelDB* transaction)
 {
     bool found = false;
     if (m_queuedTransactions.contains(transaction))
@@ -91,16 +91,16 @@ bool IDBTransactionCoordinator::isActive(IDBTransactionBackendImpl* transaction)
 }
 #endif
 
-void IDBTransactionCoordinator::processStartedTransactions()
+void IDBTransactionCoordinatorLevelDB::processStartedTransactions()
 {
     if (m_queuedTransactions.isEmpty())
         return;
 
     ASSERT(m_startedTransactions.isEmpty() || (*m_startedTransactions.begin())->mode() != IndexedDB::TransactionVersionChange);
 
-    ListHashSet<IDBTransactionBackendImpl*>::const_iterator it = m_queuedTransactions.begin();
+    ListHashSet<IDBTransactionBackendLevelDB*>::const_iterator it = m_queuedTransactions.begin();
     while (it != m_queuedTransactions.end()) {
-        IDBTransactionBackendImpl* transaction = *it;
+        IDBTransactionBackendLevelDB* transaction = *it;
         ++it;
         if (canRunTransaction(transaction)) {
             m_queuedTransactions.remove(transaction);
@@ -119,7 +119,7 @@ static bool doScopesOverlap(const HashSet<int64_t>& scope1, const HashSet<int64_
     return false;
 }
 
-bool IDBTransactionCoordinator::canRunTransaction(IDBTransactionBackendImpl* transaction)
+bool IDBTransactionCoordinatorLevelDB::canRunTransaction(IDBTransactionBackendLevelDB* transaction)
 {
     ASSERT(m_queuedTransactions.contains(transaction));
     switch (transaction->mode()) {
@@ -132,11 +132,11 @@ bool IDBTransactionCoordinator::canRunTransaction(IDBTransactionBackendImpl* tra
         return true;
 
     case IndexedDB::TransactionReadWrite:
-        for (HashSet<IDBTransactionBackendImpl*>::const_iterator it = m_startedTransactions.begin(); it != m_startedTransactions.end(); ++it) {
+        for (HashSet<IDBTransactionBackendLevelDB*>::const_iterator it = m_startedTransactions.begin(); it != m_startedTransactions.end(); ++it) {
             if ((*it)->mode() == IndexedDB::TransactionReadWrite && doScopesOverlap(transaction->scope(), (*it)->scope()))
                 return false;
         }
-        for (ListHashSet<IDBTransactionBackendImpl*>::const_iterator it = m_queuedTransactions.begin(); *it != transaction; ++it) {
+        for (ListHashSet<IDBTransactionBackendLevelDB*>::const_iterator it = m_queuedTransactions.begin(); *it != transaction; ++it) {
             ASSERT(it != m_queuedTransactions.end());
             if ((*it)->mode() == IndexedDB::TransactionReadWrite && doScopesOverlap(transaction->scope(), (*it)->scope()))
                 return false;
@@ -149,4 +149,4 @@ bool IDBTransactionCoordinator::canRunTransaction(IDBTransactionBackendImpl* tra
 
 };
 
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
@@ -23,8 +23,8 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef IDBTransactionCoordinator_h
-#define IDBTransactionCoordinator_h
+#ifndef IDBTransactionCoordinatorLevelDB_h
+#define IDBTransactionCoordinatorLevelDB_h
 
 #if ENABLE(INDEXED_DATABASE)
 
 
 namespace WebCore {
 
-class IDBTransactionBackendImpl;
-class IDBDatabaseBackendImpl;
+class IDBTransactionBackendLevelDB;
 
 // Transactions are executed in the order the were created.
-class IDBTransactionCoordinator {
+class IDBTransactionCoordinatorLevelDB {
 public:
-    static PassOwnPtr<IDBTransactionCoordinator> create();
-    virtual ~IDBTransactionCoordinator();
+    static PassOwnPtr<IDBTransactionCoordinatorLevelDB> create();
+    virtual ~IDBTransactionCoordinatorLevelDB();
 
     // Called by transactions as they start and finish.
-    void didCreateTransaction(IDBTransactionBackendImpl*);
-    void didStartTransaction(IDBTransactionBackendImpl*);
-    void didFinishTransaction(IDBTransactionBackendImpl*);
+    void didCreateTransaction(IDBTransactionBackendLevelDB*);
+    void didStartTransaction(IDBTransactionBackendLevelDB*);
+    void didFinishTransaction(IDBTransactionBackendLevelDB*);
 
 #ifndef NDEBUG
-    bool isActive(IDBTransactionBackendImpl*);
+    bool isActive(IDBTransactionBackendLevelDB*);
 #endif
 
 private:
-    IDBTransactionCoordinator();
+    IDBTransactionCoordinatorLevelDB();
 
     void processStartedTransactions();
-    bool canRunTransaction(IDBTransactionBackendImpl*);
+    bool canRunTransaction(IDBTransactionBackendLevelDB*);
 
     // This is just an efficient way to keep references to all transactions.
-    HashMap<IDBTransactionBackendImpl*, RefPtr<IDBTransactionBackendImpl> > m_transactions;
+    HashMap<IDBTransactionBackendLevelDB*, RefPtr<IDBTransactionBackendLevelDB> > m_transactions;
     // Transactions in different states are grouped below.
-    ListHashSet<IDBTransactionBackendImpl*> m_queuedTransactions;
-    HashSet<IDBTransactionBackendImpl*> m_startedTransactions;
+    ListHashSet<IDBTransactionBackendLevelDB*> m_queuedTransactions;
+    HashSet<IDBTransactionBackendLevelDB*> m_startedTransactions;
 };
 
 } // namespace WebCore
 
 #endif // ENABLE(INDEXED_DATABASE)
 
-#endif // IDBTransactionCoordinator_h
+#endif // IDBTransactionCoordinatorLevelDB_h
index 626c32e..fa846a2 100644 (file)
@@ -3059,23 +3059,23 @@ enable?(INDEXED_DATABASE) {
         Modules/indexeddb/IDBAny.h \
         Modules/indexeddb/IDBCallbacks.h \
         Modules/indexeddb/IDBCursor.h \
-        Modules/indexeddb/IDBCursorBackendImpl.h \
+        Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h \
         Modules/indexeddb/IDBCursorBackendInterface.h \
         Modules/indexeddb/IDBDatabase.h \
-        Modules/indexeddb/IDBDatabaseBackendImpl.h \
+        Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h \
         Modules/indexeddb/IDBDatabaseBackendInterface.h \
         Modules/indexeddb/IDBDatabaseError.h \
         Modules/indexeddb/IDBDatabaseException.h \
         Modules/indexeddb/IDBEventDispatcher.h \
         Modules/indexeddb/IDBFactory.h \
-        Modules/indexeddb/IDBFactoryBackendImpl.h \
+        Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h \
         Modules/indexeddb/IDBFactoryBackendInterface.h \
         Modules/indexeddb/IDBHistograms.h \
         Modules/indexeddb/IDBIndex.h \
         Modules/indexeddb/IDBKey.h \
         Modules/indexeddb/IDBKeyRange.h \
         Modules/indexeddb/IDBObjectStore.h \
-        Modules/indexeddb/IDBObjectStoreBackendImpl.h \
+        Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h \
         Modules/indexeddb/IDBRequest.h \
         Modules/indexeddb/IDBTransaction.h \
         Modules/indexeddb/IndexedDB.h
@@ -3088,19 +3088,19 @@ enable?(INDEXED_DATABASE) {
         Modules/indexeddb/DOMWindowIndexedDatabase.cpp \
         Modules/indexeddb/IDBAny.cpp \
         Modules/indexeddb/IDBCursor.cpp \
-        Modules/indexeddb/IDBCursorBackendImpl.cpp \
+        Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp \
         Modules/indexeddb/IDBDatabase.cpp \
-        Modules/indexeddb/IDBDatabaseBackendImpl.cpp \
+        Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp \
         Modules/indexeddb/IDBDatabaseException.cpp \
         Modules/indexeddb/IDBEventDispatcher.cpp \
         Modules/indexeddb/IDBFactory.cpp \
         Modules/indexeddb/IDBFactoryBackendInterface.cpp \
-        Modules/indexeddb/IDBFactoryBackendImpl.cpp \
+        Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp \
         Modules/indexeddb/IDBIndex.cpp \
         Modules/indexeddb/IDBKey.cpp \
         Modules/indexeddb/IDBKeyRange.cpp \
         Modules/indexeddb/IDBObjectStore.cpp \
-        Modules/indexeddb/IDBObjectStoreBackendImpl.cpp \
+        Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp \
         Modules/indexeddb/IDBRequest.cpp \
         Modules/indexeddb/IDBTransaction.cpp \
         Modules/indexeddb/PageGroupIndexedDatabase.cpp \
index e3f5ecc..e656a47 100644 (file)
     <ClCompile Include="..\Modules\indexeddb\DOMWindowIndexedDatabase.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBAny.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBCursor.cpp" />
-    <ClCompile Include="..\Modules\indexeddb\IDBCursorBackendImpl.cpp" />
+    <ClCompile Include="..\Modules\indexeddb\leveldb\IDBCursorBackendLevelDB.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBDatabase.cpp" />
-    <ClCompile Include="..\Modules\indexeddb\IDBDatabaseBackendImpl.cpp" />
+    <ClCompile Include="..\Modules\indexeddb\leveldb\IDBDatabaseBackendLevelDB.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBFactory.cpp" />
-    <ClCompile Include="..\Modules\indexeddb\IDBFactoryBackendImpl.cpp" />
+    <ClCompile Include="..\Modules\indexeddb\leveldb\IDBFactoryBackendLevelDB.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBFactoryBackendInterface.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBIndex.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBKey.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBKeyRange.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBObjectStore.cpp" />
-    <ClCompile Include="..\Modules\indexeddb\IDBObjectStoreBackendImpl.cpp" />
+    <ClCompile Include="..\Modules\indexeddb\leveldb\IDBObjectStoreBackendLevelDB.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBRequest.cpp" />
     <ClCompile Include="..\Modules\indexeddb\IDBTransaction.cpp" />
     <ClCompile Include="..\Modules\indexeddb\PageGroupIndexedDatabase.cpp" />
index f54dd59..6da37b2 100644 (file)
                511EF2CF17F0FDF100E4FA16 /* JSIDBAnyCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CC17F0FDF100E4FA16 /* JSIDBAnyCustom.cpp */; };
                511EF2D017F0FDF100E4FA16 /* JSIDBDatabaseCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CD17F0FDF100E4FA16 /* JSIDBDatabaseCustom.cpp */; };
                511EF2D117F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF2CE17F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp */; };
-               511EF32917F0FF0300E4FA16 /* IDBBackingStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF32817F0FF0300E4FA16 /* IDBBackingStore.cpp */; };
+               511EF33917F23B7300E4FA16 /* IDBBackingStoreLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF32B17F23B6900E4FA16 /* IDBBackingStoreLevelDB.cpp */; };
+               511EF33A17F23B7300E4FA16 /* IDBCursorBackendLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF32D17F23B6900E4FA16 /* IDBCursorBackendLevelDB.cpp */; };
+               511EF33B17F23B7300E4FA16 /* IDBDatabaseBackendLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF32F17F23B6900E4FA16 /* IDBDatabaseBackendLevelDB.cpp */; };
+               511EF33C17F23B7300E4FA16 /* IDBFactoryBackendLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF33117F23B6900E4FA16 /* IDBFactoryBackendLevelDB.cpp */; };
+               511EF33D17F23B7300E4FA16 /* IDBLevelDBCoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF33317F23B6900E4FA16 /* IDBLevelDBCoding.cpp */; };
+               511EF33E17F23B7300E4FA16 /* IDBObjectStoreBackendLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF33517F23B6900E4FA16 /* IDBObjectStoreBackendLevelDB.cpp */; };
+               511EF33F17F23B7300E4FA16 /* IDBTransactionBackendLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EF33717F23B6900E4FA16 /* IDBTransactionBackendLevelDB.cpp */; };
                511F23190DC160DA004F0032 /* StorageThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511F23150DC160DA004F0032 /* StorageThread.cpp */; };
                511F231A0DC160DA004F0032 /* StorageThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 511F23160DC160DA004F0032 /* StorageThread.h */; };
                5126E6BB0A2E3B12005C29FA /* IconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5126E6B90A2E3B12005C29FA /* IconDatabase.cpp */; };
                51C81B890C4422F70019ECE3 /* FTPDirectoryParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51C81B870C4422F70019ECE3 /* FTPDirectoryParser.cpp */; };
                51C81B8A0C4422F70019ECE3 /* FTPDirectoryParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C81B880C4422F70019ECE3 /* FTPDirectoryParser.h */; };
                51CBFC990D10E483002DBF51 /* CachedFramePlatformData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CBFC980D10E483002DBF51 /* CachedFramePlatformData.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               51CEFB2B17F2492900ACAA18 /* IDBTransactionCoordinatorLevelDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51CEFB2917F2492100ACAA18 /* IDBTransactionCoordinatorLevelDB.cpp */; };
                51D0C5160DAA90B7003B3831 /* JSStorageCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */; };
                51DCE8020CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51DCE8010CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp */; };
                51DF6D7E0B92A16D00C2DC85 /* ThreadCheck.h in Headers */ = {isa = PBXBuildFile; fileRef = 51DF6D7D0B92A16D00C2DC85 /* ThreadCheck.h */; settings = {ATTRIBUTES = (Private, ); }; };
                9712A5AD15004EDA0048AF10 /* DOMWindowIndexedDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A55415004EDA0048AF10 /* DOMWindowIndexedDatabase.cpp */; };
                9712A5AE15004EDA0048AF10 /* DOMWindowIndexedDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A55515004EDA0048AF10 /* DOMWindowIndexedDatabase.h */; };
                9712A5B115004EDA0048AF10 /* IDBAny.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A55815004EDA0048AF10 /* IDBAny.h */; };
-               9712A5B315004EDA0048AF10 /* IDBBackingStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A55A15004EDA0048AF10 /* IDBBackingStore.h */; };
                9712A5B415004EDA0048AF10 /* IDBCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A55B15004EDA0048AF10 /* IDBCallbacks.h */; };
                9712A5B615004EDA0048AF10 /* IDBCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A55D15004EDA0048AF10 /* IDBCursor.h */; };
-               9712A5B815004EDA0048AF10 /* IDBCursorBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A55F15004EDA0048AF10 /* IDBCursorBackendImpl.cpp */; };
-               9712A5B915004EDA0048AF10 /* IDBCursorBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56015004EDA0048AF10 /* IDBCursorBackendImpl.h */; };
                9712A5BA15004EDA0048AF10 /* IDBCursorBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56115004EDA0048AF10 /* IDBCursorBackendInterface.h */; };
                9712A5BC15004EDA0048AF10 /* IDBCursorWithValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56315004EDA0048AF10 /* IDBCursorWithValue.h */; };
                9712A5BF15004EDA0048AF10 /* IDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56615004EDA0048AF10 /* IDBDatabase.h */; };
-               9712A5C115004EDA0048AF10 /* IDBDatabaseBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A56815004EDA0048AF10 /* IDBDatabaseBackendImpl.cpp */; };
-               9712A5C215004EDA0048AF10 /* IDBDatabaseBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56915004EDA0048AF10 /* IDBDatabaseBackendImpl.h */; };
                9712A5C315004EDA0048AF10 /* IDBDatabaseBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56A15004EDA0048AF10 /* IDBDatabaseBackendInterface.h */; };
                9712A5C415004EDA0048AF10 /* IDBDatabaseCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A56B15004EDA0048AF10 /* IDBDatabaseCallbacks.h */; };
                9712A5C515004EDA0048AF10 /* IDBDatabaseCallbacksImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A56C15004EDA0048AF10 /* IDBDatabaseCallbacksImpl.cpp */; };
                9712A5CA15004EDA0048AF10 /* IDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A57115004EDA0048AF10 /* IDBDatabaseException.h */; };
                9712A5CD15004EDA0048AF10 /* IDBEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A57415004EDA0048AF10 /* IDBEventDispatcher.h */; };
                9712A5CF15004EDA0048AF10 /* IDBFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A57615004EDA0048AF10 /* IDBFactory.h */; };
-               9712A5D115004EDA0048AF10 /* IDBFactoryBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A57815004EDA0048AF10 /* IDBFactoryBackendImpl.cpp */; };
-               9712A5D215004EDA0048AF10 /* IDBFactoryBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A57915004EDA0048AF10 /* IDBFactoryBackendImpl.h */; };
                9712A5D315004EDA0048AF10 /* IDBFactoryBackendInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A57A15004EDA0048AF10 /* IDBFactoryBackendInterface.cpp */; };
                9712A5D415004EDA0048AF10 /* IDBFactoryBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A57B15004EDA0048AF10 /* IDBFactoryBackendInterface.h */; };
                9712A5D615004EDA0048AF10 /* IDBIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A57D15004EDA0048AF10 /* IDBIndex.h */; };
                9712A5DF15004EDA0048AF10 /* IDBKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A58615004EDA0048AF10 /* IDBKeyPath.h */; };
                9712A5E315004EDA0048AF10 /* IDBKeyRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A58A15004EDA0048AF10 /* IDBKeyRange.h */; };
                9712A5EA15004EDA0048AF10 /* IDBObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A59115004EDA0048AF10 /* IDBObjectStore.h */; };
-               9712A5EC15004EDA0048AF10 /* IDBObjectStoreBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A59315004EDA0048AF10 /* IDBObjectStoreBackendImpl.cpp */; };
-               9712A5ED15004EDA0048AF10 /* IDBObjectStoreBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A59415004EDA0048AF10 /* IDBObjectStoreBackendImpl.h */; };
                9712A5EF15004EDA0048AF10 /* IDBPendingTransactionMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A59615004EDA0048AF10 /* IDBPendingTransactionMonitor.cpp */; };
                9712A5F015004EDA0048AF10 /* IDBPendingTransactionMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A59715004EDA0048AF10 /* IDBPendingTransactionMonitor.h */; };
                9712A5F215004EDA0048AF10 /* IDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A59915004EDA0048AF10 /* IDBRequest.h */; };
                9712A5F415004EDA0048AF10 /* IDBTracing.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A59B15004EDA0048AF10 /* IDBTracing.h */; };
                9712A5F615004EDA0048AF10 /* IDBTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A59D15004EDA0048AF10 /* IDBTransaction.h */; };
-               9712A5F815004EDA0048AF10 /* IDBTransactionBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A59F15004EDA0048AF10 /* IDBTransactionBackendImpl.cpp */; };
-               9712A5F915004EDA0048AF10 /* IDBTransactionBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A5A015004EDA0048AF10 /* IDBTransactionBackendImpl.h */; };
-               9712A5FC15004EDA0048AF10 /* IDBTransactionCoordinator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A5A315004EDA0048AF10 /* IDBTransactionCoordinator.cpp */; };
-               9712A5FD15004EDA0048AF10 /* IDBTransactionCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A5A415004EDA0048AF10 /* IDBTransactionCoordinator.h */; };
                9712A5FE15004EDA0048AF10 /* IDBVersionChangeEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A5A515004EDA0048AF10 /* IDBVersionChangeEvent.cpp */; };
                9712A5FF15004EDA0048AF10 /* IDBVersionChangeEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A5A615004EDA0048AF10 /* IDBVersionChangeEvent.h */; };
                9712A60415004EDA0048AF10 /* PageGroupIndexedDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A5AB15004EDA0048AF10 /* PageGroupIndexedDatabase.cpp */; };
                511EF2CC17F0FDF100E4FA16 /* JSIDBAnyCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBAnyCustom.cpp; sourceTree = "<group>"; };
                511EF2CD17F0FDF100E4FA16 /* JSIDBDatabaseCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBDatabaseCustom.cpp; sourceTree = "<group>"; };
                511EF2CE17F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBObjectStoreCustom.cpp; sourceTree = "<group>"; };
-               511EF32817F0FF0300E4FA16 /* IDBBackingStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBBackingStore.cpp; path = Modules/indexeddb/IDBBackingStore.cpp; sourceTree = "<group>"; };
+               511EF32B17F23B6900E4FA16 /* IDBBackingStoreLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBBackingStoreLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp; sourceTree = "<group>"; };
+               511EF32C17F23B6900E4FA16 /* IDBBackingStoreLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBBackingStoreLevelDB.h; path = Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h; sourceTree = "<group>"; };
+               511EF32D17F23B6900E4FA16 /* IDBCursorBackendLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBCursorBackendLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp; sourceTree = "<group>"; };
+               511EF32E17F23B6900E4FA16 /* IDBCursorBackendLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBCursorBackendLevelDB.h; path = Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h; sourceTree = "<group>"; };
+               511EF32F17F23B6900E4FA16 /* IDBDatabaseBackendLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBDatabaseBackendLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp; sourceTree = "<group>"; };
+               511EF33017F23B6900E4FA16 /* IDBDatabaseBackendLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBDatabaseBackendLevelDB.h; path = Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h; sourceTree = "<group>"; };
+               511EF33117F23B6900E4FA16 /* IDBFactoryBackendLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBFactoryBackendLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp; sourceTree = "<group>"; };
+               511EF33217F23B6900E4FA16 /* IDBFactoryBackendLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBFactoryBackendLevelDB.h; path = Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h; sourceTree = "<group>"; };
+               511EF33317F23B6900E4FA16 /* IDBLevelDBCoding.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBLevelDBCoding.cpp; path = Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp; sourceTree = "<group>"; };
+               511EF33417F23B6900E4FA16 /* IDBLevelDBCoding.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBLevelDBCoding.h; path = Modules/indexeddb/leveldb/IDBLevelDBCoding.h; sourceTree = "<group>"; };
+               511EF33517F23B6900E4FA16 /* IDBObjectStoreBackendLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBObjectStoreBackendLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp; sourceTree = "<group>"; };
+               511EF33617F23B6900E4FA16 /* IDBObjectStoreBackendLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBObjectStoreBackendLevelDB.h; path = Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h; sourceTree = "<group>"; };
+               511EF33717F23B6900E4FA16 /* IDBTransactionBackendLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBTransactionBackendLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp; sourceTree = "<group>"; };
+               511EF33817F23B6900E4FA16 /* IDBTransactionBackendLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBTransactionBackendLevelDB.h; path = Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h; sourceTree = "<group>"; };
                511F23150DC160DA004F0032 /* StorageThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageThread.cpp; sourceTree = "<group>"; };
                511F23160DC160DA004F0032 /* StorageThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageThread.h; sourceTree = "<group>"; };
                5126E6B90A2E3B12005C29FA /* IconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = IconDatabase.cpp; sourceTree = "<group>"; };
                51C81B870C4422F70019ECE3 /* FTPDirectoryParser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FTPDirectoryParser.cpp; sourceTree = "<group>"; };
                51C81B880C4422F70019ECE3 /* FTPDirectoryParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FTPDirectoryParser.h; sourceTree = "<group>"; };
                51CBFC980D10E483002DBF51 /* CachedFramePlatformData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedFramePlatformData.h; sourceTree = "<group>"; };
+               51CEFB2917F2492100ACAA18 /* IDBTransactionCoordinatorLevelDB.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IDBTransactionCoordinatorLevelDB.cpp; path = Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp; sourceTree = "<group>"; };
+               51CEFB2A17F2492100ACAA18 /* IDBTransactionCoordinatorLevelDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IDBTransactionCoordinatorLevelDB.h; path = Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h; sourceTree = "<group>"; };
                51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSStorageCustom.cpp; sourceTree = "<group>"; };
                51DCE8010CAC9F1C00488358 /* JSSQLResultSetRowListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSQLResultSetRowListCustom.cpp; sourceTree = "<group>"; };
                51DF6D7D0B92A16D00C2DC85 /* ThreadCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadCheck.h; sourceTree = "<group>"; };
                9712A55615004EDA0048AF10 /* DOMWindowIndexedDatabase.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = DOMWindowIndexedDatabase.idl; path = Modules/indexeddb/DOMWindowIndexedDatabase.idl; sourceTree = "<group>"; };
                9712A55815004EDA0048AF10 /* IDBAny.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBAny.h; path = Modules/indexeddb/IDBAny.h; sourceTree = "<group>"; };
                9712A55915004EDA0048AF10 /* IDBAny.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBAny.idl; path = Modules/indexeddb/IDBAny.idl; sourceTree = "<group>"; };
-               9712A55A15004EDA0048AF10 /* IDBBackingStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBBackingStore.h; path = Modules/indexeddb/IDBBackingStore.h; sourceTree = "<group>"; };
                9712A55B15004EDA0048AF10 /* IDBCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBCallbacks.h; path = Modules/indexeddb/IDBCallbacks.h; sourceTree = "<group>"; };
                9712A55D15004EDA0048AF10 /* IDBCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBCursor.h; path = Modules/indexeddb/IDBCursor.h; sourceTree = "<group>"; };
                9712A55E15004EDA0048AF10 /* IDBCursor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBCursor.idl; path = Modules/indexeddb/IDBCursor.idl; sourceTree = "<group>"; };
-               9712A55F15004EDA0048AF10 /* IDBCursorBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBCursorBackendImpl.cpp; path = Modules/indexeddb/IDBCursorBackendImpl.cpp; sourceTree = "<group>"; };
-               9712A56015004EDA0048AF10 /* IDBCursorBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBCursorBackendImpl.h; path = Modules/indexeddb/IDBCursorBackendImpl.h; sourceTree = "<group>"; };
                9712A56115004EDA0048AF10 /* IDBCursorBackendInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBCursorBackendInterface.h; path = Modules/indexeddb/IDBCursorBackendInterface.h; sourceTree = "<group>"; };
                9712A56315004EDA0048AF10 /* IDBCursorWithValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBCursorWithValue.h; path = Modules/indexeddb/IDBCursorWithValue.h; sourceTree = "<group>"; };
                9712A56415004EDA0048AF10 /* IDBCursorWithValue.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBCursorWithValue.idl; path = Modules/indexeddb/IDBCursorWithValue.idl; sourceTree = "<group>"; };
                9712A56615004EDA0048AF10 /* IDBDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBDatabase.h; path = Modules/indexeddb/IDBDatabase.h; sourceTree = "<group>"; };
                9712A56715004EDA0048AF10 /* IDBDatabase.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBDatabase.idl; path = Modules/indexeddb/IDBDatabase.idl; sourceTree = "<group>"; };
-               9712A56815004EDA0048AF10 /* IDBDatabaseBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBDatabaseBackendImpl.cpp; path = Modules/indexeddb/IDBDatabaseBackendImpl.cpp; sourceTree = "<group>"; };
-               9712A56915004EDA0048AF10 /* IDBDatabaseBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBDatabaseBackendImpl.h; path = Modules/indexeddb/IDBDatabaseBackendImpl.h; sourceTree = "<group>"; };
                9712A56A15004EDA0048AF10 /* IDBDatabaseBackendInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBDatabaseBackendInterface.h; path = Modules/indexeddb/IDBDatabaseBackendInterface.h; sourceTree = "<group>"; };
                9712A56B15004EDA0048AF10 /* IDBDatabaseCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBDatabaseCallbacks.h; path = Modules/indexeddb/IDBDatabaseCallbacks.h; sourceTree = "<group>"; };
                9712A56C15004EDA0048AF10 /* IDBDatabaseCallbacksImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBDatabaseCallbacksImpl.cpp; path = Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp; sourceTree = "<group>"; };
                9712A57415004EDA0048AF10 /* IDBEventDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBEventDispatcher.h; path = Modules/indexeddb/IDBEventDispatcher.h; sourceTree = "<group>"; };
                9712A57615004EDA0048AF10 /* IDBFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBFactory.h; path = Modules/indexeddb/IDBFactory.h; sourceTree = "<group>"; };
                9712A57715004EDA0048AF10 /* IDBFactory.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBFactory.idl; path = Modules/indexeddb/IDBFactory.idl; sourceTree = "<group>"; };
-               9712A57815004EDA0048AF10 /* IDBFactoryBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBFactoryBackendImpl.cpp; path = Modules/indexeddb/IDBFactoryBackendImpl.cpp; sourceTree = "<group>"; };
-               9712A57915004EDA0048AF10 /* IDBFactoryBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBFactoryBackendImpl.h; path = Modules/indexeddb/IDBFactoryBackendImpl.h; sourceTree = "<group>"; };
                9712A57A15004EDA0048AF10 /* IDBFactoryBackendInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBFactoryBackendInterface.cpp; path = Modules/indexeddb/IDBFactoryBackendInterface.cpp; sourceTree = "<group>"; };
                9712A57B15004EDA0048AF10 /* IDBFactoryBackendInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBFactoryBackendInterface.h; path = Modules/indexeddb/IDBFactoryBackendInterface.h; sourceTree = "<group>"; };
                9712A57D15004EDA0048AF10 /* IDBIndex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBIndex.h; path = Modules/indexeddb/IDBIndex.h; sourceTree = "<group>"; };
                9712A58B15004EDA0048AF10 /* IDBKeyRange.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBKeyRange.idl; path = Modules/indexeddb/IDBKeyRange.idl; sourceTree = "<group>"; };
                9712A59115004EDA0048AF10 /* IDBObjectStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBObjectStore.h; path = Modules/indexeddb/IDBObjectStore.h; sourceTree = "<group>"; };
                9712A59215004EDA0048AF10 /* IDBObjectStore.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBObjectStore.idl; path = Modules/indexeddb/IDBObjectStore.idl; sourceTree = "<group>"; };
-               9712A59315004EDA0048AF10 /* IDBObjectStoreBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBObjectStoreBackendImpl.cpp; path = Modules/indexeddb/IDBObjectStoreBackendImpl.cpp; sourceTree = "<group>"; };
-               9712A59415004EDA0048AF10 /* IDBObjectStoreBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBObjectStoreBackendImpl.h; path = Modules/indexeddb/IDBObjectStoreBackendImpl.h; sourceTree = "<group>"; };
                9712A59615004EDA0048AF10 /* IDBPendingTransactionMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBPendingTransactionMonitor.cpp; path = Modules/indexeddb/IDBPendingTransactionMonitor.cpp; sourceTree = "<group>"; };
                9712A59715004EDA0048AF10 /* IDBPendingTransactionMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBPendingTransactionMonitor.h; path = Modules/indexeddb/IDBPendingTransactionMonitor.h; sourceTree = "<group>"; };
                9712A59915004EDA0048AF10 /* IDBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBRequest.h; path = Modules/indexeddb/IDBRequest.h; sourceTree = "<group>"; };
                9712A59B15004EDA0048AF10 /* IDBTracing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBTracing.h; path = Modules/indexeddb/IDBTracing.h; sourceTree = "<group>"; };
                9712A59D15004EDA0048AF10 /* IDBTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBTransaction.h; path = Modules/indexeddb/IDBTransaction.h; sourceTree = "<group>"; };
                9712A59E15004EDA0048AF10 /* IDBTransaction.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBTransaction.idl; path = Modules/indexeddb/IDBTransaction.idl; sourceTree = "<group>"; };
-               9712A59F15004EDA0048AF10 /* IDBTransactionBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBTransactionBackendImpl.cpp; path = Modules/indexeddb/IDBTransactionBackendImpl.cpp; sourceTree = "<group>"; };
-               9712A5A015004EDA0048AF10 /* IDBTransactionBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBTransactionBackendImpl.h; path = Modules/indexeddb/IDBTransactionBackendImpl.h; sourceTree = "<group>"; };
-               9712A5A315004EDA0048AF10 /* IDBTransactionCoordinator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBTransactionCoordinator.cpp; path = Modules/indexeddb/IDBTransactionCoordinator.cpp; sourceTree = "<group>"; };
-               9712A5A415004EDA0048AF10 /* IDBTransactionCoordinator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBTransactionCoordinator.h; path = Modules/indexeddb/IDBTransactionCoordinator.h; sourceTree = "<group>"; };
                9712A5A515004EDA0048AF10 /* IDBVersionChangeEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBVersionChangeEvent.cpp; path = Modules/indexeddb/IDBVersionChangeEvent.cpp; sourceTree = "<group>"; };
                9712A5A615004EDA0048AF10 /* IDBVersionChangeEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBVersionChangeEvent.h; path = Modules/indexeddb/IDBVersionChangeEvent.h; sourceTree = "<group>"; };
                9712A5A715004EDA0048AF10 /* IDBVersionChangeEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBVersionChangeEvent.idl; path = Modules/indexeddb/IDBVersionChangeEvent.idl; sourceTree = "<group>"; };
                        name = animation;
                        sourceTree = "<group>";
                };
+               511EF32A17F236E900E4FA16 /* leveldb */ = {
+                       isa = PBXGroup;
+                       children = (
+                               511EF32B17F23B6900E4FA16 /* IDBBackingStoreLevelDB.cpp */,
+                               511EF32C17F23B6900E4FA16 /* IDBBackingStoreLevelDB.h */,
+                               511EF32D17F23B6900E4FA16 /* IDBCursorBackendLevelDB.cpp */,
+                               511EF32E17F23B6900E4FA16 /* IDBCursorBackendLevelDB.h */,
+                               511EF32F17F23B6900E4FA16 /* IDBDatabaseBackendLevelDB.cpp */,
+                               511EF33017F23B6900E4FA16 /* IDBDatabaseBackendLevelDB.h */,
+                               511EF33117F23B6900E4FA16 /* IDBFactoryBackendLevelDB.cpp */,
+                               511EF33217F23B6900E4FA16 /* IDBFactoryBackendLevelDB.h */,
+                               511EF33317F23B6900E4FA16 /* IDBLevelDBCoding.cpp */,
+                               511EF33417F23B6900E4FA16 /* IDBLevelDBCoding.h */,
+                               511EF33517F23B6900E4FA16 /* IDBObjectStoreBackendLevelDB.cpp */,
+                               511EF33617F23B6900E4FA16 /* IDBObjectStoreBackendLevelDB.h */,
+                               511EF33717F23B6900E4FA16 /* IDBTransactionBackendLevelDB.cpp */,
+                               511EF33817F23B6900E4FA16 /* IDBTransactionBackendLevelDB.h */,
+                               51CEFB2917F2492100ACAA18 /* IDBTransactionCoordinatorLevelDB.cpp */,
+                               51CEFB2A17F2492100ACAA18 /* IDBTransactionCoordinatorLevelDB.h */,
+                       );
+                       name = leveldb;
+                       sourceTree = "<group>";
+               };
                5126E6B60A2E3AEF005C29FA /* icon */ = {
                        isa = PBXGroup;
                        children = (
                9712A55315004E3C0048AF10 /* indexeddb */ = {
                        isa = PBXGroup;
                        children = (
+                               511EF32A17F236E900E4FA16 /* leveldb */,
                                9712A55415004EDA0048AF10 /* DOMWindowIndexedDatabase.cpp */,
                                9712A55515004EDA0048AF10 /* DOMWindowIndexedDatabase.h */,
                                9712A55615004EDA0048AF10 /* DOMWindowIndexedDatabase.idl */,
                                511EF28817F0FA6E00E4FA16 /* IDBAny.cpp */,
                                9712A55815004EDA0048AF10 /* IDBAny.h */,
                                9712A55915004EDA0048AF10 /* IDBAny.idl */,
-                               511EF32817F0FF0300E4FA16 /* IDBBackingStore.cpp */,
-                               9712A55A15004EDA0048AF10 /* IDBBackingStore.h */,
                                9712A55B15004EDA0048AF10 /* IDBCallbacks.h */,
                                511EF28917F0FA6E00E4FA16 /* IDBCursor.cpp */,
                                9712A55D15004EDA0048AF10 /* IDBCursor.h */,
                                9712A55E15004EDA0048AF10 /* IDBCursor.idl */,
-                               9712A55F15004EDA0048AF10 /* IDBCursorBackendImpl.cpp */,
-                               9712A56015004EDA0048AF10 /* IDBCursorBackendImpl.h */,
                                9712A56115004EDA0048AF10 /* IDBCursorBackendInterface.h */,
                                511EF28A17F0FA6E00E4FA16 /* IDBCursorWithValue.cpp */,
                                9712A56315004EDA0048AF10 /* IDBCursorWithValue.h */,
                                511EF28B17F0FA6E00E4FA16 /* IDBDatabase.cpp */,
                                9712A56615004EDA0048AF10 /* IDBDatabase.h */,
                                9712A56715004EDA0048AF10 /* IDBDatabase.idl */,
-                               9712A56815004EDA0048AF10 /* IDBDatabaseBackendImpl.cpp */,
-                               9712A56915004EDA0048AF10 /* IDBDatabaseBackendImpl.h */,
                                9712A56A15004EDA0048AF10 /* IDBDatabaseBackendInterface.h */,
                                9712A56B15004EDA0048AF10 /* IDBDatabaseCallbacks.h */,
                                9712A56C15004EDA0048AF10 /* IDBDatabaseCallbacksImpl.cpp */,
                                511EF28D17F0FA6E00E4FA16 /* IDBFactory.cpp */,
                                9712A57615004EDA0048AF10 /* IDBFactory.h */,
                                9712A57715004EDA0048AF10 /* IDBFactory.idl */,
-                               9712A57815004EDA0048AF10 /* IDBFactoryBackendImpl.cpp */,
-                               9712A57915004EDA0048AF10 /* IDBFactoryBackendImpl.h */,
                                9712A57A15004EDA0048AF10 /* IDBFactoryBackendInterface.cpp */,
                                9712A57B15004EDA0048AF10 /* IDBFactoryBackendInterface.h */,
                                511EF28E17F0FA6F00E4FA16 /* IDBHistograms.h */,
                                511EF29317F0FA6F00E4FA16 /* IDBObjectStore.cpp */,
                                9712A59115004EDA0048AF10 /* IDBObjectStore.h */,
                                9712A59215004EDA0048AF10 /* IDBObjectStore.idl */,
-                               9712A59315004EDA0048AF10 /* IDBObjectStoreBackendImpl.cpp */,
-                               9712A59415004EDA0048AF10 /* IDBObjectStoreBackendImpl.h */,
                                511EF29417F0FA6F00E4FA16 /* IDBOpenDBRequest.cpp */,
                                511EF29517F0FA6F00E4FA16 /* IDBOpenDBRequest.h */,
                                511EF29617F0FA6F00E4FA16 /* IDBOpenDBRequest.idl */,
                                511EF29817F0FA6F00E4FA16 /* IDBTransaction.cpp */,
                                9712A59D15004EDA0048AF10 /* IDBTransaction.h */,
                                9712A59E15004EDA0048AF10 /* IDBTransaction.idl */,
-                               9712A59F15004EDA0048AF10 /* IDBTransactionBackendImpl.cpp */,
-                               9712A5A015004EDA0048AF10 /* IDBTransactionBackendImpl.h */,
-                               9712A5A315004EDA0048AF10 /* IDBTransactionCoordinator.cpp */,
-                               9712A5A415004EDA0048AF10 /* IDBTransactionCoordinator.h */,
                                9712A5A515004EDA0048AF10 /* IDBVersionChangeEvent.cpp */,
                                9712A5A615004EDA0048AF10 /* IDBVersionChangeEvent.h */,
                                9712A5A715004EDA0048AF10 /* IDBVersionChangeEvent.idl */,
                                51E1ECC10C91C90400DC255B /* IconRecord.h in Headers */,
                                45BAC2B01360BBAB005DA258 /* IconURL.h in Headers */,
                                9712A5B115004EDA0048AF10 /* IDBAny.h in Headers */,
-                               9712A5B315004EDA0048AF10 /* IDBBackingStore.h in Headers */,
                                C585A66311D4FAC5004C3E4B /* IDBBindingUtilities.h in Headers */,
                                9712A5B415004EDA0048AF10 /* IDBCallbacks.h in Headers */,
                                9712A5B615004EDA0048AF10 /* IDBCursor.h in Headers */,
-                               9712A5B915004EDA0048AF10 /* IDBCursorBackendImpl.h in Headers */,
                                9712A5BA15004EDA0048AF10 /* IDBCursorBackendInterface.h in Headers */,
                                9712A5BC15004EDA0048AF10 /* IDBCursorWithValue.h in Headers */,
                                9712A5BF15004EDA0048AF10 /* IDBDatabase.h in Headers */,
-                               9712A5C215004EDA0048AF10 /* IDBDatabaseBackendImpl.h in Headers */,
                                9712A5C315004EDA0048AF10 /* IDBDatabaseBackendInterface.h in Headers */,
                                9712A5C415004EDA0048AF10 /* IDBDatabaseCallbacks.h in Headers */,
                                9712A5C615004EDA0048AF10 /* IDBDatabaseCallbacksImpl.h in Headers */,
                                9712A5CA15004EDA0048AF10 /* IDBDatabaseException.h in Headers */,
                                9712A5CD15004EDA0048AF10 /* IDBEventDispatcher.h in Headers */,
                                9712A5CF15004EDA0048AF10 /* IDBFactory.h in Headers */,
-                               9712A5D215004EDA0048AF10 /* IDBFactoryBackendImpl.h in Headers */,
                                9712A5D415004EDA0048AF10 /* IDBFactoryBackendInterface.h in Headers */,
                                9712A5D615004EDA0048AF10 /* IDBIndex.h in Headers */,
                                9712A5DC15004EDA0048AF10 /* IDBKey.h in Headers */,
                                9712A5DF15004EDA0048AF10 /* IDBKeyPath.h in Headers */,
                                9712A5E315004EDA0048AF10 /* IDBKeyRange.h in Headers */,
                                9712A5EA15004EDA0048AF10 /* IDBObjectStore.h in Headers */,
-                               9712A5ED15004EDA0048AF10 /* IDBObjectStoreBackendImpl.h in Headers */,
                                9712A5F015004EDA0048AF10 /* IDBPendingTransactionMonitor.h in Headers */,
                                9712A5F215004EDA0048AF10 /* IDBRequest.h in Headers */,
                                9712A5F415004EDA0048AF10 /* IDBTracing.h in Headers */,
                                9712A5F615004EDA0048AF10 /* IDBTransaction.h in Headers */,
-                               9712A5F915004EDA0048AF10 /* IDBTransactionBackendImpl.h in Headers */,
-                               9712A5FD15004EDA0048AF10 /* IDBTransactionCoordinator.h in Headers */,
                                9712A5FF15004EDA0048AF10 /* IDBVersionChangeEvent.h in Headers */,
                                1A71D57C0F33819000F9CE4E /* IdentifierRep.h in Headers */,
                                5913A24213D49EBA00F5B05C /* IdentifiersFactory.h in Headers */,
                                82E3D8DE122EA0D1003AE5BC /* CSSPropertySourceData.cpp in Sources */,
                                BC5A12DF0DC0414800C9AFAD /* CSSReflectValue.cpp in Sources */,
                                A80E6D060A1989CA007FB8C5 /* CSSRule.cpp in Sources */,
+                               511EF33917F23B7300E4FA16 /* IDBBackingStoreLevelDB.cpp in Sources */,
                                A80E6D090A1989CA007FB8C5 /* CSSRuleList.cpp in Sources */,
                                371F51A20D262FA000ECE0D5 /* CSSSegmentedFontFace.cpp in Sources */,
                                A80E734F0A199C77007FB8C5 /* CSSSelector.cpp in Sources */,
                                FD31602D12B0267600C1A359 /* DelayNode.cpp in Sources */,
                                FD31603012B0267600C1A359 /* DelayProcessor.cpp in Sources */,
                                1CE83AC40ADAFFD8009354F6 /* DeleteButton.cpp in Sources */,
-                               511EF32917F0FF0300E4FA16 /* IDBBackingStore.cpp in Sources */,
                                1CE83AC30ADAFFD7009354F6 /* DeleteButtonController.cpp in Sources */,
                                93309DDE099E64920056E581 /* DeleteFromTextNodeCommand.cpp in Sources */,
                                93309DE0099E64920056E581 /* DeleteSelectionCommand.cpp in Sources */,
                                93F19AFD08245E59001E9ABC /* HTMLCanvasElement.cpp in Sources */,
                                A8DF3FD1097FA0FC0052981B /* HTMLCollection.cpp in Sources */,
                                977B3864122883E900B81FF8 /* HTMLConstructionSite.cpp in Sources */,
+                               511EF33C17F23B7300E4FA16 /* IDBFactoryBackendLevelDB.cpp in Sources */,
                                5D4F51DF132725480016F541 /* HTMLConverter.mm in Sources */,
                                F5C041DA0FFCA7CE00839D4A /* HTMLDataListElement.cpp in Sources */,
                                D359D789129CA2710006E5D2 /* HTMLDetailsElement.cpp in Sources */,
                                51E1ECC00C91C90400DC255B /* IconRecord.cpp in Sources */,
                                45099C411370A7800058D513 /* IconURL.cpp in Sources */,
                                C585A66211D4FAC5004C3E4B /* IDBBindingUtilities.cpp in Sources */,
-                               9712A5B815004EDA0048AF10 /* IDBCursorBackendImpl.cpp in Sources */,
-                               9712A5C115004EDA0048AF10 /* IDBDatabaseBackendImpl.cpp in Sources */,
                                9712A5C515004EDA0048AF10 /* IDBDatabaseCallbacksImpl.cpp in Sources */,
                                9712A5C915004EDA0048AF10 /* IDBDatabaseException.cpp in Sources */,
-                               9712A5D115004EDA0048AF10 /* IDBFactoryBackendImpl.cpp in Sources */,
                                9712A5D315004EDA0048AF10 /* IDBFactoryBackendInterface.cpp in Sources */,
-                               9712A5EC15004EDA0048AF10 /* IDBObjectStoreBackendImpl.cpp in Sources */,
                                9712A5EF15004EDA0048AF10 /* IDBPendingTransactionMonitor.cpp in Sources */,
-                               9712A5F815004EDA0048AF10 /* IDBTransactionBackendImpl.cpp in Sources */,
-                               9712A5FC15004EDA0048AF10 /* IDBTransactionCoordinator.cpp in Sources */,
                                9712A5FE15004EDA0048AF10 /* IDBVersionChangeEvent.cpp in Sources */,
                                1A71D57B0F33819000F9CE4E /* IdentifierRep.cpp in Sources */,
                                5913A24113D49EBA00F5B05C /* IdentifiersFactory.cpp in Sources */,
                                4AD0173C127E82860015035F /* JSHTMLOutputElement.cpp in Sources */,
                                1AE2ABA60A1CE90500B42B25 /* JSHTMLParagraphElement.cpp in Sources */,
                                1AE2ABA80A1CE90500B42B25 /* JSHTMLParamElement.cpp in Sources */,
+                               511EF33A17F23B7300E4FA16 /* IDBCursorBackendLevelDB.cpp in Sources */,
                                1AE2ABAA0A1CE90500B42B25 /* JSHTMLPreElement.cpp in Sources */,
                                A4226E5A1163D667008B8397 /* JSHTMLProgressElement.cpp in Sources */,
                                1AE2AEC70A1D297B00B42B25 /* JSHTMLQuoteElement.cpp in Sources */,
                                293EAE211356B32E0067ACF9 /* RuntimeApplicationChecks.cpp in Sources */,
                                8C6EA61911EF7E0400FD8EE3 /* RuntimeEnabledFeatures.cpp in Sources */,
                                49E911CA0EF86D47009D0CAF /* ScaleTransformOperation.cpp in Sources */,
+                               511EF33D17F23B7300E4FA16 /* IDBLevelDBCoding.cpp in Sources */,
                                5DFE8F560D16477B0076E937 /* ScheduledAction.cpp in Sources */,
                                5162C7F411F77EFB00612EFE /* SchemeRegistry.cpp in Sources */,
                                9BD0BF9412A42BF50072FD43 /* ScopedEventQueue.cpp in Sources */,
                                A1E1154813015C5D0054AC8C /* SpotLightSource.cpp in Sources */,
                                97BC6A3E1505F081001B74AC /* SQLException.cpp in Sources */,
                                1A2E6E7A0CC556D5004A2062 /* SQLiteAuthorizer.cpp in Sources */,
+                               511EF33E17F23B7300E4FA16 /* IDBObjectStoreBackendLevelDB.cpp in Sources */,
                                1A2246490CC98DDB00C05240 /* SQLiteDatabase.cpp in Sources */,
                                B5A684240FFABEAA00D24689 /* SQLiteFileSystem.cpp in Sources */,
                                1A22464B0CC98DDB00C05240 /* SQLiteStatement.cpp in Sources */,
                                08B5F25513B5FFF2002959EC /* SVGAnimatedPath.cpp in Sources */,
                                43B9336A13B261B1004584BF /* SVGAnimatedPointList.cpp in Sources */,
                                431A302113B89DCC007791E4 /* SVGAnimatedPreserveAspectRatio.cpp in Sources */,
+                               511EF33F17F23B7300E4FA16 /* IDBTransactionBackendLevelDB.cpp in Sources */,
                                836FBCEC178C117F00B21A15 /* SVGAnimatedProperty.cpp in Sources */,
                                43142E7A13B1E97700F1C871 /* SVGAnimatedRect.cpp in Sources */,
                                43A6266713B3D11000AC94B8 /* SVGAnimatedString.cpp in Sources */,
                                B2227A8B0D00BF220071B782 /* SVGPointList.cpp in Sources */,
                                B2227A8E0D00BF220071B782 /* SVGPolyElement.cpp in Sources */,
                                B2227A900D00BF220071B782 /* SVGPolygonElement.cpp in Sources */,
+                               51CEFB2B17F2492900ACAA18 /* IDBTransactionCoordinatorLevelDB.cpp in Sources */,
                                B2227A930D00BF220071B782 /* SVGPolylineElement.cpp in Sources */,
                                B543B85717EB758F003BE93A /* SVGPropertyInfo.cpp in Sources */,
                                B2227A960D00BF220071B782 /* SVGPreserveAspectRatio.cpp in Sources */,
                                9343CB8112F25E510033C5EE /* TextCodecUTF8.cpp in Sources */,
                                142B97C913138943008BEF4B /* TextControlInnerElements.cpp in Sources */,
                                97BC84B312371180000C6161 /* TextDocument.cpp in Sources */,
+                               511EF33B17F23B7300E4FA16 /* IDBDatabaseBackendLevelDB.cpp in Sources */,
                                97BC84831236FD93000C6161 /* TextDocumentParser.cpp in Sources */,
                                B2C3DA460D006C1D00EF6F26 /* TextEncoding.cpp in Sources */,
                                C105DA620F3AA68F001DD44F /* TextEncodingDetectorICU.cpp in Sources */,