mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
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:
parent
027954dbad
commit
312985faff
9 changed files with 196 additions and 51 deletions
21
tests/wpt/meta/IndexedDB/idb-binary-key-detached.any.js.ini
vendored
Normal file
21
tests/wpt/meta/IndexedDB/idb-binary-key-detached.any.js.ini
vendored
Normal 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
|
|
@ -2,10 +2,62 @@
|
|||
expected: ERROR
|
||||
|
||||
[idbdatabase_createObjectStore.any.html]
|
||||
expected: CRASH
|
||||
[Both with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[Create 1000 object stores, add one item and delete]
|
||||
expected: FAIL
|
||||
|
||||
[Empty name]
|
||||
expected: FAIL
|
||||
|
||||
[Attempting to create an existing object store with a different keyPath throw ConstraintError ]
|
||||
expected: FAIL
|
||||
|
||||
[Object store 'name' and 'keyPath' properties are correctly set ]
|
||||
expected: FAIL
|
||||
|
||||
[Attempt to create an object store outside of a version change transaction ]
|
||||
expected: FAIL
|
||||
|
||||
[Attempt to create an object store that already exists ]
|
||||
expected: FAIL
|
||||
|
||||
[Attempt to create an object store with an invalid key path ]
|
||||
expected: FAIL
|
||||
|
||||
[autoInc and keyPath object]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[idbdatabase_createObjectStore.any.worker.html]
|
||||
expected: CRASH
|
||||
[Both with empty name]
|
||||
expected: FAIL
|
||||
|
||||
[Create 1000 object stores, add one item and delete]
|
||||
expected: FAIL
|
||||
|
||||
[Empty name]
|
||||
expected: FAIL
|
||||
|
||||
[Attempting to create an existing object store with a different keyPath throw ConstraintError ]
|
||||
expected: FAIL
|
||||
|
||||
[Object store 'name' and 'keyPath' properties are correctly set ]
|
||||
expected: FAIL
|
||||
|
||||
[Attempt to create an object store outside of a version change transaction ]
|
||||
expected: FAIL
|
||||
|
||||
[Attempt to create an object store that already exists ]
|
||||
expected: FAIL
|
||||
|
||||
[Attempt to create an object store with an invalid key path ]
|
||||
expected: FAIL
|
||||
|
||||
[autoInc and keyPath object]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[idbdatabase_createObjectStore.any.serviceworker.html]
|
||||
expected: ERROR
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -3,9 +3,6 @@
|
|||
|
||||
[value_recursive.any.html]
|
||||
expected: TIMEOUT
|
||||
[Recursive value - array indirectly contains self]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Recursive value - array member contains self]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue