Title: [194859] trunk
- Revision
- 194859
- Author
- beid...@apple.com
- Date
- 2016-01-11 12:18:29 -0800 (Mon, 11 Jan 2016)
Log Message
Modern IDB: storage/indexeddb/lazy-index-population.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152976
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least one failing test now passes).
We were restoring objectstores/indexes incorrectly on transaction abort.
* Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
* Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
LayoutTests:
* platform/mac-wk1/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (194858 => 194859)
--- trunk/LayoutTests/ChangeLog 2016-01-11 18:13:36 UTC (rev 194858)
+++ trunk/LayoutTests/ChangeLog 2016-01-11 20:18:29 UTC (rev 194859)
@@ -1,3 +1,12 @@
+2016-01-11 Brady Eidson <beid...@apple.com>
+
+ Modern IDB: storage/indexeddb/lazy-index-population.html fails.
+ https://bugs.webkit.org/show_bug.cgi?id=152976
+
+ Reviewed by Alex Christensen.
+
+ * platform/mac-wk1/TestExpectations:
+
2016-01-11 Michael Catanzaro <mcatanz...@igalia.com>
[GTK] Update test expectations after r194845
Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (194858 => 194859)
--- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2016-01-11 18:13:36 UTC (rev 194858)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2016-01-11 20:18:29 UTC (rev 194859)
@@ -79,9 +79,6 @@
# Modern IDB doesn't properly handle 2^53 as a key generator value
storage/indexeddb/key-generator.html [ Skip ]
-# ASSERT in MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort
-storage/indexeddb/lazy-index-population.html [ Skip ]
-
# Crashes with GuardMalloc or ASan
storage/indexeddb/index-multientry.html [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (194858 => 194859)
--- trunk/Source/WebCore/ChangeLog 2016-01-11 18:13:36 UTC (rev 194858)
+++ trunk/Source/WebCore/ChangeLog 2016-01-11 20:18:29 UTC (rev 194859)
@@ -1,5 +1,21 @@
2016-01-11 Brady Eidson <beid...@apple.com>
+ Modern IDB: storage/indexeddb/lazy-index-population.html fails.
+ https://bugs.webkit.org/show_bug.cgi?id=152976
+
+ Reviewed by Alex Christensen.
+
+ No new tests (At least one failing test now passes).
+
+ We were restoring objectstores/indexes incorrectly on transaction abort.
+
+ * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
+ (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
+ * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
+ (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
+
+2016-01-11 Brady Eidson <beid...@apple.com>
+
Modern IDB: Make MemoryIndex and MemoryObjectStore RefCounted.
https://bugs.webkit.org/show_bug.cgi?id=152966
Modified: trunk/Source/WebCore/Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp (194858 => 194859)
--- trunk/Source/WebCore/Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp 2016-01-11 18:13:36 UTC (rev 194858)
+++ trunk/Source/WebCore/Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp 2016-01-11 20:18:29 UTC (rev 194859)
@@ -180,6 +180,10 @@
TemporaryChange<bool> change(m_isAborting, true);
+ for (auto objectStore : m_versionChangeAddedObjectStores)
+ m_backingStore.removeObjectStoreForVersionChangeAbort(*objectStore);
+ m_versionChangeAddedObjectStores.clear();
+
for (auto& objectStore : m_deletedObjectStores.values()) {
m_backingStore.restoreObjectStoreForVersionChangeAbort(*objectStore);
ASSERT(!m_objectStores.contains(objectStore.get()));
@@ -223,9 +227,6 @@
m_deletedIndexes.clear();
finish();
-
- for (auto objectStore : m_versionChangeAddedObjectStores)
- m_backingStore.removeObjectStoreForVersionChangeAbort(*objectStore);
}
void MemoryBackingStoreTransaction::commit()
Modified: trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp (194858 => 194859)
--- trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp 2016-01-11 18:13:36 UTC (rev 194858)
+++ trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp 2016-01-11 20:18:29 UTC (rev 194859)
@@ -220,7 +220,9 @@
{
LOG(IndexedDB, "MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort");
- ASSERT(m_objectStoresByIdentifier.contains(objectStore.info().identifier()));
+ if (!m_objectStoresByIdentifier.contains(objectStore.info().identifier()))
+ return;
+
ASSERT(m_objectStoresByIdentifier.get(objectStore.info().identifier()) == &objectStore);
unregisterObjectStore(objectStore);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes