Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3d97acaa9a17dee8595bc0f1d32644f20b07dbe4
https://github.com/WebKit/WebKit/commit/3d97acaa9a17dee8595bc0f1d32644f20b07dbe4
Author: Sihui Liu <[email protected]>
Date: 2023-01-17 (Tue, 17 Jan 2023)
Changed paths:
A LayoutTests/storage/indexeddb/modern/objectstore-rename-abort-expected.txt
A
LayoutTests/storage/indexeddb/modern/objectstore-rename-abort-private-expected.txt
A LayoutTests/storage/indexeddb/modern/objectstore-rename-abort-private.html
A LayoutTests/storage/indexeddb/modern/objectstore-rename-abort.html
A LayoutTests/storage/indexeddb/modern/resources/objectstore-rename-abort.js
M Source/WebCore/Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp
M Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp
M Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h
Log Message:
-----------
ASSERTION FAILED: !m_objectStoresByName.contains(objectStore->info().name())
in MemoryIDBBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=250617
rdar://problem/99381891
Reviewed by Youenn Fablet.
When transaction is aborted and object store renaming operation is reverted,
m_objectStoresByName in
MemoryIDBBackingStore should be updated accordingly (i.e. map the object store
to the name used before renaming).
Otherwise, the wrong mapping can confuse the other operations in the tranaction
abort.
Test: storage/indexeddb/modern/objectstore-rename-abort-private.html
storage/indexeddb/modern/objectstore-rename-abort.html
* LayoutTests/storage/indexeddb/modern/objectstore-rename-abort-expected.txt:
Added.
*
LayoutTests/storage/indexeddb/modern/objectstore-rename-abort-private-expected.txt:
Added.
* LayoutTests/storage/indexeddb/modern/objectstore-rename-abort-private.html:
Added.
* LayoutTests/storage/indexeddb/modern/objectstore-rename-abort.html: Added.
* LayoutTests/storage/indexeddb/modern/resources/objectstore-rename-abort.js:
Added.
(openDatabase):
(onDatabaseUpgradeNeeded):
(onTransactionAbort):
* Source/WebCore/Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
(WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
* Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::renameObjectStoreForVersionChangeAbort):
* Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h:
Canonical link: https://commits.webkit.org/258996@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes