Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Unified Diff: Source/modules/indexeddb/IDBDatabaseBackendImpl.cpp

Issue 78053006: [oilpan] Move IDBDatabase, IDBDatabaseCallbacks, IDBDatabaseBackendInterface and other related clas… (Closed) Base URL: svn://svn.chromium.org/blink/branches/oilpan
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/modules/indexeddb/IDBDatabaseBackendImpl.cpp
diff --git a/Source/modules/indexeddb/IDBDatabaseBackendImpl.cpp b/Source/modules/indexeddb/IDBDatabaseBackendImpl.cpp
index 57d9567d07c228c1dd51520e507518e883ef37ce..0aa8018f81fcbc94aceec0443755591be9224264 100644
--- a/Source/modules/indexeddb/IDBDatabaseBackendImpl.cpp
+++ b/Source/modules/indexeddb/IDBDatabaseBackendImpl.cpp
@@ -41,6 +41,8 @@
namespace WebCore {
+DEFINE_GC_INFO(IDBDatabaseBackendInterface);
+
class CreateObjectStoreOperation : public IDBTransactionBackendImpl::Operation {
public:
static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBObjectStoreMetadata& objectStoreMetadata)
@@ -79,13 +81,13 @@ private:
class IDBDatabaseBackendImpl::VersionChangeOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t transactionId, int64_t version, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(IDBDatabaseBackendImpl* database, int64_t transactionId, int64_t version, IDBCallbacks* callbacks, IDBDatabaseCallbacks* databaseCallbacks)
{
return adoptPtr(new VersionChangeOperation(database, transactionId, version, callbacks, databaseCallbacks));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- VersionChangeOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t transactionId, int64_t version, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks)
+ VersionChangeOperation(IDBDatabaseBackendImpl* database, int64_t transactionId, int64_t version, IDBCallbacks* callbacks, IDBDatabaseCallbacks* databaseCallbacks)
: m_database(database)
, m_transactionId(transactionId)
, m_version(version)
@@ -94,65 +96,65 @@ private:
{
}
- RefPtr<IDBDatabaseBackendImpl> m_database;
+ Persistent<IDBDatabaseBackendImpl> m_database;
int64_t m_transactionId;
int64_t m_version;
- RefPtr<IDBCallbacks> m_callbacks;
- RefPtr<IDBDatabaseCallbacks> m_databaseCallbacks;
+ Persistent<IDBCallbacks> m_callbacks;
+ Persistent<IDBDatabaseCallbacks> m_databaseCallbacks;
};
class CreateObjectStoreAbortOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(IDBDatabaseBackendImpl* database, int64_t objectStoreId)
{
return adoptPtr(new CreateObjectStoreAbortOperation(database, objectStoreId));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- CreateObjectStoreAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId)
+ CreateObjectStoreAbortOperation(IDBDatabaseBackendImpl* database, int64_t objectStoreId)
: m_database(database)
, m_objectStoreId(objectStoreId)
{
}
- const RefPtr<IDBDatabaseBackendImpl> m_database;
+ const Persistent<IDBDatabaseBackendImpl> m_database;
const int64_t m_objectStoreId;
};
class DeleteObjectStoreAbortOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, const IDBObjectStoreMetadata& objectStore)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(IDBDatabaseBackendImpl* database, const IDBObjectStoreMetadata& objectStore)
{
return adoptPtr(new DeleteObjectStoreAbortOperation(database, objectStore));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- DeleteObjectStoreAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, const IDBObjectStoreMetadata& objectStoreMetadata)
+ DeleteObjectStoreAbortOperation(IDBDatabaseBackendImpl* database, const IDBObjectStoreMetadata& objectStoreMetadata)
: m_database(database)
, m_objectStoreMetadata(objectStoreMetadata)
{
}
- RefPtr<IDBDatabaseBackendImpl> m_database;
+ Persistent<IDBDatabaseBackendImpl> m_database;
IDBObjectStoreMetadata m_objectStoreMetadata;
};
class IDBDatabaseBackendImpl::VersionChangeAbortOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, const String& previousVersion, int64_t previousIntVersion)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(IDBDatabaseBackendImpl* database, const String& previousVersion, int64_t previousIntVersion)
{
return adoptPtr(new VersionChangeAbortOperation(database, previousVersion, previousIntVersion));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- VersionChangeAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, const String& previousVersion, int64_t previousIntVersion)
+ VersionChangeAbortOperation(IDBDatabaseBackendImpl* database, const String& previousVersion, int64_t previousIntVersion)
: m_database(database)
, m_previousVersion(previousVersion)
, m_previousIntVersion(previousIntVersion)
{
}
- RefPtr<IDBDatabaseBackendImpl> m_database;
+ Persistent<IDBDatabaseBackendImpl> m_database;
String m_previousVersion;
int64_t m_previousIntVersion;
};
@@ -199,53 +201,53 @@ private:
class CreateIndexAbortOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, int64_t indexId)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(IDBDatabaseBackendImpl* database, int64_t objectStoreId, int64_t indexId)
{
return adoptPtr(new CreateIndexAbortOperation(database, objectStoreId, indexId));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- CreateIndexAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, int64_t indexId)
+ CreateIndexAbortOperation(IDBDatabaseBackendImpl* database, int64_t objectStoreId, int64_t indexId)
: m_database(database)
, m_objectStoreId(objectStoreId)
, m_indexId(indexId)
{
}
- const RefPtr<IDBDatabaseBackendImpl> m_database;
+ const Persistent<IDBDatabaseBackendImpl> m_database;
const int64_t m_objectStoreId;
const int64_t m_indexId;
};
class DeleteIndexAbortOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(IDBDatabaseBackendImpl* database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
{
return adoptPtr(new DeleteIndexAbortOperation(database, objectStoreId, indexMetadata));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- DeleteIndexAbortOperation(PassRefPtr<IDBDatabaseBackendImpl> database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
+ DeleteIndexAbortOperation(IDBDatabaseBackendImpl* database, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
: m_database(database)
, m_objectStoreId(objectStoreId)
, m_indexMetadata(indexMetadata)
{
}
- const RefPtr<IDBDatabaseBackendImpl> m_database;
+ const Persistent<IDBDatabaseBackendImpl> m_database;
const int64_t m_objectStoreId;
const IDBIndexMetadata m_indexMetadata;
};
class GetOperation : public IDBTransactionBackendImpl::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<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, const IDBDatabaseMetadata& metadata, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorType cursorType, IDBCallbacks* callbacks)
{
return adoptPtr(new GetOperation(backingStore, metadata, objectStoreId, indexId, keyRange, cursorType, callbacks));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- GetOperation(PassRefPtr<IDBBackingStore> backingStore, const IDBDatabaseMetadata& metadata, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorType cursorType, PassRefPtr<IDBCallbacks> callbacks)
+ GetOperation(PassRefPtr<IDBBackingStore> backingStore, const IDBDatabaseMetadata& metadata, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorType cursorType, IDBCallbacks* callbacks)
: m_backingStore(backingStore)
, m_databaseId(metadata.id)
, m_objectStoreId(objectStoreId)
@@ -268,18 +270,18 @@ private:
const bool m_autoIncrement;
const RefPtr<IDBKeyRange> m_keyRange;
const IndexedDB::CursorType m_cursorType;
- const RefPtr<IDBCallbacks> m_callbacks;
+ const Persistent<IDBCallbacks> m_callbacks;
};
class PutOperation : public IDBTransactionBackendImpl::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<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, IDBDatabaseBackendInterface::PutMode putMode, 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*);
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)
+ PutOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, const IDBObjectStoreMetadata& objectStore, PassRefPtr<SharedBuffer>& value, PassRefPtr<IDBKey> key, IDBDatabaseBackendInterface::PutMode putMode, IDBCallbacks* callbacks, const Vector<int64_t>& indexIds, const Vector<IDBDatabaseBackendInterface::IndexKeys>& indexKeys)
: m_backingStore(backingStore)
, m_databaseId(databaseId)
, m_objectStore(objectStore)
@@ -298,7 +300,7 @@ private:
const RefPtr<SharedBuffer> m_value;
const RefPtr<IDBKey> m_key;
const IDBDatabaseBackendInterface::PutMode m_putMode;
- const RefPtr<IDBCallbacks> m_callbacks;
+ const Persistent<IDBCallbacks> m_callbacks;
const Vector<int64_t> m_indexIds;
const Vector<IDBDatabaseBackendInterface::IndexKeys> m_indexKeys;
};
@@ -321,13 +323,13 @@ private:
class OpenCursorOperation : public IDBTransactionBackendImpl::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<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, IDBCallbacks* callbacks)
{
return adoptPtr(new OpenCursorOperation(backingStore, databaseId, objectStoreId, indexId, keyRange, direction, cursorType, taskType, callbacks));
}
virtual void perform(IDBTransactionBackendImpl*);
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)
+ 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, IDBCallbacks* callbacks)
: m_backingStore(backingStore)
, m_databaseId(databaseId)
, m_objectStoreId(objectStoreId)
@@ -348,18 +350,18 @@ private:
const IndexedDB::CursorDirection m_direction;
const IndexedDB::CursorType m_cursorType;
const IDBDatabaseBackendInterface::TaskType m_taskType;
- const RefPtr<IDBCallbacks> m_callbacks;
+ const Persistent<IDBCallbacks> m_callbacks;
};
class CountOperation : public IDBTransactionBackendImpl::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<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IDBCallbacks* callbacks)
{
return adoptPtr(new CountOperation(backingStore, databaseId, objectStoreId, indexId, keyRange, callbacks));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- CountOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+ CountOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IDBCallbacks* callbacks)
: m_backingStore(backingStore)
, m_databaseId(databaseId)
, m_objectStoreId(objectStoreId)
@@ -374,18 +376,18 @@ private:
const int64_t m_objectStoreId;
const int64_t m_indexId;
const RefPtr<IDBKeyRange> m_keyRange;
- const RefPtr<IDBCallbacks> m_callbacks;
+ const Persistent<IDBCallbacks> m_callbacks;
};
class DeleteRangeOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, IDBCallbacks* callbacks)
{
return adoptPtr(new DeleteRangeOperation(backingStore, databaseId, objectStoreId, keyRange, callbacks));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- DeleteRangeOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, PassRefPtr<IDBCallbacks> callbacks)
+ DeleteRangeOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, IDBCallbacks* callbacks)
: m_backingStore(backingStore)
, m_databaseId(databaseId)
, m_objectStoreId(objectStoreId)
@@ -398,18 +400,18 @@ private:
const int64_t m_databaseId;
const int64_t m_objectStoreId;
const RefPtr<IDBKeyRange> m_keyRange;
- const RefPtr<IDBCallbacks> m_callbacks;
+ const Persistent<IDBCallbacks> m_callbacks;
};
class ClearOperation : public IDBTransactionBackendImpl::Operation {
public:
- static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
+ static PassOwnPtr<IDBTransactionBackendImpl::Operation> create(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, IDBCallbacks* callbacks)
{
return adoptPtr(new ClearOperation(backingStore, databaseId, objectStoreId, callbacks));
}
virtual void perform(IDBTransactionBackendImpl*);
private:
- ClearOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
+ ClearOperation(PassRefPtr<IDBBackingStore> backingStore, int64_t databaseId, int64_t objectStoreId, IDBCallbacks* callbacks)
: m_backingStore(backingStore)
, m_databaseId(databaseId)
, m_objectStoreId(objectStoreId)
@@ -420,56 +422,56 @@ private:
const RefPtr<IDBBackingStore> m_backingStore;
const int64_t m_databaseId;
const int64_t m_objectStoreId;
- const RefPtr<IDBCallbacks> m_callbacks;
+ const Persistent<IDBCallbacks> m_callbacks;
};
class IDBDatabaseBackendImpl::PendingOpenCall {
public:
- static PassOwnPtr<PendingOpenCall> create(PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks, int64_t transactionId, int64_t version)
+ static PassOwnPtr<PendingOpenCall> create(IDBCallbacks* callbacks, IDBDatabaseCallbacks* databaseCallbacks, int64_t transactionId, int64_t version)
{
return adoptPtr(new PendingOpenCall(callbacks, databaseCallbacks, transactionId, version));
}
- PassRefPtr<IDBCallbacks> callbacks() { return m_callbacks; }
- PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks() { return m_databaseCallbacks; }
+ IDBCallbacks* callbacks() { return m_callbacks; }
+ IDBDatabaseCallbacks* databaseCallbacks() { return m_databaseCallbacks; }
int64_t version() { return m_version; }
int64_t transactionId() const { return m_transactionId; }
private:
- PendingOpenCall(PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBDatabaseCallbacks> databaseCallbacks, int64_t transactionId, int64_t version)
+ PendingOpenCall(IDBCallbacks* callbacks, IDBDatabaseCallbacks* databaseCallbacks, int64_t transactionId, int64_t version)
: m_callbacks(callbacks)
, m_databaseCallbacks(databaseCallbacks)
, m_version(version)
, m_transactionId(transactionId)
{
}
- RefPtr<IDBCallbacks> m_callbacks;
- RefPtr<IDBDatabaseCallbacks> m_databaseCallbacks;
+ Persistent<IDBCallbacks> m_callbacks;
+ Persistent<IDBDatabaseCallbacks> m_databaseCallbacks;
int64_t m_version;
const int64_t m_transactionId;
};
class IDBDatabaseBackendImpl::PendingDeleteCall {
public:
- static PassOwnPtr<PendingDeleteCall> create(PassRefPtr<IDBCallbacks> callbacks)
+ static PassOwnPtr<PendingDeleteCall> create(IDBCallbacks* callbacks)
{
return adoptPtr(new PendingDeleteCall(callbacks));
}
- PassRefPtr<IDBCallbacks> callbacks() { return m_callbacks; }
+ IDBCallbacks* callbacks() { return m_callbacks; }
private:
- PendingDeleteCall(PassRefPtr<IDBCallbacks> callbacks)
+ PendingDeleteCall(IDBCallbacks* callbacks)
: m_callbacks(callbacks)
{
}
- RefPtr<IDBCallbacks> m_callbacks;
+ Persistent<IDBCallbacks> m_callbacks;
};
-PassRefPtr<IDBDatabaseBackendImpl> IDBDatabaseBackendImpl::create(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
+IDBDatabaseBackendImpl* IDBDatabaseBackendImpl::create(const String& name, IDBBackingStore* database, IDBFactoryBackendImpl* factory, const String& uniqueIdentifier)
{
- RefPtr<IDBDatabaseBackendImpl> backend = adoptRef(new IDBDatabaseBackendImpl(name, database, factory, uniqueIdentifier));
+ IDBDatabaseBackendImpl* backend = new IDBDatabaseBackendImpl(name, database, factory, uniqueIdentifier);
if (!backend->openInternal())
return 0;
- return backend.release();
+ return backend;
}
namespace {
@@ -682,7 +684,7 @@ void IDBDatabaseBackendImpl::abort(int64_t transactionId, PassRefPtr<IDBDatabase
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 IDBDatabaseBackendImpl::get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, bool keyOnly, IDBCallbacks* callbacks)
{
IDB_TRACE("IDBDatabaseBackendImpl::get");
IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
@@ -784,7 +786,7 @@ 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 IDBDatabaseBackendImpl::put(int64_t transactionId, int64_t objectStoreId, PassRefPtr<SharedBuffer> value, PassRefPtr<IDBKey> key, PutMode putMode, IDBCallbacks* callbacks, const Vector<int64_t>& indexIds, const Vector<IndexKeys>& indexKeys)
{
IDB_TRACE("IDBDatabaseBackendImpl::put");
IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
@@ -933,7 +935,7 @@ void SetIndexesReadyOperation::perform(IDBTransactionBackendImpl* transaction)
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 IDBDatabaseBackendImpl::openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IndexedDB::CursorDirection direction, bool keyOnly, TaskType taskType, IDBCallbacks* callbacks)
{
IDB_TRACE("IDBDatabaseBackendImpl::openCursor");
IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
@@ -976,7 +978,7 @@ void OpenCursorOperation::perform(IDBTransactionBackendImpl* transaction)
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 IDBDatabaseBackendImpl::count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr<IDBKeyRange> keyRange, IDBCallbacks* callbacks)
{
IDB_TRACE("IDBDatabaseBackendImpl::count");
IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
@@ -1009,7 +1011,7 @@ 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 IDBDatabaseBackendImpl::deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBKeyRange> keyRange, IDBCallbacks* callbacks)
{
IDB_TRACE("IDBDatabaseBackendImpl::deleteRange");
IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
@@ -1036,7 +1038,7 @@ void DeleteRangeOperation::perform(IDBTransactionBackendImpl* transaction)
m_callbacks->onSuccess();
}
-void IDBDatabaseBackendImpl::clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendImpl::clear(int64_t transactionId, int64_t objectStoreId, IDBCallbacks* callbacks)
{
IDB_TRACE("IDBDatabaseBackendImpl::clear");
IDBTransactionBackendImpl* transaction = m_transactions.get(transactionId);
@@ -1172,18 +1174,16 @@ void IDBDatabaseBackendImpl::processPendingCalls()
}
}
-void IDBDatabaseBackendImpl::createTransaction(int64_t transactionId, PassRefPtr<IDBDatabaseCallbacks> callbacks, const Vector<int64_t>& objectStoreIds, unsigned short mode)
+void IDBDatabaseBackendImpl::createTransaction(int64_t transactionId, IDBDatabaseCallbacks* callbacks, const Vector<int64_t>& objectStoreIds, unsigned short mode)
{
RefPtr<IDBTransactionBackendImpl> transaction = IDBTransactionBackendImpl::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 IDBDatabaseBackendImpl::openConnection(IDBCallbacks* callbacks, IDBDatabaseCallbacks* databaseCallbacks, int64_t transactionId, int64_t version)
{
ASSERT(m_backingStore.get());
- RefPtr<IDBCallbacks> callbacks = prpCallbacks;
- RefPtr<IDBDatabaseCallbacks> databaseCallbacks = prpDatabaseCallbacks;
if (!m_pendingDeleteCalls.isEmpty() || m_runningVersionChangeTransaction) {
m_pendingOpenCalls.append(PendingOpenCall::create(callbacks, databaseCallbacks, transactionId, version));
@@ -1220,7 +1220,7 @@ void IDBDatabaseBackendImpl::openConnection(PassRefPtr<IDBCallbacks> prpCallback
if (version == IDBDatabaseMetadata::NoIntVersion) {
if (!isNewDatabase) {
- m_databaseCallbacksSet.add(RefPtr<IDBDatabaseCallbacks>(databaseCallbacks));
+ m_databaseCallbacksSet.add(databaseCallbacks);
callbacks->onSuccess(this, this->metadata());
return;
}
@@ -1241,10 +1241,8 @@ 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 IDBDatabaseBackendImpl::runIntVersionChangeTransaction(IDBCallbacks* callbacks, IDBDatabaseCallbacks* databaseCallbacks, int64_t transactionId, int64_t requestedVersion)
{
- RefPtr<IDBCallbacks> callbacks = prpCallbacks;
- RefPtr<IDBDatabaseCallbacks> databaseCallbacks = prpDatabaseCallbacks;
ASSERT(callbacks);
for (DatabaseCallbacksSet::const_iterator it = m_databaseCallbacksSet.begin(); it != m_databaseCallbacksSet.end(); ++it) {
// Front end ensures the event is not fired at connections that have closePending set.
@@ -1276,9 +1274,8 @@ void IDBDatabaseBackendImpl::runIntVersionChangeTransaction(PassRefPtr<IDBCallba
m_databaseCallbacksSet.add(databaseCallbacks);
}
-void IDBDatabaseBackendImpl::deleteDatabase(PassRefPtr<IDBCallbacks> prpCallbacks)
+void IDBDatabaseBackendImpl::deleteDatabase(IDBCallbacks* callbacks)
{
- RefPtr<IDBCallbacks> callbacks = prpCallbacks;
if (isDeleteDatabaseBlocked()) {
for (DatabaseCallbacksSet::const_iterator it = m_databaseCallbacksSet.begin(); it != m_databaseCallbacksSet.end(); ++it) {
// Front end ensures the event is not fired at connections that have closePending set.
@@ -1288,10 +1285,10 @@ void IDBDatabaseBackendImpl::deleteDatabase(PassRefPtr<IDBCallbacks> prpCallback
// VersionChangeEvents are received, not just set up to fire.
// https://bugs.webkit.org/show_bug.cgi?id=71130
callbacks->onBlocked(m_metadata.intVersion);
- m_pendingDeleteCalls.append(PendingDeleteCall::create(callbacks.release()));
+ m_pendingDeleteCalls.append(PendingDeleteCall::create(callbacks));
return;
}
- deleteDatabaseFinal(callbacks.release());
+ deleteDatabaseFinal(callbacks);
}
bool IDBDatabaseBackendImpl::isDeleteDatabaseBlocked()
@@ -1299,7 +1296,7 @@ bool IDBDatabaseBackendImpl::isDeleteDatabaseBlocked()
return connectionCount();
}
-void IDBDatabaseBackendImpl::deleteDatabaseFinal(PassRefPtr<IDBCallbacks> callbacks)
+void IDBDatabaseBackendImpl::deleteDatabaseFinal(IDBCallbacks* callbacks)
{
ASSERT(!isDeleteDatabaseBlocked());
ASSERT(m_backingStore);
@@ -1314,9 +1311,8 @@ void IDBDatabaseBackendImpl::deleteDatabaseFinal(PassRefPtr<IDBCallbacks> callba
callbacks->onSuccess();
}
-void IDBDatabaseBackendImpl::close(PassRefPtr<IDBDatabaseCallbacks> prpCallbacks)
+void IDBDatabaseBackendImpl::close(IDBDatabaseCallbacks* callbacks)
{
- RefPtr<IDBDatabaseCallbacks> callbacks = prpCallbacks;
ASSERT(m_databaseCallbacksSet.contains(callbacks));
// Close outstanding transactions from the closing connection. This can not happen
@@ -1385,4 +1381,10 @@ void IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform(IDBTransaction
m_database->m_metadata.intVersion = m_previousIntVersion;
}
+void IDBDatabaseBackendImpl::trace(Visitor* visitor)
+{
+ visitor->trace(m_factory);
+ visitor->trace(m_databaseCallbacksSet);
+}
+
} // namespace WebCore
« no previous file with comments | « Source/modules/indexeddb/IDBDatabaseBackendImpl.h ('k') | Source/modules/indexeddb/IDBDatabaseBackendInterface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698