Title: [194670] trunk
Revision
194670
Author
beid...@apple.com
Date
2016-01-06 14:21:47 -0800 (Wed, 06 Jan 2016)

Log Message

Modern IDB: storage/indexeddb/intversion-gated-on-delete.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=152795

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (At least one failing test now passes).

Change the HashSet of open connection into a ListHashSet.

This enforces a reliable order of event delivery, which this test relies on,
and which seems better in general.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
* Modules/indexeddb/server/UniqueIDBDatabase.h:

LayoutTests:

* platform/mac-wk1/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (194669 => 194670)


--- trunk/LayoutTests/ChangeLog	2016-01-06 22:21:20 UTC (rev 194669)
+++ trunk/LayoutTests/ChangeLog	2016-01-06 22:21:47 UTC (rev 194670)
@@ -1,3 +1,12 @@
+2016-01-06  Brady Eidson  <beid...@apple.com>
+
+        Modern IDB: storage/indexeddb/intversion-gated-on-delete.html is flaky.
+        https://bugs.webkit.org/show_bug.cgi?id=152795
+
+        Reviewed by Alex Christensen.
+
+        * platform/mac-wk1/TestExpectations:
+
 2016-01-06  Simon Fraser  <simon.fra...@apple.com>
 
         [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)

Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (194669 => 194670)


--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2016-01-06 22:21:20 UTC (rev 194669)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2016-01-06 22:21:47 UTC (rev 194670)
@@ -83,7 +83,6 @@
 
 # IDB tests with other text failures
 fast/history/page-cache-indexed-closed-db.html [ Failure ]
-storage/indexeddb/intversion-gated-on-delete.html [ Failure ]
 storage/indexeddb/intversion-long-queue.html [ Failure ]
 storage/indexeddb/odd-strings.html [ Failure ]
 storage/indexeddb/open-db-private-browsing.html [ Failure ]

Modified: trunk/Source/WebCore/ChangeLog (194669 => 194670)


--- trunk/Source/WebCore/ChangeLog	2016-01-06 22:21:20 UTC (rev 194669)
+++ trunk/Source/WebCore/ChangeLog	2016-01-06 22:21:47 UTC (rev 194670)
@@ -1,3 +1,21 @@
+2016-01-06  Brady Eidson  <beid...@apple.com>
+
+        Modern IDB: storage/indexeddb/intversion-gated-on-delete.html is flaky.
+        https://bugs.webkit.org/show_bug.cgi?id=152795
+
+        Reviewed by Alex Christensen.
+
+        No new tests (At least one failing test now passes).
+
+        Change the HashSet of open connection into a ListHashSet.
+        
+        This enforces a reliable order of event delivery, which this test relies on, 
+        and which seems better in general.
+
+        * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
+        (WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
+        * Modules/indexeddb/server/UniqueIDBDatabase.h:
+
 2016-01-06  Simon Fraser  <simon.fra...@apple.com>
 
         [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)

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


--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp	2016-01-06 22:21:20 UTC (rev 194669)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp	2016-01-06 22:21:47 UTC (rev 194670)
@@ -1020,9 +1020,10 @@
     if (!pendingTransactions.isEmpty())
         m_pendingTransactions.swap(pendingTransactions);
 
-    auto removedConnection = m_openDatabaseConnections.take(&connection);
-    if (removedConnection->hasNonFinishedTransactions()) {
-        m_closePendingDatabaseConnections.add(WTFMove(removedConnection));
+    RefPtr<UniqueIDBDatabaseConnection> refConnection(&connection);
+    m_openDatabaseConnections.remove(&connection);
+    if (connection.hasNonFinishedTransactions()) {
+        m_closePendingDatabaseConnections.add(WTFMove(refConnection));
         return;
     }
 

Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h (194669 => 194670)


--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h	2016-01-06 22:21:20 UTC (rev 194669)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h	2016-01-06 22:21:47 UTC (rev 194670)
@@ -41,6 +41,7 @@
 #include <wtf/Deque.h>
 #include <wtf/HashCountedSet.h>
 #include <wtf/HashSet.h>
+#include <wtf/ListHashSet.h>
 #include <wtf/Ref.h>
 #include <wtf/ThreadSafeRefCounted.h>
 
@@ -183,7 +184,7 @@
     Deque<Ref<ServerOpenDBRequest>> m_pendingOpenDBRequests;
     RefPtr<ServerOpenDBRequest> m_currentOpenDBRequest;
 
-    HashSet<RefPtr<UniqueIDBDatabaseConnection>> m_openDatabaseConnections;
+    ListHashSet<RefPtr<UniqueIDBDatabaseConnection>> m_openDatabaseConnections;
     HashSet<RefPtr<UniqueIDBDatabaseConnection>> m_closePendingDatabaseConnections;
 
     RefPtr<UniqueIDBDatabaseConnection> m_versionChangeDatabaseConnection;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to