Title: [208389] trunk
Revision
208389
Author
[email protected]
Date
2016-11-04 11:10:24 -0700 (Fri, 04 Nov 2016)

Log Message

IndexedDB 2.0: Handle IDBObjectStore rename behavior properly when version change transaction aborts.
https://bugs.webkit.org/show_bug.cgi?id=164416

Reviewed by Beth Dakin.

LayoutTests/imported/w3c:

* web-platform-tests/IndexedDB/idbobjectstore-rename-abort-expected.txt:

Source/WebCore:

No new tests (Covered by existing tests).

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::rollbackForVersionChangeAbort):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (208388 => 208389)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2016-11-04 18:08:05 UTC (rev 208388)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2016-11-04 18:10:24 UTC (rev 208389)
@@ -1,5 +1,14 @@
 2016-11-04  Brady Eidson  <[email protected]>
 
+        IndexedDB 2.0: Handle IDBObjectStore rename behavior properly when version change transaction aborts.
+        https://bugs.webkit.org/show_bug.cgi?id=164416
+
+        Reviewed by Beth Dakin.
+
+        * web-platform-tests/IndexedDB/idbobjectstore-rename-abort-expected.txt:
+
+2016-11-04  Brady Eidson  <[email protected]>
+
         IndexedDB 2.0: Use IDB-specific exceptions in places where the generic exceptions are currently used.
         https://bugs.webkit.org/show_bug.cgi?id=164406
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-rename-abort-expected.txt (208388 => 208389)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-rename-abort-expected.txt	2016-11-04 18:08:05 UTC (rev 208388)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-rename-abort-expected.txt	2016-11-04 18:10:24 UTC (rev 208389)
@@ -1,4 +1,4 @@
 
 PASS IndexedDB object store rename in aborted transaction 
-FAIL IndexedDB object store creation and rename in an aborted transaction assert_equals: IDBObjectStore.name should reflect the last rename immediately after transaction.abort() returns expected "not_books_renamed_again" but got "not_books"
+PASS IndexedDB object store creation and rename in an aborted transaction 
 

Modified: trunk/Source/WebCore/ChangeLog (208388 => 208389)


--- trunk/Source/WebCore/ChangeLog	2016-11-04 18:08:05 UTC (rev 208388)
+++ trunk/Source/WebCore/ChangeLog	2016-11-04 18:10:24 UTC (rev 208389)
@@ -1,3 +1,15 @@
+2016-11-04  Brady Eidson  <[email protected]>
+
+        IndexedDB 2.0: Handle IDBObjectStore rename behavior properly when version change transaction aborts.
+        https://bugs.webkit.org/show_bug.cgi?id=164416
+
+        Reviewed by Beth Dakin.
+
+        No new tests (Covered by existing tests).
+
+        * Modules/indexeddb/IDBObjectStore.cpp:
+        (WebCore::IDBObjectStore::rollbackForVersionChangeAbort):
+
 2016-11-04  Keith Rollin  <[email protected]>
 
         NetworkSession: Add NetworkDataTask implementation for blobs

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp (208388 => 208389)


--- trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp	2016-11-04 18:08:05 UTC (rev 208388)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp	2016-11-04 18:10:24 UTC (rev 208389)
@@ -603,8 +603,13 @@
 void IDBObjectStore::rollbackForVersionChangeAbort()
 {
     ASSERT(currentThread() == m_transaction->database().originThreadID());
+
+    String currentName = m_info.name();
     m_info = m_originalInfo;
 
+    if (!transaction().database().info().infoForExistingObjectStore(m_info.identifier()))
+        m_info.rename(currentName);
+
     Locker<Lock> locker(m_referencedIndexLock);
     for (auto& index : m_referencedIndexes.values())
         index->rollbackInfoForVersionChangeAbort();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to