Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(466)

Side by Side Diff: LayoutTests/inspector/sources/debugger/async-callstack-indexed-db.html

Issue 439713009: DevTools: Implement async stacks for IndexedDB. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(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 var test = function()
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698