Title: [228609] trunk
Revision
228609
Author
commit-qu...@webkit.org
Date
2018-02-19 00:07:57 -0800 (Mon, 19 Feb 2018)

Log Message

REGRESSION(r219298): RELEASE_ASSERT(!m_owningPointerForClose) fails in WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose
https://bugs.webkit.org/show_bug.cgi?id=174354
<rdar://problem/33294987>

Patch by Fujii Hironori <hironori.fu...@sony.com> on 2018-02-19
Reviewed by Michael Catanzaro.

Source/WebCore:

UniqueIDBDatabase::invokeOperationAndTransactionTimer was called
even after m_owningPointerForClose was set in
UniqueIDBDatabase::didDeleteBackingStore.

No new tests (Covered by existing tests).

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
Do not start deleting the UniqueIDBDatabase. Just call invokeOperationAndTransactionTimer.
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
Assert m_owningPointerForClose is null.

LayoutTests:

* platform/gtk/TestExpectations:
Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open.html.
* platform/ios-wk2/TestExpectations:
Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html.
* platform/mac/TestExpectations: Ditto.
* platform/wpe/TestExpectations: Unmarked
imported/w3c/IndexedDB-private-browsing/idbfactory_open.html and
imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (228608 => 228609)


--- trunk/LayoutTests/ChangeLog	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/LayoutTests/ChangeLog	2018-02-19 08:07:57 UTC (rev 228609)
@@ -1,3 +1,20 @@
+2018-02-19  Fujii Hironori  <hironori.fu...@sony.com>
+
+        REGRESSION(r219298): RELEASE_ASSERT(!m_owningPointerForClose) fails in WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose
+        https://bugs.webkit.org/show_bug.cgi?id=174354
+        <rdar://problem/33294987>
+
+        Reviewed by Michael Catanzaro.
+
+        * platform/gtk/TestExpectations:
+        Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open.html.
+        * platform/ios-wk2/TestExpectations:
+        Unmarked imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html.
+        * platform/mac/TestExpectations: Ditto.
+        * platform/wpe/TestExpectations: Unmarked
+        imported/w3c/IndexedDB-private-browsing/idbfactory_open.html and
+        imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html.
+
 2018-02-18  Philippe Normand  <pnorm...@igalia.com>
 
         [GTK][WPE] Fullscreen video is broken

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (228608 => 228609)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2018-02-19 08:07:57 UTC (rev 228609)
@@ -1873,8 +1873,6 @@
 
 webkit.org/b/174353 media/video-restricted-invisible-autoplay-not-allowed.html [ Crash Pass ]
 
-webkit.org/b/174354 imported/w3c/IndexedDB-private-browsing/idbfactory_open.html [ Crash Pass ]
-
 webkit.org/b/175933 media/audio-controls-timeline-in-media-document.html [ Pass Failure ]
 
 webkit.org/b/176105 http/tests/security/video-cross-origin-accessfailure.html [ Pass Failure ]

Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (228608 => 228609)


--- trunk/LayoutTests/platform/ios-wk2/TestExpectations	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/LayoutTests/platform/ios-wk2/TestExpectations	2018-02-19 08:07:57 UTC (rev 228609)
@@ -1286,8 +1286,6 @@
 
 webkit.org/b/171985 [ Release ] workers/bomb.html [ Pass Timeout ]
 
-webkit.org/b/174949 imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html [ Skip ]
-
 webkit.org/b/175939 [ Debug ] editing/execCommand/forward-delete-read-write-canvas.html [ Skip ]
 
 # <rdar://problem/32826391>

Modified: trunk/LayoutTests/platform/mac/TestExpectations (228608 => 228609)


--- trunk/LayoutTests/platform/mac/TestExpectations	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2018-02-19 08:07:57 UTC (rev 228609)
@@ -1662,9 +1662,6 @@
 [ HighSierra+ ] imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.html [ Failure ]
 [ HighSierra+ ] imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html [ Failure ]
 
