IndexedDB: communicate transaction errors and async response data more precisely (#38027)

Digging into several crashing tests revealed that committing
transactions is a fallible operation. Propagating those errors led to
exposing many new errors caused by the IDBRequest implementation
assuming that all successful responses contained a structured clone. The
end result is a bunch of new test failures that were previously hidden.

Testing: Existing test coverage is sufficient.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
Josh Matthews 2025-07-14 22:04:28 -04:00 committed by GitHub
parent 027954dbad
commit 312985faff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 196 additions and 51 deletions

View file

@ -8,7 +8,13 @@
[The deleteDatabase() request's success event is an IDBVersionChangeEvent.]
expected: FAIL
[deleteDatabase() request should have no source, and deleting a non-existent database should succeed with oldVersion of 0.]
expected: FAIL
[idbfactory_deleteDatabase.any.worker.html]
[The deleteDatabase() request's success event is an IDBVersionChangeEvent.]
expected: FAIL
[deleteDatabase() request should have no source, and deleting a non-existent database should succeed with oldVersion of 0.]
expected: FAIL