Files
servo/components/script_bindings/webidls/IDBObjectStore.webidl
Ashwin Naren 3442a91766 indexeddb: Implement index retrieval (#42440)
Retrieve already stored indexes from the backend when querying for other
object store data.

Also removes the extraneous blocking IPC call when creating an
`IDBObjectStore` object by batching all the info into a single struct.

Testing: WPT
Fixes: #42438

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2026-02-08 09:22:50 +00:00

49 lines
2.1 KiB
Plaintext

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
/*
* The origin of this IDL file is
* https://w3c.github.io/IndexedDB/#idbobjectstore
*
*/
// https://w3c.github.io/IndexedDB/#idbobjectstore
[Pref="dom_indexeddb_enabled", Exposed=(Window,Worker)]
interface IDBObjectStore {
[SetterThrows] attribute DOMString name;
readonly attribute any keyPath;
readonly attribute DOMStringList indexNames;
[SameObject] readonly attribute IDBTransaction transaction;
readonly attribute boolean autoIncrement;
[NewObject, Throws] IDBRequest put(any value, optional any key);
[NewObject, Throws] IDBRequest add(any value, optional any key);
[NewObject, Throws] IDBRequest delete(any query);
[NewObject, Throws] IDBRequest clear();
[NewObject, Throws] IDBRequest get(any query);
[NewObject, Throws] IDBRequest getKey(any query);
[NewObject, Throws] IDBRequest getAll(optional any query,
optional [EnforceRange] unsigned long count);
[NewObject, Throws] IDBRequest getAllKeys(optional any query,
optional [EnforceRange] unsigned long count);
[NewObject, Throws] IDBRequest count(optional any query);
[NewObject, Throws] IDBRequest openCursor(optional any query,
optional IDBCursorDirection direction = "next");
[NewObject, Throws] IDBRequest openKeyCursor(optional any query,
optional IDBCursorDirection direction = "next");
[Throws] IDBIndex index(DOMString name);
[NewObject, Throws] IDBIndex createIndex(DOMString name,
(DOMString or sequence<DOMString>) keyPath,
optional IDBIndexParameters options = {});
[Throws] undefined deleteIndex(DOMString name);
};
// https://w3c.github.io/IndexedDB/#dictdef-idbindexparameters
dictionary IDBIndexParameters {
boolean unique = false;
boolean multiEntry = false;
};