| [Exposed=(Window,Worker)] |
| interface IDBRequest : EventTarget { |
| readonly attribute any result; |
| readonly attribute DOMException? error; |
| readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source; |
| readonly attribute IDBTransaction? transaction; |
| readonly attribute IDBRequestReadyState readyState; |
| |
| // Event handlers: |
| attribute EventHandler onsuccess; |
| attribute EventHandler onerror; |
| }; |
| |
| enum IDBRequestReadyState { |
| "pending", |
| "done" |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBOpenDBRequest : IDBRequest { |
| // Event handlers: |
| attribute EventHandler onblocked; |
| attribute EventHandler onupgradeneeded; |
| }; |
| |
| [Exposed=(Window,Worker), |
| Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)] |
| interface IDBVersionChangeEvent : Event { |
| readonly attribute unsigned long long oldVersion; |
| readonly attribute unsigned long long? newVersion; |
| }; |
| |
| dictionary IDBVersionChangeEventInit : EventInit { |
| unsigned long long oldVersion = 0; |
| unsigned long long? newVersion = null; |
| }; |
| |
| partial interface WindowOrWorkerGlobalScope { |
| [SameObject] readonly attribute IDBFactory indexedDB; |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBFactory { |
| IDBOpenDBRequest open(DOMString name, |
| optional [EnforceRange] unsigned long long version); |
| IDBOpenDBRequest deleteDatabase(DOMString name); |
| |
| short cmp(any first, any second); |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBDatabase : EventTarget { |
| readonly attribute DOMString name; |
| readonly attribute unsigned long long version; |
| readonly attribute DOMStringList objectStoreNames; |
| |
| IDBTransaction transaction((DOMString or sequence<DOMString>) storeNames, |
| optional IDBTransactionMode mode = "readonly"); |
| void close(); |
| |
| IDBObjectStore createObjectStore(DOMString name, |
| optional IDBObjectStoreParameters options); |
| void deleteObjectStore(DOMString name); |
| |
| // Event handlers: |
| attribute EventHandler onabort; |
| attribute EventHandler onclose; |
| attribute EventHandler onerror; |
| attribute EventHandler onversionchange; |
| }; |
| |
| dictionary IDBObjectStoreParameters { |
| (DOMString or sequence<DOMString>)? keyPath = null; |
| boolean autoIncrement = false; |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBObjectStore { |
| attribute DOMString name; |
| readonly attribute any keyPath; |
| readonly attribute DOMStringList indexNames; |
| readonly attribute IDBTransaction transaction; |
| readonly attribute boolean autoIncrement; |
| |
| IDBRequest put(any value, optional any key); |
| IDBRequest add(any value, optional any key); |
| IDBRequest delete(any query); |
| IDBRequest clear(); |
| IDBRequest get(any query); |
| IDBRequest getKey(any query); |
| IDBRequest getAll(optional any query, |
| [EnforceRange] optional unsigned long count); |
| IDBRequest getAllKeys(optional any query, |
| [EnforceRange] optional unsigned long count); |
| IDBRequest count(optional any query); |
| |
| IDBRequest openCursor(optional any query, |
| optional IDBCursorDirection direction = "next"); |
| IDBRequest openKeyCursor(optional any query, |
| optional IDBCursorDirection direction = "next"); |
| |
| IDBIndex index(DOMString name); |
| |
| IDBIndex createIndex(DOMString name, |
| (DOMString or sequence<DOMString>) keyPath, |
| optional IDBIndexParameters options); |
| void deleteIndex(DOMString indexName); |
| }; |
| |
| dictionary IDBIndexParameters { |
| boolean unique = false; |
| boolean multiEntry = false; |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBIndex { |
| attribute DOMString name; |
| readonly attribute IDBObjectStore objectStore; |
| readonly attribute any keyPath; |
| readonly attribute boolean multiEntry; |
| readonly attribute boolean unique; |
| |
| IDBRequest get(any query); |
| IDBRequest getKey(any query); |
| IDBRequest getAll(optional any query, |
| [EnforceRange] optional unsigned long count); |
| IDBRequest getAllKeys(optional any query, |
| [EnforceRange] optional unsigned long count); |
| IDBRequest count(optional any query); |
| |
| IDBRequest openCursor(optional any query, |
| optional IDBCursorDirection direction = "next"); |
| IDBRequest openKeyCursor(optional any query, |
| optional IDBCursorDirection direction = "next"); |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBKeyRange { |
| readonly attribute any lower; |
| readonly attribute any upper; |
| readonly attribute boolean lowerOpen; |
| readonly attribute boolean upperOpen; |
| |
| // Static construction methods: |
| static IDBKeyRange only(any value); |
| static IDBKeyRange lowerBound(any lower, optional boolean open = false); |
| static IDBKeyRange upperBound(any upper, optional boolean open = false); |
| static IDBKeyRange bound(any lower, |
| any upper, |
| optional boolean lowerOpen = false, |
| optional boolean upperOpen = false); |
| |
| boolean includes(any key); |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBCursor { |
| readonly attribute (IDBObjectStore or IDBIndex) source; |
| readonly attribute IDBCursorDirection direction; |
| readonly attribute any key; |
| readonly attribute any primaryKey; |
| |
| void advance([EnforceRange] unsigned long count); |
| void continue(optional any key); |
| void continuePrimaryKey(any key, any primaryKey); |
| |
| IDBRequest update(any value); |
| IDBRequest delete(); |
| }; |
| |
| enum IDBCursorDirection { |
| "next", |
| "nextunique", |
| "prev", |
| "prevunique" |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBCursorWithValue : IDBCursor { |
| readonly attribute any value; |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface IDBTransaction : EventTarget { |
| readonly attribute DOMStringList objectStoreNames; |
| readonly attribute IDBTransactionMode mode; |
| readonly attribute IDBDatabase db; |
| readonly attribute DOMException error; |
| |
| IDBObjectStore objectStore(DOMString name); |
| void abort(); |
| |
| // Event handlers: |
| attribute EventHandler onabort; |
| attribute EventHandler oncomplete; |
| attribute EventHandler onerror; |
| }; |
| |
| enum IDBTransactionMode { |
| "readonly", |
| "readwrite", |
| "versionchange" |
| }; |