Title: [193871] trunk
Revision
193871
Author
beid...@apple.com
Date
2015-12-09 14:46:10 -0800 (Wed, 09 Dec 2015)

Log Message

Modern IDB: storage/indexeddb/database-closepending-flag.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152095

Reviewed by Alex Christensen.

Source/WebCore:

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

The server-side checks the closepending flag before dispatching the event to the client,
but due to the inherent asynchronous race between server and client, the client needs to
check its closePending flag as well.

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent): Don't fire if m_closePending is set.

LayoutTests:

* platform/mac-wk1/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (193870 => 193871)


--- trunk/LayoutTests/ChangeLog	2015-12-09 22:45:21 UTC (rev 193870)
+++ trunk/LayoutTests/ChangeLog	2015-12-09 22:46:10 UTC (rev 193871)
@@ -1,5 +1,14 @@
 2015-12-09  Brady Eidson  <beid...@apple.com>
 
+        Modern IDB: storage/indexeddb/database-closepending-flag.html fails.
+        https://bugs.webkit.org/show_bug.cgi?id=152095
+
+        Reviewed by Alex Christensen.
+
+        * platform/mac-wk1/TestExpectations:
+
+2015-12-09  Brady Eidson  <beid...@apple.com>
+
         Modern IDB: Some tests expect UInt8Array to be a valid key.
         https://bugs.webkit.org/show_bug.cgi?id=152092
 

Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (193870 => 193871)


--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2015-12-09 22:45:21 UTC (rev 193870)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2015-12-09 22:46:10 UTC (rev 193871)
@@ -93,7 +93,6 @@
 
 # IDB tests with text failures                                                             
 storage/indexeddb/cursor-continue.html [ Failure ]
-storage/indexeddb/database-closepending-flag.html [ Failure ]
 storage/indexeddb/database-deletepending-flag.html [ Failure ]
 storage/indexeddb/delete-closed-database-object.html [ Failure ]
 storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html [ Failure ]

Modified: trunk/Source/WebCore/ChangeLog (193870 => 193871)


--- trunk/Source/WebCore/ChangeLog	2015-12-09 22:45:21 UTC (rev 193870)
+++ trunk/Source/WebCore/ChangeLog	2015-12-09 22:46:10 UTC (rev 193871)
@@ -1,3 +1,19 @@
+2015-12-09  Brady Eidson  <beid...@apple.com>
+
+        Modern IDB: storage/indexeddb/database-closepending-flag.html fails.
+        https://bugs.webkit.org/show_bug.cgi?id=152095
+
+        Reviewed by Alex Christensen.
+
+        No new tests (At least one failing test now passes).
+        
+        The server-side checks the closepending flag before dispatching the event to the client, 
+        but due to the inherent asynchronous race between server and client, the client needs to 
+        check its closePending flag as well.
+
+        * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
+        (WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent): Don't fire if m_closePending is set.
+
 2015-12-09  David Hyatt  <hy...@apple.com>
 
         Picture element needs to respond to dynamic viewport changes.

Modified: trunk/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp (193870 => 193871)


--- trunk/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp	2015-12-09 22:45:21 UTC (rev 193870)
+++ trunk/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp	2015-12-09 22:46:10 UTC (rev 193871)
@@ -362,9 +362,9 @@
     uint64_t currentVersion = m_info.version();
     LOG(IndexedDB, "IDBDatabase::fireVersionChangeEvent - current version %" PRIu64 ", requested version %" PRIu64, currentVersion, requestedVersion);
 
-    if (!scriptExecutionContext())
+    if (!scriptExecutionContext() || m_closePending)
         return;
-    
+
     Ref<Event> event = IDBVersionChangeEvent::create(currentVersion, requestedVersion, eventNames().versionchangeEvent);
     event->setTarget(this);
     scriptExecutionContext()->eventQueue().enqueueEvent(WTF::move(event));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to