stelar7
684c543ddb
LibWeb/IDB: Handle cursor iteration more correctly
2025-11-13 08:52:16 -05:00
stelar7
8fcba173e0
LibWeb/IDB: Correctly implement IDBRecord getters
2025-10-28 19:25:26 -04:00
stelar7
d3568d9467
LibWeb/IDB: Handle off-by-one error in IDBIndex::getAll
2025-10-28 11:50:01 +01:00
Luke Wilde
85e8d2ba38
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.
2025-10-23 14:42:45 +02:00
stelar7
d0bfb85c22
LibWeb/IDB: Mark request as errored if upgrade transaction is aborted
2025-10-23 14:26:54 +02:00
stelar7
98f91a3fcc
LibWeb/IDB: Dont run wait callbacks as a database task
2025-10-18 13:50:01 +01:00
stelar7
ced862c460
LibWeb/IDB: Apply default cursor direction
...
IDBGetAllOptions is supposed to have a default value for direction.
When the value passed is not a potentially valid key range, we
need to default the direction argument, and not assume its set
Spec issue: https://github.com/w3c/IndexedDB/pull/478
2025-10-17 09:42:39 +02:00
stelar7
61185d98aa
LibWeb/IDB: Adjust how negative numbers increment the key generator
...
Directly mapping a negative double to a u64 causes it to wrap around
to the max value. We work around this here by comparing as doubles,
and only incrementing the generator if the new value is greater
Fixes #6455
2025-10-14 10:26:28 +01:00
Luke Wilde
6d83fd92b6
LibWeb/IndexedDB: Add additional debug output for async operations
2025-10-08 17:25:29 +02:00
Luke Wilde
d87c2a55b0
LibWeb/IndexedDB: Remove spin_until from checking finished transactions
2025-10-08 17:25:29 +02:00
Luke Wilde
52b53e52fb
LibWeb/IndexedDB: Remove spin_until from waiting for connection closure
2025-10-08 17:25:29 +02:00
Luke Wilde
e6dc52a52b
LibWeb/IndexedDB: Remove spin_until from waiting for tasks to complete
2025-10-08 17:25:29 +02:00
Luke Wilde
5c69784ef9
LibWeb/IndexedDB: Remove spin_until from request processing
2025-10-08 17:25:29 +02:00
Julian Dominguez-Schatz
b9153f0ca1
LibWeb/IndexedDB: Allow queryOrOptions to be null in getAllKeys
...
This fixes a crash on initial load of the page http://demo.actualbudget.org .
Minimal repro of the issue (error in the console without this PR):
<script>
const r = indexedDB.open("t", 1);
r.onupgradeneeded = e => e.target.result.createObjectStore("s", { keyPath: "id" });
r.onsuccess = () => r.result.transaction("s", "readonly").objectStore("s").getAllKeys();
</script>
2025-10-04 20:49:53 +02:00
stelar7
fde5dc7491
LibWeb/IDB: Implement create_a_request_to_retrieve_multiple_items
2025-08-27 16:13:25 +02:00
stelar7
2557e85407
LibWeb/IDB: Implement IDBIndex::get_all_records
2025-08-27 16:13:25 +02:00
stelar7
bd25be9ed3
LibWeb/IDB: Update IDBIndex::get_all_keys to spec
2025-08-27 16:13:25 +02:00
stelar7
9c2d4973c3
LibWeb/IDB: Update IDBIndex::get_all to spec
2025-08-27 16:13:25 +02:00
stelar7
bac1c84241
LibWeb/IDB: Implement retrieve_multiple_items_from_an_index
2025-08-27 16:13:25 +02:00
stelar7
559b9dbd83
LibWeb/IDB: Implement IDBObjectStore::get_all_records
2025-08-27 16:13:25 +02:00
stelar7
6f756f7f6c
LibWeb/IDB: Update IDBObjectStore::get_all_keys to spec
2025-08-27 16:13:25 +02:00
stelar7
ca34ecad33
LibWeb/IDB: Update IDBObjectStore::get_all to spec
2025-08-27 16:13:25 +02:00
stelar7
839ffd45f3
LibWeb/IDB: Implement retrieve_multiple_items_from_an_object_store
2025-08-27 16:13:25 +02:00
stelar7
752210aec1
LibWeb/IDB: Implement IDBRecord
2025-08-27 16:13:25 +02:00
stelar7
fe5d5639ef
LibWeb/IDB: Move Records and give more descriptive names
2025-08-27 16:13:25 +02:00
stelar7
87af53a613
LibWeb/IDB: Implement is_a_potentially_valid_key_range
2025-08-27 16:13:25 +02:00
Andreas Kling
5e6b8b2785
LibWeb: Add missing visit of IDBRequest::m_source
...
Clang plugin bug: LadybirdBrowser/ladybird#5959
2025-08-22 19:29:29 +02:00
Andreas Kling
02f3002081
LibWeb: Add missing visit of IDBCursor::m_value
...
Clang plugin bug: LadybirdBrowser/ladybird#5958
2025-08-22 19:29:29 +02:00
stelar7
8addd5771f
LibWeb/IDB: Add debug dump to Keys
2025-08-14 09:31:56 +01:00
stelar7
75054aeecd
LibWeb/IDB: Allow null errors during abort
2025-08-14 09:31:56 +01:00
stelar7
474b748275
LibWeb/IDB: Check the request error instead of the transaction
2025-08-14 09:31:56 +01:00
stelar7
a7bcb1b0c5
LibWeb/IDB: Dont set state in IDBTransaction::abort
2025-08-14 09:31:56 +01:00
Timothy Flynn
70db474cf0
LibJS+LibWeb: Port interned bytecode strings to UTF-16
...
This was almost a no-op, except we intern JS exception messages. So the
bulk of this patch is porting exception messages to UTF-16.
2025-08-14 10:27:08 +02:00
Nico Weber
7a01912af3
LibWeb/IDB: Fix typo in diagnostic
2025-08-13 14:21:56 +01:00
Timothy Flynn
0efa98a57a
LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16
...
This has quite a lot of fall out. But the majority of it is just type or
UDL substitution, where the changes just fall through to other function
calls.
By changing property key storage to UTF-16, the main affected areas are:
* NativeFunction names must now be UTF-16
* Bytecode identifiers must now be UTF-16
* Module/binding names must now be UTF-16
2025-08-05 07:07:15 -04:00
stelar7
3815a7c1eb
LibWeb: Implement cleanup_indexed_database_transactions
2025-06-18 19:05:41 +12:00
stelar7
9e7fb5efbc
LibWeb/IDB: Update spec step wording
2025-05-16 12:10:16 +01:00
stelar7
c1d63b5b28
LibWeb/IDB: Implement queue_a_database_task
2025-05-16 12:10:16 +01:00
stelar7
22a7e0795a
LibWeb/IDB: Use helper method for checking transaction mode
2025-05-14 17:17:29 +02:00
stelar7
c8e1b24864
LibWeb/IDB: Use helper method for checking transaction state
2025-05-14 17:17:29 +02:00
stelar7
4c7c7845d3
LibWeb/IDB: Remove outdated FIXME
2025-05-14 17:17:29 +02:00
stelar7
13674c1b32
LibWeb/IDB: Resolve FIXME regarding removing from indecies
2025-05-14 17:17:29 +02:00
stelar7
46ecf239c4
LibWeb/IDB: Implement storing of index records
2025-05-14 17:17:29 +02:00
stelar7
c73b8d1fa0
LibWeb/IDB: Implement IDBIndex::openKeyCursor
2025-05-14 17:17:29 +02:00
stelar7
852323009f
LibWeb/IDB: Implement IDBIndex::count
2025-05-14 17:17:29 +02:00
stelar7
b8bb8345a9
LibWeb/IDB: Implement IDBIndex::getAllKeys
2025-05-14 17:17:29 +02:00
stelar7
3fa1d1299c
LibWeb/IDB: Implement IDBIndex::getAll
2025-05-14 17:17:29 +02:00
stelar7
47450bc15c
LibWeb/IDB: Implement IDBIndex::getKey
2025-05-14 17:17:29 +02:00
stelar7
e74e571b56
LibWeb/IDB: Implement IDBIndex::get
2025-05-14 17:17:29 +02:00
Timothy Flynn
7280ed6312
Meta: Enforce newlines around namespaces
...
This has come up several times during code review, so let's just enforce
it using a new clang-format 20 option.
2025-05-14 02:01:59 -06:00