WPT
wpt / IndexedDB / idbobjectstore_createIndex.any.sharedworker.html
Spec: Indexed DB ↗
Runs: Chrome 155.0.8039.0 (wpt@d0c38285b, 2026-09-03) | Firefox 157.0a1 (wpt@ed1909ed6, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a9df8 (wpt@0ea9f2aac, 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 | 21/21 | 21/21 | 21/21 | 15/21 | 6/21 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| Returns an IDBIndex and the properties are set correctly | PASS | PASS | PASS | PASS | PASS | — |
| Attempt to create an index that requires unique values on an object store already contains duplicates | PASS | PASS | PASS | FAIL | FAIL | — |
| The index is usable right after being made | PASS | PASS | PASS | PASS | FAIL | — |
| Event ordering for a later deleted index | PASS | PASS | PASS | FAIL | FAIL | — |
| Empty keyPath | PASS | PASS | PASS | PASS | FAIL | — |
| Event order when unique constraint is triggered | PASS | PASS | PASS | FAIL | FAIL | — |
| Event ordering for ConstraintError on request | PASS | PASS | PASS | FAIL | FAIL | — |
| Index can be valid keys | PASS | PASS | PASS | PASS | FAIL | — |
| IDBObjectStore.createIndex() - empty name | PASS | PASS | PASS | PASS | FAIL | — |
| If an index with the name name already exists in this object store, the implementation must throw a DOMException of type ConstraintError | PASS | PASS | PASS | PASS | PASS | — |
| If keyPath is not a valid key path, the implementation must throw a DOMException of type SyntaxError | PASS | PASS | PASS | FAIL | PASS | — |
| If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| Operate out versionchange throw InvalidStateError | PASS | PASS | PASS | PASS | PASS | — |
| InvalidStateError(Incorrect mode) vs. TransactionInactiveError. Mode check should precede state check of the transaction. | PASS | PASS | PASS | PASS | PASS | — |
| InvalidStateError(Deleted ObjectStore) vs. TransactionInactiveError. Deletion check should precede transaction-state check. | PASS | PASS | PASS | PASS | TIMEOUT | — |
| TransactionInactiveError vs. ConstraintError. Transaction-state check should precede index name check. | PASS | PASS | PASS | PASS | TIMEOUT | — |
| ConstraintError vs. SyntaxError. Index name check should precede syntax check of the key path | PASS | PASS | PASS | PASS | TIMEOUT | — |
| SyntaxError vs. InvalidAccessError. Syntax check should precede multiEntry check of the key path. | PASS | PASS | PASS | FAIL | TIMEOUT | — |
| Explicit Primary Key | PASS | PASS | PASS | PASS | FAIL | — |
| Auto-Increment Primary Key | PASS | PASS | PASS | PASS | FAIL | — |
| Auto-Increment Primary Key - invalid key values elsewhere | PASS | PASS | PASS | PASS | FAIL | — |