Switch indexeddb backend to sqlite and improve IPC messaging (#38187)

- Use sqlite instead of heed. (one indexed database = one sqlite
database)
- Implement the backend for indexes
- Use keyranges where needed (as specified by the spec)
- Implement `getKey`
- Fix channel error messaging (led to a bunch of changes to how async
requests are handled)

Note: `components/net/indexeddb/engines/sqlite/serialize.rs` is unused;
I can delete it if needed.

Testing: Switching to sqlite eliminated many panics (exposing some new
failures).
Fixes: #38040

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
This commit is contained in:
Ashwin Naren 2025-08-16 00:27:17 -07:00 committed by GitHub
parent f4bbdf8010
commit fc3feceee5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
59 changed files with 2002 additions and 818 deletions

View file

@ -1,40 +1,16 @@
[transaction-deactivation-timing.any.worker.html]
expected: CRASH
[New transactions are deactivated before next task]
expected: FAIL
[New transactions are not deactivated until after the microtask checkpoint]
expected: FAIL
[New transactions from microtask are deactivated before next task]
expected: FAIL
[New transactions from microtask are still active through the microtask checkpoint]
expected: FAIL
expected: TIMEOUT
[Deactivation of new transactions happens at end of invocation]
expected: FAIL
expected: TIMEOUT
[transaction-deactivation-timing.any.serviceworker.html]
expected: ERROR
[transaction-deactivation-timing.any.html]
expected: CRASH
[New transactions are deactivated before next task]
expected: FAIL
[New transactions are not deactivated until after the microtask checkpoint]
expected: FAIL
[New transactions from microtask are deactivated before next task]
expected: FAIL
[New transactions from microtask are still active through the microtask checkpoint]
expected: FAIL
expected: TIMEOUT
[Deactivation of new transactions happens at end of invocation]
expected: FAIL
expected: TIMEOUT
[transaction-deactivation-timing.any.sharedworker.html]