OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>IndexedDB: delete should be blocked by open/upgrade</title> |
| 3 <script src='../../resources/testharness.js'></script> |
| 4 <script src='../../resources/testharnessreport.js'></script> |
| 5 <script> |
| 6 |
| 7 async_test(t => { |
| 8 let dbName = self.location.pathname + ' - ' + t.name; |
| 9 let delete_request = indexedDB.deleteDatabase(dbName); |
| 10 delete_request.onerror = t.unreached_func('deleteDatabase should not fail'); |
| 11 delete_request.onsuccess = t.step_func(() => { |
| 12 |
| 13 let saw_versionchange = false; |
| 14 |
| 15 let open_request = indexedDB.open(dbName); |
| 16 open_request.onerror = t.unreached_func('open should succeed'); |
| 17 open_request.onupgradeneeded = t.step_func(e => { |
| 18 let db = open_request.result; |
| 19 db.onversionchange = |
| 20 t.unreached_func('versionchange should not be seen before open s
uccess'); |
| 21 }); |
| 22 open_request.onsuccess = t.step_func(e => { |
| 23 let db = open_request.result; |
| 24 db.onversionchange = e => { |
| 25 saw_versionchange = true; |
| 26 db.close(); |
| 27 }; |
| 28 }); |
| 29 |
| 30 let delete_request2 = indexedDB.deleteDatabase(dbName); |
| 31 delete_request2.onerror = t.unreached_func('deleteDatabase should not fa
il'); |
| 32 delete_request2.onblocked = t.unreached_func('blocked should not fire'); |
| 33 delete_request2.onsuccess = t.step_func(e => { |
| 34 assert_true(saw_versionchange, 'delete should occur after versioncha
nge'); |
| 35 t.done(); |
| 36 }); |
| 37 }); |
| 38 }, 'delete should be blocked by upgrade'); |
| 39 </script> |
OLD | NEW |