[webkit-changes] [WebKit/WebKit] 3d97ac: ASSERTION FAILED: !m_objectStoresByName.contains(o...
Sihui
noreply at github.com
Tue Jan 17 11:35:36 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3d97acaa9a17dee8595bc0f1d32644f20b07dbe4
https://github.com/WebKit/WebKit/commit/3d97acaa9a17dee8595bc0f1d32644f20b07dbe4
Author: Sihui Liu <sihui_liu at apple.com>
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
More information about the webkit-changes
mailing list