LibWeb/IDB: Mark request as errored if upgrade transaction is aborted

This commit is contained in:
stelar7 2025-10-22 21:39:19 +02:00 committed by Jelle Raaijmakers
parent 62ae4e878f
commit d0bfb85c22
Notes: github-actions[bot] 2025-10-23 12:28:19 +00:00

View file

@ -601,6 +601,13 @@ void abort_a_transaction(GC::Ref<IDBTransaction> transaction, GC::Ptr<WebIDL::DO
// 5. Set transactions error to error.
transaction->set_error(error);
// FIXME: https://github.com/w3c/IndexedDB/issues/473
// x. If transaction is an upgrade transaction:
if (transaction->is_upgrade_transaction()) {
// 1. Set transaction's associated request's error to a newly created "AbortError" DOMException.
transaction->associated_request()->set_error(WebIDL::AbortError::create(transaction->realm(), "Upgrade transaction was aborted"_utf16));
}
// 6. For each request of transactions request list,
for (auto const& request : transaction->request_list()) {
// FIXME: abort the steps to asynchronously execute a request for request,