mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-30 11:37:16 +02:00
LibWeb/IndexedDB: Prevent copying and moving of RequestList
RequestList cannot be copied or moved, because m_pending_request_queue contains lambdas that store pointers to the original RequestList and completion steps that we don't have a reference to. Fixes a bunch of WPT regressions and imports the ones that work.
This commit is contained in:
committed by
Jelle Raaijmakers
parent
4ede2cdf18
commit
85e8d2ba38
Notes:
github-actions[bot]
2025-10-23 12:44:02 +00:00
Author: https://github.com/Lubrsi Commit: https://github.com/LadybirdBrowser/ladybird/commit/85e8d2ba38b Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6429 Reviewed-by: https://github.com/gmta ✅
@@ -0,0 +1,39 @@
|
||||
// META: global=window,worker
|
||||
// META: title=IndexedDB: The source of requests made against object stores
|
||||
// META: script=resources/support.js
|
||||
|
||||
// Spec: https://w3c.github.io/IndexedDB/#dom-idbrequest-source
|
||||
|
||||
'use strict';
|
||||
|
||||
[
|
||||
store => store.put(0),
|
||||
store => store.add(0),
|
||||
store => store.delete(0),
|
||||
store => store.clear(),
|
||||
|
||||
store => store.get(0),
|
||||
store => store.getKey(0),
|
||||
store => store.getAll(),
|
||||
store => store.getAllKeys(),
|
||||
store => store.count(),
|
||||
|
||||
store => store.openCursor(),
|
||||
store => store.openKeyCursor()
|
||||
|
||||
].forEach(
|
||||
func => indexeddb_test(
|
||||
(t, db) => {
|
||||
db.createObjectStore('store', {autoIncrement: true});
|
||||
},
|
||||
(t, db) => {
|
||||
const tx = db.transaction('store', 'readwrite');
|
||||
const store = tx.objectStore('store');
|
||||
|
||||
assert_equals(
|
||||
func(store).source, store,
|
||||
`${func}.source should be the object store itself`);
|
||||
t.done();
|
||||
},
|
||||
`The source of the request from ${
|
||||
func} is the object store itself`));
|
||||
Reference in New Issue
Block a user