-# <rdar://problem/33555052>
-[ HighSierra+ ] imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html [ Skip ]
-
 # <rdar://problem/33731086>
 [ HighSierra+ ] media/modern-media-controls/time-labels-support/elapsed-time.html [ Skip ]
 

Modified: trunk/LayoutTests/platform/wpe/TestExpectations (228608 => 228609)


--- trunk/LayoutTests/platform/wpe/TestExpectations	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/LayoutTests/platform/wpe/TestExpectations	2018-02-19 08:07:57 UTC (rev 228609)
@@ -417,9 +417,6 @@
 # Flaky
 webkit.org/b/177530 imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm [ Pass Failure ]
 
-webkit.org/b/174354 imported/w3c/IndexedDB-private-browsing/idbfactory_open.html [ Crash Pass ]
-webkit.org/b/174354 imported/w3c/IndexedDB-private-browsing/idbfactory_open12.html [ Crash Pass ]
-
 Bug(WPE) fast/attachment [ Skip ]
 Bug(WPE) fast/autoresize [ Skip ]
 Bug(WPE) fast/backgrounds [ Skip ]

Modified: trunk/Source/WebCore/ChangeLog (228608 => 228609)


--- trunk/Source/WebCore/ChangeLog	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/Source/WebCore/ChangeLog	2018-02-19 08:07:57 UTC (rev 228609)
@@ -1,3 +1,23 @@
+2018-02-19  Fujii Hironori  <hironori.fu...@sony.com>
+
+        REGRESSION(r219298): RELEASE_ASSERT(!m_owningPointerForClose) fails in WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose
+        https://bugs.webkit.org/show_bug.cgi?id=174354
+        <rdar://problem/33294987>
+
+        Reviewed by Michael Catanzaro.
+
+        UniqueIDBDatabase::invokeOperationAndTransactionTimer was called
+        even after m_owningPointerForClose was set in
+        UniqueIDBDatabase::didDeleteBackingStore.
+
+        No new tests (Covered by existing tests).
+
+        * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
+        (WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
+        Do not start deleting the UniqueIDBDatabase. Just call invokeOperationAndTransactionTimer.
+        (WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer):
+        Assert m_owningPointerForClose is null.
+
 2018-02-18  Yoshiaki Jitsukawa  <yoshiaki.jitsuk...@sony.com>
 
         Fix build error after r228417 without ACCESSIBILITY

Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp (228608 => 228609)


--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp	2018-02-19 07:46:54 UTC (rev 228608)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp	2018-02-19 08:07:57 UTC (rev 228609)
@@ -332,21 +332,6 @@
     }
 
     m_deleteBackingStoreInProgress = false;
-
-    if (m_clientClosePendingDatabaseConnections.isEmpty() && m_pendingOpenDBRequests.isEmpty()) {
-        // This UniqueIDBDatabase is now ready to be deleted.
-        ASSERT(m_databaseQueue.isEmpty());
-        ASSERT(m_databaseReplyQueue.isEmpty());
-        m_databaseQueue.kill();
-
-        RELEASE_ASSERT(!m_owningPointerForClose);
-        m_owningPointerForClose = m_server.closeAndTakeUniqueIDBDatabase(*this);
-        ASSERT(m_owningPointerForClose);
-
-        postDatabaseTaskReply(createCrossThreadTask(*this, &UniqueIDBDatabase::didShutdownForClose));
-        return;
-    }
-
     invokeOperationAndTransactionTimer();
 }
 
@@ -1547,6 +1532,7 @@
 {
     LOG(IndexedDB, "UniqueIDBDatabase::invokeOperationAndTransactionTimer()");
     ASSERT(!m_hardClosedForUserDelete);
+    ASSERT(!m_owningPointerForClose);
 
     if (!m_operationAndTransactionTimer.isActive())
         m_operationAndTransactionTimer.startOneShot(0_s);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to