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