| OLD | NEW |
| (Empty) |
| 1 <html> | |
| 2 <head> | |
| 3 <script src="../../../http/tests/inspector/inspector-test.js"></script> | |
| 4 <script src="../../../http/tests/inspector/debugger-test.js"></script> | |
| 5 <script> | |
| 6 | |
| 7 var version = 1; | |
| 8 var db; | |
| 9 | |
| 10 function testFunction() | |
| 11 { | |
| 12 setTimeout(openDB); | |
| 13 } | |
| 14 | |
| 15 function onError() | |
| 16 { | |
| 17 console.error("FAIL: " + new Error().stack); | |
| 18 debugger; | |
| 19 } | |
| 20 | |
| 21 function openDB() | |
| 22 { | |
| 23 var request = indexedDB.open("async-callstack-indexed-db", version); | |
| 24 request.onupgradeneeded = onUpgradeNeeded; | |
| 25 request.onsuccess = onSuccessOpenDB; | |
| 26 request.onerror = onError; | |
| 27 } | |
| 28 | |
| 29 function onUpgradeNeeded(e) | |
| 30 { | |
| 31 debugger; | |
| 32 var db = e.target.result; | |
| 33 e.target.transaction.onerror = onError; | |
| 34 | |
| 35 if (db.objectStoreNames.contains("foo")) | |
| 36 db.deleteObjectStore("foo"); | |
| 37 | |
| 38 db.createObjectStore("foo", { keyPath: "id" }); | |
| 39 } | |
| 40 | |
| 41 function onSuccessOpenDB(e) | |
| 42 { | |
| 43 debugger; | |
| 44 db = e.target.result; | |
| 45 populateDB(); | |
| 46 } | |
| 47 | |
| 48 function populateDB() | |
| 49 { | |
| 50 var trans = db.transaction(["foo"], "readwrite"); | |
| 51 var store = trans.objectStore("foo"); | |
| 52 var request = store.put({ "id" : 1, "bar": "baz" }); | |
| 53 request.onsuccess = onSuccessStorePut; | |
| 54 request.onerror = onError; | |
| 55 } | |
| 56 | |
| 57 function onSuccessStorePut(e) | |
| 58 { | |
| 59 debugger; | |
| 60 getAllItems(); | |
| 61 } | |
| 62 | |
| 63 function getAllItems() | |
| 64 { | |
| 65 var trans = db.transaction(["foo"], "readwrite"); | |
| 66 var store = trans.objectStore("foo"); | |
| 67 var keyRange = IDBKeyRange.lowerBound(0); | |
| 68 var cursorRequest = store.openCursor(keyRange); | |
| 69 cursorRequest.onsuccess = onSuccessCursorRequest; | |
| 70 cursorRequest.onerror = onError; | |
| 71 } | |
| 72 | |
| 73 function onSuccessCursorRequest(e) | |
| 74 { | |
| 75 debugger; | |
| 76 deleteItem(); | |
| 77 } | |
| 78 | |
| 79 function deleteItem() | |
| 80 { | |
| 81 var trans = db.transaction(["foo"], "readwrite"); | |
| 82 var store = trans.objectStore("foo"); | |
| 83 var request = store.delete(1); | |
| 84 request.onsuccess = onSuccessDeleteItem; | |
| 85 request.onerror = onError; | |
| 86 } | |
| 87 | |
| 88 function onSuccessDeleteItem() | |
| 89 { | |
| 90 debugger; | |
| 91 deleteDB(); | |
| 92 } | |
| 93 | |
| 94 function deleteDB() | |
| 95 { | |
| 96 db.close(); | |
| 97 var request = indexedDB.deleteDatabase("async-callstack-indexed-db"); | |
| 98 request.onsuccess = onSuccessDeleteDatabase; | |
| 99 request.onerror = onError; | |
| 100 } | |
| 101 | |
| 102 function onSuccessDeleteDatabase() | |
| 103 { | |
| 104 debugger; | |
| 105 } | |
| 106 | |
| 107 function test() | |
| 108 { | |
| 109 var totalDebuggerStatements = 6; | |
| 110 var maxAsyncCallStackDepth = 4; | |
| 111 InspectorTest.runAsyncCallStacksTest(totalDebuggerStatements, maxAsyncCallSt
ackDepth); | |
| 112 } | |
| 113 | |
| 114 </script> | |
| 115 </head> | |
| 116 | |
| 117 <body onload="runTest()"> | |
| 118 <input type='button' onclick='testFunction()' value='Test'/> | |
| 119 <p> | |
| 120 Tests asynchronous call stacks for IndexedDB. | |
| 121 </p> | |
| 122 </body> | |
| 123 </html> | |
| OLD | NEW |