Title: [208501] trunk
Revision
208501
Author
beid...@apple.com
Date
2016-11-09 15:34:41 -0800 (Wed, 09 Nov 2016)

Log Message

IndexedDB 2.0: W3C test IndexedDB/idbtransaction_objectStoreNames.html fails.
https://bugs.webkit.org/show_bug.cgi?id=164528

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* web-platform-tests/IndexedDB/idbtransaction_objectStoreNames-expected.txt:

Source/WebCore:

No new tests (Covered by existing test).

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction): De-dupe the input names.

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (208500 => 208501)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2016-11-09 23:29:38 UTC (rev 208500)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2016-11-09 23:34:41 UTC (rev 208501)
@@ -1,5 +1,14 @@
 2016-11-09  Brady Eidson  <beid...@apple.com>
 
+        IndexedDB 2.0: W3C test IndexedDB/idbtransaction_objectStoreNames.html fails.
+        https://bugs.webkit.org/show_bug.cgi?id=164528
+
+        Reviewed by Alex Christensen.
+
+        * web-platform-tests/IndexedDB/idbtransaction_objectStoreNames-expected.txt:
+
+2016-11-09  Brady Eidson  <beid...@apple.com>
+
         IndexedDB 2.0: Implement new IDBCursor.continuePrimaryKey function.
         https://bugs.webkit.org/show_bug.cgi?id=164404
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction_objectStoreNames-expected.txt (208500 => 208501)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction_objectStoreNames-expected.txt	2016-11-09 23:29:38 UTC (rev 208500)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbtransaction_objectStoreNames-expected.txt	2016-11-09 23:34:41 UTC (rev 208501)
@@ -5,6 +5,6 @@
 PASS IDBTransaction.objectStoreNames - value after commit 
 PASS IDBTransaction.objectStoreNames - value after abort 
 PASS IDBTransaction.objectStoreNames - sorting 
-FAIL IDBTransaction.objectStoreNames - no duplicates assert_array_equals: transaction objectStoreNames should not have duplicates lengths differ, expected 2 got 3
-FAIL IDBTransaction.objectStoreNames - unusual names assert_array_equals: transaction should have names sorted with no duplicates lengths differ, expected 14 got 28
+PASS IDBTransaction.objectStoreNames - no duplicates 
+PASS IDBTransaction.objectStoreNames - unusual names 
 

Modified: trunk/Source/WebCore/ChangeLog (208500 => 208501)


--- trunk/Source/WebCore/ChangeLog	2016-11-09 23:29:38 UTC (rev 208500)
+++ trunk/Source/WebCore/ChangeLog	2016-11-09 23:34:41 UTC (rev 208501)
@@ -1,5 +1,17 @@
 2016-11-09  Brady Eidson  <beid...@apple.com>
 
+        IndexedDB 2.0: W3C test IndexedDB/idbtransaction_objectStoreNames.html fails.
+        https://bugs.webkit.org/show_bug.cgi?id=164528
+
+        Reviewed by Alex Christensen.
+
+        No new tests (Covered by existing test).
+
+        * Modules/indexeddb/IDBDatabase.cpp:
+        (WebCore::IDBDatabase::transaction): De-dupe the input names.
+
+2016-11-09  Brady Eidson  <beid...@apple.com>
+
         IndexedDB 2.0: Implement new IDBCursor.continuePrimaryKey function.
         https://bugs.webkit.org/show_bug.cgi?id=164404
 

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp (208500 => 208501)


--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp	2016-11-09 23:29:38 UTC (rev 208500)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp	2016-11-09 23:34:41 UTC (rev 208501)
@@ -185,6 +185,15 @@
     if (m_versionChangeTransaction && !m_versionChangeTransaction->isFinishedOrFinishing())
         return Exception { IDBDatabaseException::InvalidStateError, ASCIILiteral("Failed to execute 'transaction' on 'IDBDatabase': A version change transaction is running.") };
 
+    // It is valid for _javascript_ to pass in a list of object store names with the same name listed twice,
+    // so we need to put them all in a set to get a unique list.
+    HashSet<String> objectStoreSet;
+    for (auto& objectStore : objectStores)
+        objectStoreSet.add(objectStore);
+
+    objectStores.clear();
+    copyToVector(objectStoreSet, objectStores);
+
     for (auto& objectStoreName : objectStores) {
         if (m_info.hasObjectStore(objectStoreName))
             continue;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to