Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp

Issue 8317017: Merge 97546 - [Chromium] Some WebSQLDatabase in worker bug fixes. (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/874/
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/WebKit/chromium/src/WebWorkerClientImpl.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
===================================================================
--- Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp (revision 97635)
+++ Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp (working copy)
@@ -189,31 +189,24 @@
void DatabaseTracker::interruptAllDatabasesForContext(const ScriptExecutionContext* context)
{
- Vector<RefPtr<AbstractDatabase> > openDatabases;
- {
- MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard);
+ MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard);
- if (!m_openDatabaseMap)
- return;
+ if (!m_openDatabaseMap)
+ return;
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(context->securityOrigin()->databaseIdentifier());
- if (!nameMap)
- return;
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(context->securityOrigin()->databaseIdentifier());
+ if (!nameMap)
+ return;
- DatabaseNameMap::const_iterator dbNameMapEndIt = nameMap->end();
- for (DatabaseNameMap::const_iterator dbNameMapIt = nameMap->begin(); dbNameMapIt != dbNameMapEndIt; ++dbNameMapIt) {
- DatabaseSet* databaseSet = dbNameMapIt->second;
- DatabaseSet::const_iterator dbSetEndIt = databaseSet->end();
- for (DatabaseSet::const_iterator dbSetIt = databaseSet->begin(); dbSetIt != dbSetEndIt; ++dbSetIt) {
- if ((*dbSetIt)->scriptExecutionContext() == context)
- openDatabases.append(*dbSetIt);
- }
+ DatabaseNameMap::const_iterator dbNameMapEndIt = nameMap->end();
+ for (DatabaseNameMap::const_iterator dbNameMapIt = nameMap->begin(); dbNameMapIt != dbNameMapEndIt; ++dbNameMapIt) {
+ DatabaseSet* databaseSet = dbNameMapIt->second;
+ DatabaseSet::const_iterator end = databaseSet->end();
+ for (DatabaseSet::const_iterator it = databaseSet->begin(); it != end; ++it) {
+ if ((*it)->scriptExecutionContext() == context)
+ (*it)->interrupt();
}
}
-
- Vector<RefPtr<AbstractDatabase> >::const_iterator openDatabasesEndIt = openDatabases.end();
- for (Vector<RefPtr<AbstractDatabase> >::const_iterator openDatabasesIt = openDatabases.begin(); openDatabasesIt != openDatabasesEndIt; ++openDatabasesIt)
- (*openDatabasesIt)->interrupt();
}
}
« no previous file with comments | « no previous file | Source/WebKit/chromium/src/WebWorkerClientImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698