Title: [97636] branches/chromium/874/Source
- Revision
- 97636
- Author
- infe...@chromium.org
- Date
- 2011-10-17 12:09:42 -0700 (Mon, 17 Oct 2011)
Log Message
Merge 97546 - [Chromium] Some WebSQLDatabase in worker bug fixes.
BUG=71551
Review URL: http://codereview.chromium.org/8317017
Modified Paths
Diff
Modified: branches/chromium/874/Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp (97635 => 97636)
--- branches/chromium/874/Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp 2011-10-17 18:20:38 UTC (rev 97635)
+++ branches/chromium/874/Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp 2011-10-17 19:09:42 UTC (rev 97636)
@@ -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();
}
}
Modified: branches/chromium/874/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp (97635 => 97636)
--- branches/chromium/874/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp 2011-10-17 18:20:38 UTC (rev 97635)
+++ branches/chromium/874/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp 2011-10-17 19:09:42 UTC (rev 97636)
@@ -188,6 +188,8 @@
bool WebWorkerClientImpl::allowFileSystem()
{
WebKit::WebViewImpl* webView = m_webFrame->viewImpl();
+ if (!webView)
+ return false;
return !webView->permissionClient() || webView->permissionClient()->allowFileSystem(m_webFrame);
}
@@ -199,8 +201,10 @@
bool WebWorkerClientImpl::allowDatabase(WebFrame*, const WebString& name, const WebString& displayName, unsigned long estimatedSize)
{
- WebKit::WebViewImpl* webView = m_webFrame->viewImpl();
- return !webView->permissionClient() || webView->permissionClient()->allowDatabase(m_webFrame, name, displayName, estimatedSize);
+ WebKit::WebViewImpl* webView = m_webFrame->viewImpl();
+ if (!webView)
+ return false;
+ return !webView->permissionClient() || webView->permissionClient()->allowDatabase(m_webFrame, name, displayName, estimatedSize);
}
void WebWorkerClientImpl::dispatchDevToolsMessage(const WebString& message)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes