| Index: Source/modules/webdatabase/Database.cpp
|
| diff --git a/Source/modules/webdatabase/Database.cpp b/Source/modules/webdatabase/Database.cpp
|
| index 632f94a102358ab407efaec6a9febe20a7cf26fb..dedc365679fc915602e8a55d2ba99185c9d094be 100644
|
| --- a/Source/modules/webdatabase/Database.cpp
|
| +++ b/Source/modules/webdatabase/Database.cpp
|
| @@ -259,7 +259,7 @@ void Database::trace(Visitor* visitor)
|
| bool Database::openAndVerifyVersion(bool setVersionInNewDatabase, DatabaseError& error, String& errorMessage)
|
| {
|
| TaskSynchronizer synchronizer;
|
| - if (!databaseContext()->databaseThread() || databaseContext()->databaseThread()->terminationRequested(&synchronizer))
|
| + if (!databaseContext()->databaseThreadAvailable())
|
| return false;
|
|
|
| DatabaseTracker::tracker().prepareToOpenDatabase(this);
|
| @@ -330,7 +330,7 @@ void Database::scheduleTransaction()
|
| if (m_isTransactionQueueEnabled && !m_transactionQueue.isEmpty())
|
| transaction = m_transactionQueue.takeFirst();
|
|
|
| - if (transaction && databaseContext()->databaseThread()) {
|
| + if (transaction && databaseContext()->databaseThreadAvailable()) {
|
| OwnPtr<DatabaseTransactionTask> task = DatabaseTransactionTask::create(transaction);
|
| WTF_LOG(StorageAPI, "Scheduling DatabaseTransactionTask %p for transaction %p\n", task.get(), task->transaction());
|
| m_transactionInProgress = true;
|
| @@ -342,7 +342,7 @@ void Database::scheduleTransaction()
|
|
|
| void Database::scheduleTransactionStep(SQLTransactionBackend* transaction)
|
| {
|
| - if (!databaseContext()->databaseThread())
|
| + if (!databaseContext()->databaseThreadAvailable())
|
| return;
|
|
|
| OwnPtr<DatabaseTransactionTask> task = DatabaseTransactionTask::create(transaction);
|
| @@ -783,10 +783,9 @@ ExecutionContext* Database::executionContext() const
|
| void Database::closeImmediately()
|
| {
|
| ASSERT(executionContext()->isContextThread());
|
| - DatabaseThread* databaseThread = databaseContext()->databaseThread();
|
| - if (databaseThread && !databaseThread->terminationRequested() && opened()) {
|
| + if (databaseContext()->databaseThreadAvailable() && opened()) {
|
| logErrorMessage("forcibly closing database");
|
| - databaseThread->scheduleTask(DatabaseCloseTask::create(this, 0));
|
| + databaseContext()->databaseThread()->scheduleTask(DatabaseCloseTask::create(this, 0));
|
| }
|
| }
|
|
|
| @@ -913,7 +912,7 @@ Vector<String> Database::tableNames()
|
| // this may not be true anymore.
|
| Vector<String> result;
|
| TaskSynchronizer synchronizer;
|
| - if (!databaseContext()->databaseThread() || databaseContext()->databaseThread()->terminationRequested(&synchronizer))
|
| + if (!databaseContext()->databaseThreadAvailable())
|
| return result;
|
|
|
| OwnPtr<DatabaseTableNamesTask> task = DatabaseTableNamesTask::create(this, &synchronizer, result);
|
|
|