[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