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

@ -0,0 +1,21 @@
[idb-binary-key-detached.any.html]
[Detached ArrayBuffers must throw DataError when used as a key]
expected: FAIL
[Detached TypedArrays must throw DataError when used as a key]
expected: FAIL
[idb-binary-key-detached.any.worker.html]
[Detached ArrayBuffers must throw DataError when used as a key]
expected: FAIL
[Detached TypedArrays must throw DataError when used as a key]
expected: FAIL
[idb-binary-key-detached.any.serviceworker.html]
expected: ERROR
[idb-binary-key-detached.any.sharedworker.html]
expected: ERROR