Title: [108375] trunk/Source/WebKit/chromium
Revision
108375
Author
[email protected]
Date
2012-02-21 11:25:22 -0800 (Tue, 21 Feb 2012)

Log Message

IndexedDB: webFrame isn't threadsafe, don't use it from a worker thread
https://bugs.webkit.org/show_bug.cgi?id=78659

After crrev.com/121669, indexed db doesn't use the web frame for
anything if called from a web worker.

No new tests - this check was defensive and possibly not ever
triggered.

Reviewed by Tony Chang.

* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::openFromWorker):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (108374 => 108375)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-02-21 19:17:40 UTC (rev 108374)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-02-21 19:25:22 UTC (rev 108375)
@@ -1,3 +1,19 @@
+2012-02-21  David Grogan  <[email protected]>
+
+        IndexedDB: webFrame isn't threadsafe, don't use it from a worker thread
+        https://bugs.webkit.org/show_bug.cgi?id=78659
+
+        After crrev.com/121669, indexed db doesn't use the web frame for
+        anything if called from a web worker.
+
+        No new tests - this check was defensive and possibly not ever
+        triggered.
+
+        Reviewed by Tony Chang.
+
+        * src/IDBFactoryBackendProxy.cpp:
+        (WebKit::IDBFactoryBackendProxy::openFromWorker):
+
 2012-02-21  Yury Semikhatsky  <[email protected]>
 
         [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop

Modified: trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp (108374 => 108375)


--- trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp	2012-02-21 19:17:40 UTC (rev 108374)
+++ trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp	2012-02-21 19:25:22 UTC (rev 108375)
@@ -187,15 +187,7 @@
         callbacks->onError(WebIDBDatabaseError(0, "The user denied permission to access the database."));
         return;
     }
-    WorkerLoaderProxy* workerLoaderProxy = &context->thread()->workerLoaderProxy();
-    WebWorkerBase* webWorker = static_cast<WebWorkerBase*>(workerLoaderProxy);
-    WebView* webView = webWorker->view();
-    if (!webView) {
-        // Frame is closed, worker is terminaring.
-        return;
-    }
-    WebFrame* webFrame = webView->mainFrame();
-    m_webIDBFactory->open(name, new WebIDBCallbacksImpl(callbacks), origin, webFrame, dataDir);
+    m_webIDBFactory->open(name, new WebIDBCallbacksImpl(callbacks), origin, /*webFrame*/0, dataDir);
 #endif
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to