| Index: Source/modules/webdatabase/DatabaseThread.cpp
|
| diff --git a/Source/modules/webdatabase/DatabaseThread.cpp b/Source/modules/webdatabase/DatabaseThread.cpp
|
| index 4f7ceabd5e1ce719699417f8a268b6e5ba62fbc7..9c83d901cffedbf0c7f8d8049805c9a9d61b4afd 100644
|
| --- a/Source/modules/webdatabase/DatabaseThread.cpp
|
| +++ b/Source/modules/webdatabase/DatabaseThread.cpp
|
| @@ -48,6 +48,8 @@ DatabaseThread::DatabaseThread()
|
|
|
| DatabaseThread::~DatabaseThread()
|
| {
|
| + ASSERT(m_thread);
|
| + ASSERT(!isDatabaseThread());
|
| bool terminationRequested;
|
| {
|
| MutexLocker lock(m_terminationRequestedMutex);
|
| @@ -96,11 +98,8 @@ void DatabaseThread::cleanupDatabaseThread()
|
| // Close the databases that we ran transactions on. This ensures that if any transactions are still open, they are rolled back and we don't leave the database in an
|
| // inconsistent or locked state.
|
| if (m_openDatabaseSet.size() > 0) {
|
| - // As the call to close will modify the original set, we must take a copy to iterate over.
|
| - DatabaseSet openSetCopy;
|
| - openSetCopy.swap(m_openDatabaseSet);
|
| - DatabaseSet::iterator end = openSetCopy.end();
|
| - for (DatabaseSet::iterator it = openSetCopy.begin(); it != end; ++it)
|
| + DatabaseSet::iterator end = m_openDatabaseSet.end();
|
| + for (DatabaseSet::iterator it = m_openDatabaseSet.begin(); it != end; ++it)
|
| (*it).get()->close();
|
| }
|
|
|
| @@ -122,17 +121,9 @@ void DatabaseThread::recordDatabaseClosed(DatabaseBackend* database)
|
| MutexLocker lock(m_terminationRequestedMutex);
|
| #endif
|
| ASSERT(isDatabaseThread());
|
| - ASSERT(database);
|
| + ASSERT_UNUSED(database, database);
|
| ASSERT(m_terminationRequested || m_openDatabaseSet.contains(database));
|
| - m_openDatabaseSet.remove(database);
|
| -}
|
| -
|
| -bool DatabaseThread::isDatabaseOpen(DatabaseBackend* database)
|
| -{
|
| - ASSERT(isDatabaseThread());
|
| - ASSERT(database);
|
| - MutexLocker lock(m_terminationRequestedMutex);
|
| - return !m_terminationRequested && m_openDatabaseSet.contains(database);
|
| + // We'll clear m_openDatabaseSet in the destructor.
|
| }
|
|
|
| void DatabaseThread::scheduleTask(PassOwnPtr<DatabaseTask> task)
|
|
|