Title: [142653] trunk/Source/WebKit/chromium
Revision
142653
Author
[email protected]
Date
2013-02-12 12:23:04 -0800 (Tue, 12 Feb 2013)

Log Message

[Chromium] IndexedDB/Worker crash during shutdown
https://bugs.webkit.org/show_bug.cgi?id=109467

Reviewed by Tony Chang.

If the message queue has already been terminated, don't bother scheduling
a new error event that will never be delivered. Speculative fix for the
issue, which only repros in multiprocess ports and so far only on some
platforms.

* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::allowIndexedDB): Early exit.

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (142652 => 142653)


--- trunk/Source/WebKit/chromium/ChangeLog	2013-02-12 20:14:06 UTC (rev 142652)
+++ trunk/Source/WebKit/chromium/ChangeLog	2013-02-12 20:23:04 UTC (rev 142653)
@@ -1,3 +1,18 @@
+2013-02-12  Joshua Bell  <[email protected]>
+
+        [Chromium] IndexedDB/Worker crash during shutdown
+        https://bugs.webkit.org/show_bug.cgi?id=109467
+
+        Reviewed by Tony Chang.
+
+        If the message queue has already been terminated, don't bother scheduling
+        a new error event that will never be delivered. Speculative fix for the
+        issue, which only repros in multiprocess ports and so far only on some
+        platforms.
+
+        * src/IDBFactoryBackendProxy.cpp:
+        (WebKit::IDBFactoryBackendProxy::allowIndexedDB): Early exit.
+
 2013-02-12  Zan Dobersek  <[email protected]>
 
         Remove ENABLE_XHR_RESPONSE_BLOB handling from various build systems

Modified: trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp (142652 => 142653)


--- trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp	2013-02-12 20:14:06 UTC (rev 142652)
+++ trunk/Source/WebKit/chromium/src/IDBFactoryBackendProxy.cpp	2013-02-12 20:23:04 UTC (rev 142653)
@@ -182,9 +182,9 @@
         // Either the bridge returns, or the queue gets terminated.
         if (runLoop.runInMode(workerContext, mode) == MessageQueueTerminated) {
             bridge->cancel();
-            allowed = false;
-        } else
-            allowed = bridge->result();
+            return false;
+        }
+        allowed = bridge->result();
     }
 
     if (!allowed)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to