summaryrefslogtreecommitdiffstats
path: root/WebCore/storage/IDBDatabase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/storage/IDBDatabase.cpp')
-rw-r--r--WebCore/storage/IDBDatabase.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/WebCore/storage/IDBDatabase.cpp b/WebCore/storage/IDBDatabase.cpp
index b00695b..78a6646 100644
--- a/WebCore/storage/IDBDatabase.cpp
+++ b/WebCore/storage/IDBDatabase.cpp
@@ -39,7 +39,6 @@ namespace WebCore {
IDBDatabase::IDBDatabase(PassRefPtr<IDBDatabaseBackendInterface> backend)
: m_backend(backend)
- , m_description(m_backend->description())
{
// We pass a reference to this object before it can be adopted.
relaxAdoptionRequirement();
@@ -75,8 +74,10 @@ PassRefPtr<IDBTransaction> IDBDatabase::transaction(ScriptExecutionContext* cont
// We need to create a new transaction synchronously. Locks are acquired asynchronously. Operations
// can be queued against the transaction at any point. They will start executing as soon as the
// appropriate locks have been acquired.
+ // Also note that each backend object corresponds to exactly one IDBTransaction object.
RefPtr<IDBTransactionBackendInterface> transactionBackend = m_backend->transaction(storeNames, mode, timeout);
- RefPtr<IDBTransaction> transaction = IDBTransaction::create(context, transactionBackend.release(), this);
+ RefPtr<IDBTransaction> transaction = IDBTransaction::create(context, transactionBackend, this);
+ transactionBackend->setCallbacks(transaction.get());
return transaction.release();
}