| Index: Source/modules/webdatabase/DatabaseBackend.cpp
|
| diff --git a/Source/modules/webdatabase/DatabaseBackend.cpp b/Source/modules/webdatabase/DatabaseBackend.cpp
|
| index 41a63fa8d6bb4c1286703e8860e73eb851dbb909..e587c829951fbebaeb9ac755dac12afebf0016d9 100644
|
| --- a/Source/modules/webdatabase/DatabaseBackend.cpp
|
| +++ b/Source/modules/webdatabase/DatabaseBackend.cpp
|
| @@ -49,6 +49,7 @@ DatabaseBackend::DatabaseBackend(PassRefPtr<DatabaseContext> databaseContext, co
|
|
|
| void DatabaseBackend::trace(Visitor* visitor)
|
| {
|
| + visitor->trace(m_transactionQueue);
|
| DatabaseBackendBase::trace(visitor);
|
| }
|
|
|
| @@ -90,7 +91,7 @@ void DatabaseBackend::close()
|
| // Clean up transactions that have not been scheduled yet:
|
| // Transaction phase 1 cleanup. See comment on "What happens if a
|
| // transaction is interrupted?" at the top of SQLTransactionBackend.cpp.
|
| - RefPtr<SQLTransactionBackend> transaction;
|
| + RefPtrWillBeRawPtr<SQLTransactionBackend> transaction;
|
| while (!m_transactionQueue.isEmpty()) {
|
| transaction = m_transactionQueue.takeFirst();
|
| transaction->notifyDatabaseThreadIsShuttingDown();
|
| @@ -104,7 +105,7 @@ void DatabaseBackend::close()
|
| databaseContext()->databaseThread()->recordDatabaseClosed(this);
|
| }
|
|
|
| -PassRefPtr<SQLTransactionBackend> DatabaseBackend::runTransaction(PassRefPtrWillBeRawPtr<SQLTransaction> transaction,
|
| +PassRefPtrWillBeRawPtr<SQLTransactionBackend> DatabaseBackend::runTransaction(PassRefPtrWillBeRawPtr<SQLTransaction> transaction,
|
| bool readOnly, const ChangeVersionData* data)
|
| {
|
| MutexLocker locker(m_transactionInProgressMutex);
|
| @@ -115,7 +116,7 @@ PassRefPtr<SQLTransactionBackend> DatabaseBackend::runTransaction(PassRefPtrWill
|
| if (data)
|
| wrapper = ChangeVersionWrapper::create(data->oldVersion(), data->newVersion());
|
|
|
| - RefPtr<SQLTransactionBackend> transactionBackend = SQLTransactionBackend::create(this, transaction, wrapper, readOnly);
|
| + RefPtrWillBeRawPtr<SQLTransactionBackend> transactionBackend = SQLTransactionBackend::create(this, transaction, wrapper, readOnly);
|
| m_transactionQueue.append(transactionBackend);
|
| if (!m_transactionInProgress)
|
| scheduleTransaction();
|
| @@ -133,7 +134,7 @@ void DatabaseBackend::inProgressTransactionCompleted()
|
| void DatabaseBackend::scheduleTransaction()
|
| {
|
| ASSERT(!m_transactionInProgressMutex.tryLock()); // Locked by caller.
|
| - RefPtr<SQLTransactionBackend> transaction;
|
| + RefPtrWillBeRawPtr<SQLTransactionBackend> transaction;
|
|
|
| if (m_isTransactionQueueEnabled && !m_transactionQueue.isEmpty())
|
| transaction = m_transactionQueue.takeFirst();
|
|
|