Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3d97acaa9a17dee8595bc0f1d32644f20b07dbe4
      
https://github.com/WebKit/WebKit/commit/3d97acaa9a17dee8595bc0f1d32644f20b07dbe4
  Author: Sihui Liu <sihui_...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to