Diff
Modified: trunk/Source/WebCore/ChangeLog (158245 => 158246)
--- trunk/Source/WebCore/ChangeLog 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/ChangeLog 2013-10-30 03:11:38 UTC (rev 158246)
@@ -1,3 +1,34 @@
+2013-10-29 Brady Eidson <beid...@apple.com>
+
+ Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
+ https://bugs.webkit.org/show_bug.cgi?id=123483
+
+ Reviewed by Andreas Kling.
+
+ * Modules/indexeddb/IDBCursorBackendInterface.h:
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ * Modules/indexeddb/IDBFactoryBackendInterface.h:
+ * Modules/indexeddb/IDBTransactionBackendInterface.h:
+
+ * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
+ (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
+ * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
+ (WebCore::IDBCursorBackendLevelDB::create):
+
+ * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
+ (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
+ * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
+
+ * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
+ (WebCore::IDBTransactionBackendLevelDB::registerOpenCursor):
+ (WebCore::IDBTransactionBackendLevelDB::unregisterOpenCursor):
+ (WebCore::IDBTransactionBackendLevelDB::closeOpenCursors):
+ (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
+ * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
+
+ * WebCore.xcodeproj/project.pbxproj: Export a required header.
+
2013-10-29 Seokju Kwon <seo...@webkit.org>
Remove mutable keyword from member variables of XMLHttpRequest
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCursorBackendInterface.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/IDBCursorBackendInterface.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBCursorBackendInterface.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -53,6 +53,8 @@
virtual IDBKey* key() const = 0;
virtual IDBKey* primaryKey() const = 0;
virtual SharedBuffer* value() const = 0;
+
+ virtual void close() = 0;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -96,6 +96,8 @@
virtual bool hasPendingSecondHalfOpen() OVERRIDE { return m_pendingSecondHalfOpen; }
virtual void setPendingSecondHalfOpen(PassOwnPtr<IDBPendingOpenCall> pendingOpenCall) OVERRIDE { m_pendingSecondHalfOpen = pendingOpenCall; }
+ virtual IDBFactoryBackendInterface& factoryBackend() OVERRIDE { return *m_factory; }
+
class VersionChangeOperation;
class VersionChangeAbortOperation;
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -41,6 +41,7 @@
namespace WebCore {
class IDBBackingStoreInterface;
+class IDBFactoryBackendInterface;
class IDBKey;
class IDBKeyPath;
class IDBKeyRange;
@@ -111,6 +112,8 @@
virtual void setPendingSecondHalfOpen(PassOwnPtr<IDBPendingOpenCall>) = 0;
virtual bool isIDBDatabaseBackendImpl() { return false; }
+
+ virtual IDBFactoryBackendInterface& factoryBackend() = 0;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -28,6 +28,7 @@
#ifndef IDBFactoryBackendInterface_h
#define IDBFactoryBackendInterface_h
+#include "IDBBackingStoreInterface.h"
#include "IndexedDB.h"
#include <wtf/PassRefPtr.h>
@@ -38,7 +39,6 @@
namespace WebCore {
-class IDBBackingStoreInterface;
class IDBCallbacks;
class IDBDatabase;
class IDBDatabaseBackendInterface;
@@ -65,10 +65,12 @@
virtual void removeIDBDatabaseBackend(const String& uniqueIdentifier) = 0;
virtual PassRefPtr<IDBTransactionBackendInterface> maybeCreateTransactionBackend(IDBDatabaseBackendInterface*, int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks>, const Vector<int64_t>& objectStoreIds, IndexedDB::TransactionMode) = 0;
+
+ virtual PassRefPtr<IDBCursorBackendInterface> createCursorBackend(IDBTransactionBackendInterface&, IDBBackingStoreInterface::Cursor&, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, int64_t objectStoreId) = 0;
};
} // namespace WebCore
-#endif
+#endif // IDBFactoryBackendInterface_h
#endif // IDBFactoryBackendInterface_h
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -42,6 +42,7 @@
class IDBDatabaseError;
class IDBKey;
class IDBKeyRange;
+class IDBOperation;
struct IDBDatabaseMetadata;
struct IDBIndexMetadata;
@@ -59,6 +60,12 @@
virtual void abort(PassRefPtr<IDBDatabaseError>) = 0;
virtual const HashSet<int64_t>& scope() const = 0;
+ virtual void scheduleTask(PassOwnPtr<IDBOperation>, PassOwnPtr<IDBOperation> abortTask = nullptr) = 0;
+ virtual void scheduleTask(IDBDatabaseBackendInterface::TaskType, PassOwnPtr<IDBOperation>, PassOwnPtr<IDBOperation> abortTask = nullptr) = 0;
+
+ virtual void registerOpenCursor(IDBCursorBackendInterface*) = 0;
+ virtual void unregisterOpenCursor(IDBCursorBackendInterface*) = 0;
+
virtual void scheduleCreateObjectStoreOperation(const IDBObjectStoreMetadata&) = 0;
virtual void scheduleDeleteObjectStoreOperation(const IDBObjectStoreMetadata&) = 0;
virtual void scheduleVersionChangeOperation(int64_t transactionId, int64_t requestedVersion, PassRefPtr<IDBCallbacks>, PassRefPtr<IDBDatabaseCallbacks>, const IDBDatabaseMetadata&) = 0;
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp 2013-10-30 03:11:38 UTC (rev 158246)
@@ -102,7 +102,7 @@
RefPtr<IDBCallbacks> m_callbacks;
};
-IDBCursorBackendLevelDB::IDBCursorBackendLevelDB(PassRefPtr<IDBBackingStoreInterface::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendLevelDB* transaction, int64_t objectStoreId)
+IDBCursorBackendLevelDB::IDBCursorBackendLevelDB(PassRefPtr<IDBBackingStoreInterface::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendInterface* transaction, int64_t objectStoreId)
: m_taskType(taskType)
, m_cursorType(cursorType)
, m_database(&(transaction->database()))
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -44,11 +44,11 @@
class IDBCursorBackendLevelDB : public IDBCursorBackendInterface {
public:
- static PassRefPtr<IDBCursorBackendLevelDB> create(PassRefPtr<IDBBackingStoreInterface::Cursor> cursor, IndexedDB::CursorType cursorType, IDBTransactionBackendLevelDB* transaction, int64_t objectStoreId)
+ static PassRefPtr<IDBCursorBackendLevelDB> create(PassRefPtr<IDBBackingStoreInterface::Cursor> cursor, IndexedDB::CursorType cursorType, IDBTransactionBackendInterface* transaction, int64_t objectStoreId)
{
return adoptRef(new IDBCursorBackendLevelDB(cursor, cursorType, IDBDatabaseBackendInterface::NormalTask, transaction, objectStoreId));
}
- static PassRefPtr<IDBCursorBackendLevelDB> create(PassRefPtr<IDBBackingStoreInterface::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendLevelDB* transaction, int64_t objectStoreId)
+ static PassRefPtr<IDBCursorBackendLevelDB> create(PassRefPtr<IDBBackingStoreInterface::Cursor> cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, IDBTransactionBackendInterface* transaction, int64_t objectStoreId)
{
return adoptRef(new IDBCursorBackendLevelDB(cursor, cursorType, taskType, transaction, objectStoreId));
}
@@ -66,10 +66,10 @@
virtual IDBKey* primaryKey() const OVERRIDE { return m_cursor->primaryKey().get(); }
virtual SharedBuffer* value() const OVERRIDE { return (m_cursorType == IndexedDB::CursorKeyOnly) ? 0 : m_cursor->value().get(); }
- void close();
+ virtual void close() OVERRIDE;
private:
- IDBCursorBackendLevelDB(PassRefPtr<IDBBackingStoreInterface::Cursor>, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, IDBTransactionBackendLevelDB*, int64_t objectStoreId);
+ IDBCursorBackendLevelDB(PassRefPtr<IDBBackingStoreInterface::Cursor>, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, IDBTransactionBackendInterface*, int64_t objectStoreId);
class CursorIterationOperation;
class CursorAdvanceOperation;
@@ -78,7 +78,7 @@
IDBDatabaseBackendInterface::TaskType m_taskType;
IndexedDB::CursorType m_cursorType;
const RefPtr<IDBDatabaseBackendInterface> m_database;
- RefPtr<IDBTransactionBackendLevelDB> m_transaction;
+ RefPtr<IDBTransactionBackendInterface> m_transaction;
const int64_t m_objectStoreId;
RefPtr<IDBBackingStoreInterface::Cursor> m_cursor; // Must be destroyed before m_transaction.
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp 2013-10-30 03:11:38 UTC (rev 158246)
@@ -31,6 +31,7 @@
#include "DOMStringList.h"
#include "IDBBackingStoreLevelDB.h"
+#include "IDBCursorBackendLevelDB.h"
#include "IDBDatabaseBackendImpl.h"
#include "IDBDatabaseException.h"
#include "IDBTransactionBackendLevelDB.h"
@@ -196,6 +197,12 @@
return IDBTransactionBackendLevelDB::create(static_cast<IDBDatabaseBackendImpl*>(backend), transactionId, databaseCallbacks, objectStoreIds, mode);
}
+PassRefPtr<IDBCursorBackendInterface> IDBFactoryBackendLevelDB::createCursorBackend(IDBTransactionBackendInterface& transactionBackend, IDBBackingStoreInterface::Cursor& backingStoreCursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, int64_t objectStoreId)
+{
+ return IDBCursorBackendLevelDB::create(&backingStoreCursor, cursorType, taskType, &transactionBackend, objectStoreId);
+}
+
+
} // namespace WebCore
#endif // ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -65,6 +65,8 @@
virtual PassRefPtr<IDBTransactionBackendInterface> maybeCreateTransactionBackend(IDBDatabaseBackendInterface*, int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks>, const Vector<int64_t>&, IndexedDB::TransactionMode) OVERRIDE FINAL;
+ virtual PassRefPtr<IDBCursorBackendInterface> createCursorBackend(IDBTransactionBackendInterface&, IDBBackingStoreInterface::Cursor&, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, int64_t objectStoreId);
+
protected:
virtual PassRefPtr<IDBBackingStoreLevelDB> openBackingStore(const SecurityOrigin&, const String& dataDir);
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp 2013-10-30 03:11:38 UTC (rev 158246)
@@ -28,11 +28,11 @@
#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
-#include "IDBBackingStoreLevelDB.h"
-#include "IDBCursorBackendLevelDB.h"
+#include "IDBCursorBackendInterface.h"
#include "IDBDatabaseBackendImpl.h"
#include "IDBDatabaseCallbacks.h"
#include "IDBDatabaseException.h"
+#include "IDBFactoryBackendInterface.h"
#include "IDBKeyRange.h"
#include "IDBTransactionBackendLevelDBOperations.h"
#include "IDBTransactionCoordinator.h"
@@ -153,12 +153,12 @@
return m_pendingPreemptiveEvents || !isTaskQueueEmpty();
}
-void IDBTransactionBackendLevelDB::registerOpenCursor(IDBCursorBackendLevelDB* cursor)
+void IDBTransactionBackendLevelDB::registerOpenCursor(IDBCursorBackendInterface* cursor)
{
m_openCursors.add(cursor);
}
-void IDBTransactionBackendLevelDB::unregisterOpenCursor(IDBCursorBackendLevelDB* cursor)
+void IDBTransactionBackendLevelDB::unregisterOpenCursor(IDBCursorBackendInterface* cursor)
{
m_openCursors.remove(cursor);
}
@@ -265,7 +265,7 @@
void IDBTransactionBackendLevelDB::closeOpenCursors()
{
- for (HashSet<IDBCursorBackendLevelDB*>::iterator i = m_openCursors.begin(); i != m_openCursors.end(); ++i)
+ for (HashSet<IDBCursorBackendInterface*>::iterator i = m_openCursors.begin(); i != m_openCursors.end(); ++i)
(*i)->close();
m_openCursors.clear();
}
@@ -332,7 +332,7 @@
PassRefPtr<IDBCursorBackendInterface> IDBTransactionBackendLevelDB::createCursorBackend(IDBBackingStoreInterface::Cursor& cursor, IndexedDB::CursorType cursorType, IDBDatabaseBackendInterface::TaskType taskType, int64_t objectStoreId)
{
- return IDBCursorBackendLevelDB::create(&cursor, cursorType, taskType, this, objectStoreId);
+ return m_database->factoryBackend().createCursorBackend(*this, cursor, cursorType, taskType, objectStoreId);
}
};
Modified: trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h (158245 => 158246)
--- trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -28,7 +28,7 @@
#if ENABLE(INDEXED_DATABASE) && USE(LEVELDB)
-#include "IDBBackingStoreLevelDB.h"
+#include "IDBBackingStoreInterface.h"
#include "IDBDatabaseBackendImpl.h"
#include "IDBDatabaseBackendInterface.h"
#include "IDBDatabaseError.h"
@@ -41,8 +41,6 @@
namespace WebCore {
-class IDBBackingStoreLevelDB;
-class IDBCursorBackendLevelDB;
class IDBDatabaseCallbacks;
class IDBTransactionBackendLevelDB FINAL : public IDBTransactionBackendInterface {
@@ -57,10 +55,13 @@
virtual void run() OVERRIDE;
virtual IndexedDB::TransactionMode mode() const OVERRIDE FINAL { return m_mode; }
const HashSet<int64_t>& scope() const OVERRIDE { return m_objectStoreIds; }
- void scheduleTask(PassOwnPtr<IDBOperation> task, PassOwnPtr<IDBOperation> abortTask = nullptr) { scheduleTask(IDBDatabaseBackendInterface::NormalTask, task, abortTask); }
- void scheduleTask(IDBDatabaseBackendInterface::TaskType, PassOwnPtr<IDBOperation>, PassOwnPtr<IDBOperation> abortTask = nullptr);
- void registerOpenCursor(IDBCursorBackendLevelDB*);
- void unregisterOpenCursor(IDBCursorBackendLevelDB*);
+
+ virtual void scheduleTask(PassOwnPtr<IDBOperation> task, PassOwnPtr<IDBOperation> abortTask = nullptr) { scheduleTask(IDBDatabaseBackendInterface::NormalTask, task, abortTask); }
+ virtual void scheduleTask(IDBDatabaseBackendInterface::TaskType, PassOwnPtr<IDBOperation>, PassOwnPtr<IDBOperation> abortTask = nullptr) OVERRIDE;
+
+ virtual void registerOpenCursor(IDBCursorBackendInterface*) OVERRIDE;
+ virtual void unregisterOpenCursor(IDBCursorBackendInterface*) OVERRIDE;
+
virtual void addPreemptiveEvent() OVERRIDE { m_pendingPreemptiveEvents++; }
virtual void didCompletePreemptiveEvent() OVERRIDE { m_pendingPreemptiveEvents--; ASSERT(m_pendingPreemptiveEvents >= 0); }
virtual IDBBackingStoreInterface::Transaction& backingStoreTransaction() { return *m_backingStoreTransaction; }
@@ -119,7 +120,7 @@
Timer<IDBTransactionBackendLevelDB> m_taskTimer;
int m_pendingPreemptiveEvents;
- HashSet<IDBCursorBackendLevelDB*> m_openCursors;
+ HashSet<IDBCursorBackendInterface*> m_openCursors;
RefPtr<IDBBackingStoreInterface> m_backingStore;
};
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (158245 => 158246)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2013-10-30 03:11:38 UTC (rev 158246)
@@ -1764,7 +1764,7 @@
51D719BE181106E00016DC51 /* IDBCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71974181106DF0016DC51 /* IDBCallbacks.h */; settings = {ATTRIBUTES = (Private, ); }; };
51D719BF181106E00016DC51 /* IDBCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71975181106DF0016DC51 /* IDBCursor.cpp */; };
51D719C0181106E00016DC51 /* IDBCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71976181106DF0016DC51 /* IDBCursor.h */; };
- 51D719C2181106E00016DC51 /* IDBCursorBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71978181106DF0016DC51 /* IDBCursorBackendInterface.h */; };
+ 51D719C2181106E00016DC51 /* IDBCursorBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D71978181106DF0016DC51 /* IDBCursorBackendInterface.h */; settings = {ATTRIBUTES = (Private, ); }; };
51D719C3181106E00016DC51 /* IDBCursorWithValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D71979181106DF0016DC51 /* IDBCursorWithValue.cpp */; };
51D719C4181106E00016DC51 /* IDBCursorWithValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D7197A181106DF0016DC51 /* IDBCursorWithValue.h */; };
51D719C6181106E00016DC51 /* IDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7197C181106DF0016DC51 /* IDBDatabase.cpp */; };
Modified: trunk/Source/WebKit2/ChangeLog (158245 => 158246)
--- trunk/Source/WebKit2/ChangeLog 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebKit2/ChangeLog 2013-10-30 03:11:38 UTC (rev 158246)
@@ -1,3 +1,18 @@
+2013-10-29 Brady Eidson <beid...@apple.com>
+
+ Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
+ https://bugs.webkit.org/show_bug.cgi?id=123483
+
+ Reviewed by Andreas Kling.
+
+ * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
+ (WebKit::WebIDBFactoryBackend::createCursorBackend): Stubbed out.
+ * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
+
+ * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
+ (WebKit::WebProcessIDBDatabaseBackend::factoryBackend): Stubbed out.
+ * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
+
2013-10-29 Jer Noble <jer.no...@apple.com>
[MSE] [Mac] Enable MediaSource on the Mac
Modified: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp (158245 => 158246)
--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp 2013-10-30 03:11:38 UTC (rev 158246)
@@ -33,6 +33,7 @@
#include "WebProcessIDBDatabaseBackend.h"
#include "WebToDatabaseProcessConnection.h"
#include <WebCore/IDBCallbacks.h>
+#include <WebCore/IDBCursorBackendInterface.h>
#include <WebCore/IDBDatabaseCallbacks.h>
#include <WebCore/IDBTransactionBackendInterface.h>
#include <WebCore/NotImplemented.h>
@@ -105,6 +106,12 @@
return 0;
}
+PassRefPtr<IDBCursorBackendInterface> WebIDBFactoryBackend::createCursorBackend(IDBTransactionBackendInterface&, IDBBackingStoreInterface::Cursor&, IndexedDB::CursorType, IDBDatabaseBackendInterface::TaskType, int64_t)
+{
+ notImplemented();
+ return 0;
+}
+
} // namespace WebKit
#endif // ENABLE(DATABASE_PROCESS)
Modified: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h (158245 => 158246)
--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -33,20 +33,22 @@
namespace WebKit {
-class WebIDBFactoryBackend : public WebCore::IDBFactoryBackendInterface {
+class WebIDBFactoryBackend FINAL : public WebCore::IDBFactoryBackendInterface {
public:
static PassRefPtr<WebIDBFactoryBackend> create(const String& databaseDirectoryIdentifier) { return adoptRef(new WebIDBFactoryBackend(databaseDirectoryIdentifier)); }
virtual ~WebIDBFactoryBackend();
- virtual void getDatabaseNames(PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::SecurityOrigin>, WebCore::ScriptExecutionContext*, const String& dataDir) OVERRIDE FINAL;
- virtual void open(const String& name, int64_t version, int64_t transactionId, PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::IDBDatabaseCallbacks>, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin) OVERRIDE FINAL;
- virtual void deleteDatabase(const String& name, PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::SecurityOrigin>, WebCore::ScriptExecutionContext*, const String& dataDir) OVERRIDE FINAL;
+ virtual void getDatabaseNames(PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::SecurityOrigin>, WebCore::ScriptExecutionContext*, const String& dataDir) OVERRIDE;
+ virtual void open(const String& name, int64_t version, int64_t transactionId, PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::IDBDatabaseCallbacks>, const WebCore::SecurityOrigin& openingOrigin, const WebCore::SecurityOrigin& mainFrameOrigin) OVERRIDE;
+ virtual void deleteDatabase(const String& name, PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::SecurityOrigin>, WebCore::ScriptExecutionContext*, const String& dataDir) OVERRIDE;
- virtual void removeIDBDatabaseBackend(const String& uniqueIdentifier) OVERRIDE FINAL;
+ virtual void removeIDBDatabaseBackend(const String& uniqueIdentifier) OVERRIDE;
- virtual PassRefPtr<WebCore::IDBTransactionBackendInterface> maybeCreateTransactionBackend(WebCore::IDBDatabaseBackendInterface*, int64_t transactionId, PassRefPtr<WebCore::IDBDatabaseCallbacks>, const Vector<int64_t>&, WebCore::IndexedDB::TransactionMode);
+ virtual PassRefPtr<WebCore::IDBTransactionBackendInterface> maybeCreateTransactionBackend(WebCore::IDBDatabaseBackendInterface*, int64_t transactionId, PassRefPtr<WebCore::IDBDatabaseCallbacks>, const Vector<int64_t>&, WebCore::IndexedDB::TransactionMode) OVERRIDE;
+ virtual PassRefPtr<WebCore::IDBCursorBackendInterface> createCursorBackend(WebCore::IDBTransactionBackendInterface&, WebCore::IDBBackingStoreInterface::Cursor&, WebCore::IndexedDB::CursorType, WebCore::IDBDatabaseBackendInterface::TaskType, int64_t objectStoreId) OVERRIDE;
+
private:
explicit WebIDBFactoryBackend(const String& databaseDirectoryIdentifier);
};
Modified: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp (158245 => 158246)
--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp 2013-10-30 03:11:38 UTC (rev 158246)
@@ -215,6 +215,12 @@
ASSERT_NOT_REACHED();
}
+IDBFactoryBackendInterface& WebProcessIDBDatabaseBackend::factoryBackend()
+{
+ ASSERT_NOT_REACHED();
+ return *((IDBFactoryBackendInterface*)0);
+}
+
} // namespace WebKit
#endif // ENABLE(DATABASE_PROCESS)
Modified: trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h (158245 => 158246)
--- trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h 2013-10-30 03:05:20 UTC (rev 158245)
+++ trunk/Source/WebKit2/WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h 2013-10-30 03:11:38 UTC (rev 158246)
@@ -84,6 +84,8 @@
virtual bool hasPendingSecondHalfOpen() OVERRIDE;
virtual void setPendingSecondHalfOpen(PassOwnPtr<WebCore::IDBPendingOpenCall>) OVERRIDE;
+ virtual WebCore::IDBFactoryBackendInterface& factoryBackend() OVERRIDE;
+
void openConnection(PassRefPtr<WebCore::IDBCallbacks>, PassRefPtr<WebCore::IDBDatabaseCallbacks>, int64_t transactionId, int64_t version);
void establishDatabaseProcessBackend();