WPT
wpt / IndexedDB / idlharness.any.serviceworker.html
Spec: Indexed DB ↗
Runs: Chrome 155.0.8039.0 (wpt@a4fcd77aa, 2026-09-03) | Firefox 157.0a1 (wpt@cc4d45aa0, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a9df8 (wpt@47d833bbc, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 207/207 | 207/207 | 207/207 | 0/207 | 0/207 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| idl_test setup | PASS | PASS | PASS | — | — | — |
| idl_test validation | PASS | PASS | PASS | — | — | — |
| Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined | PASS | PASS | PASS | — | — | — |
| Partial interface mixin WindowOrWorkerGlobalScope: member names are unique | PASS | PASS | PASS | — | — | — |
| Partial interface Window: member names are unique | PASS | PASS | PASS | — | — | — |
| Window includes GlobalEventHandlers: member names are unique | PASS | PASS | PASS | — | — | — |
| Window includes WindowEventHandlers: member names are unique | PASS | PASS | PASS | — | — | — |
| Window includes WindowOrWorkerGlobalScope: member names are unique | PASS | PASS | PASS | — | — | — |
| WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique | PASS | PASS | PASS | — | — | — |
| Window includes AnimationFrameProvider: member names are unique | PASS | PASS | PASS | — | — | — |
| Window includes WindowSessionStorage: member names are unique | PASS | PASS | PASS | — | — | — |
| Window includes WindowLocalStorage: member names are unique | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBRequest interface object length | PASS | PASS | PASS | — | — | — |
| IDBRequest interface object name | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute result | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute error | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute source | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute transaction | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute readyState | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute onsuccess | PASS | PASS | PASS | — | — | — |
| IDBRequest interface: attribute onerror | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface object length | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface object name | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface: attribute onblocked | PASS | PASS | PASS | — | — | — |
| IDBOpenDBRequest interface: attribute onupgradeneeded | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface object length | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface object name | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: attribute oldVersion | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: attribute newVersion | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent("type") | PASS | PASS | PASS | — | — | — |
| Stringification of new IDBVersionChangeEvent("type") | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "oldVersion" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBVersionChangeEvent interface: new IDBVersionChangeEvent("type") must inherit property "newVersion" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBFactory interface object length | PASS | PASS | PASS | — | — | — |
| IDBFactory interface object name | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: operation open(DOMString, optional unsigned long long) | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: operation deleteDatabase(DOMString) | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: operation databases() | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: operation cmp(any, any) | PASS | PASS | PASS | — | — | — |
| IDBFactory must be primary interface of [object IDBFactory] | PASS | PASS | PASS | — | — | — |
| Stringification of [object IDBFactory] | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: [object IDBFactory] must inherit property "open(DOMString, optional unsigned long long)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: calling open(DOMString, optional unsigned long long) on [object IDBFactory] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: [object IDBFactory] must inherit property "deleteDatabase(DOMString)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: calling deleteDatabase(DOMString) on [object IDBFactory] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: [object IDBFactory] must inherit property "databases()" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: [object IDBFactory] must inherit property "cmp(any, any)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBFactory interface: calling cmp(any, any) on [object IDBFactory] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface object length | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface object name | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute name | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute version | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute objectStoreNames | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: operation transaction((DOMString or sequence<DOMString>), optional IDBTransactionMode, optional IDBTransactionOptions) | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: operation close() | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: operation createObjectStore(DOMString, optional IDBObjectStoreParameters) | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: operation deleteObjectStore(DOMString) | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute onabort | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute onclose | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute onerror | PASS | PASS | PASS | — | — | — |
| IDBDatabase interface: attribute onversionchange | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface object length | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface object name | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: attribute name | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: attribute keyPath | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: attribute indexNames | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: attribute transaction | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: attribute autoIncrement | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation put(any, optional any) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation add(any, optional any) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation delete(any) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation clear() | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation get(any) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation getKey(any) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation getAll(optional any, optional unsigned long) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation getAllKeys(optional any, optional unsigned long) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation getAllRecords(optional IDBGetAllOptions) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation count(optional any) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation openCursor(optional any, optional IDBCursorDirection) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation openKeyCursor(optional any, optional IDBCursorDirection) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation index(DOMString) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation createIndex(DOMString, (DOMString or sequence<DOMString>), optional IDBIndexParameters) | PASS | PASS | PASS | — | — | — |
| IDBObjectStore interface: operation deleteIndex(DOMString) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBIndex interface object length | PASS | PASS | PASS | — | — | — |
| IDBIndex interface object name | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: attribute name | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: attribute objectStore | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: attribute keyPath | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: attribute multiEntry | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: attribute unique | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation get(any) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation getKey(any) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation getAll(optional any, optional unsigned long) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation getAllKeys(optional any, optional unsigned long) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation getAllRecords(optional IDBGetAllOptions) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation count(optional any) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation openCursor(optional any, optional IDBCursorDirection) | PASS | PASS | PASS | — | — | — |
| IDBIndex interface: operation openKeyCursor(optional any, optional IDBCursorDirection) | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface object length | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface object name | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: attribute lower | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: attribute upper | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: attribute lowerOpen | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: attribute upperOpen | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: operation only(any) | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: operation lowerBound(any, optional boolean) | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: operation upperBound(any, optional boolean) | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: operation bound(any, any, optional boolean, optional boolean) | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: operation includes(any) | PASS | PASS | PASS | — | — | — |
| IDBKeyRange must be primary interface of [object IDBKeyRange] | PASS | PASS | PASS | — | — | — |
| Stringification of [object IDBKeyRange] | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "lower" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "upper" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerOpen" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperOpen" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "only(any)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: calling only(any) on [object IDBKeyRange] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "lowerBound(any, optional boolean)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: calling lowerBound(any, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "upperBound(any, optional boolean)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: calling upperBound(any, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "bound(any, any, optional boolean, optional boolean)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: calling bound(any, any, optional boolean, optional boolean) on [object IDBKeyRange] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: [object IDBKeyRange] must inherit property "includes(any)" with the proper type | PASS | PASS | PASS | — | — | — |
| IDBKeyRange interface: calling includes(any) on [object IDBKeyRange] with too few arguments must throw TypeError | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBRecord interface object length | PASS | PASS | PASS | — | — | — |
| IDBRecord interface object name | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: attribute key | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: attribute primaryKey | PASS | PASS | PASS | — | — | — |
| IDBRecord interface: attribute value | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBCursor interface object length | PASS | PASS | PASS | — | — | — |
| IDBCursor interface object name | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: attribute source | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: attribute direction | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: attribute key | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: attribute primaryKey | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: attribute request | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: operation advance(unsigned long) | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: operation continue(optional any) | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: operation continuePrimaryKey(any, any) | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: operation update(any) | PASS | PASS | PASS | — | — | — |
| IDBCursor interface: operation delete() | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface object length | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface object name | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBCursorWithValue interface: attribute value | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: existence and properties of interface object | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface object length | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface object name | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: existence and properties of interface prototype object | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: existence and properties of interface prototype object's @@unscopables property | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute objectStoreNames | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute mode | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute durability | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute db | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute error | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: operation objectStore(DOMString) | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: operation commit() | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: operation abort() | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute onabort | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute oncomplete | PASS | PASS | PASS | — | — | — |
| IDBTransaction interface: attribute onerror | PASS | PASS | PASS | — | — | — |
| WorkerGlobalScope interface: attribute indexedDB | PASS | PASS | PASS | — | — | — |