diff options
Diffstat (limited to 'WebCore/storage/IDBDatabase.cpp')
-rw-r--r-- | WebCore/storage/IDBDatabase.cpp | 5 |
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(); } |