LibWeb: Prevent failing IDB requests from clobbering previous ones

If one request on a transaction succeeds, then the next one fails, that
would cause the abort algorithm to run before the success for the first
request due to the task queue ordering. Instead, queue the processing
for the next request after the completion of the current request.
This commit is contained in:
Zaggy1024
2026-03-05 23:04:32 -06:00
committed by Gregory Bertilson
parent 2c48aa0b67
commit 5ff1ae1876
Notes: github-actions[bot] 2026-03-21 05:00:36 +00:00
4 changed files with 63 additions and 6 deletions

View File

@@ -2,8 +2,7 @@ Harness status: OK
Found 12 tests
11 Pass
1 Fail
12 Pass
Pass Explicitly committed data can be read back out.
Pass commit() on a version change transaction does not cause errors.
Pass A committed transaction becomes inactive immediately.
@@ -14,5 +13,5 @@ Pass Calling commit on a committed transaction throws.
Pass Calling abort on a committed transaction throws and does not prevent persisting the data.
Pass Calling txn.commit() when txn is inactive should throw.
Pass Transactions with same scope should stay in program order, even if one calls commit.
Fail Transactions that explicitly commit and have errors should abort.
Pass Transactions that explicitly commit and have errors should abort.
Pass Transactions that handle all errors properly should behave as expected when an explicit commit is called in an onerror handler.