1 Regression test for WK82678 - don't commit after a blocked event
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 dbname = "dont-commit-on-blocked.html"
7 indexedDB.deleteDatabase(dbname)
9 db.onversionchange = onVersionChange
10 store = db.createObjectStore('store1')
13 holding connection until versionchange event
15 Starting worker: resources/dont-commit-on-blocked-worker.js
16 [Worker] opening database connection
17 [Worker] request = indexedDB.open('dont-commit-on-blocked.html', 2)
18 [Worker] state = 'setversion'
19 [Worker] request.onblocked = onSetVersionBlocked
20 [Worker] request.onupgradeneeded = onSetVersionSuccess
21 [Worker] spinning for 100ms to let events be queued but prevent dispatch
22 [Worker] done spinning
24 [Worker] onSetVersionBlocked():
25 PASS [Worker] state is "setversion"
26 [Worker] state = 'blocked'
28 [Worker] onSetVersionSuccess():
29 [Worker] db = event.target.result
30 PASS [Worker] state is "blocked"
31 [Worker] state = 'success'
32 [Worker] creating object store - will fail if transaction commited after blocked event
33 [Worker] db.createObjectStore('store2')
35 [Worker] onTransactionComplete
36 PASS [Worker] state is "success"
37 PASS [Worker] Number(db.version) is 2
38 PASS [Worker] db.objectStoreNames.contains('store1') is true
39 PASS [Worker] db.objectStoreNames.contains('store2') is true
40 PASS successfullyParsed is true