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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: LayoutTests/inspector/sources/debugger/async-callstack-indexed-db.html
diff --git a/LayoutTests/inspector/sources/debugger/async-callstack-indexed-db.html b/LayoutTests/inspector/sources/debugger/async-callstack-indexed-db.html
new file mode 100644
index 0000000000000000000000000000000000000000..c7449dc1430b0d6016dc90205b92efc52f487276
--- /dev/null
+++ b/LayoutTests/inspector/sources/debugger/async-callstack-indexed-db.html
@@ -0,0 +1,123 @@
+<html>
+<head>
+<script src="../../../http/tests/inspector/inspector-test.js"></script>
+<script src="../../../http/tests/inspector/debugger-test.js"></script>
+<script>
+
+var version = 1;
+var db;
+
+function testFunction()
+{
+ setTimeout(openDB);
+}
+
+function onError()
+{
+ console.error("FAIL: " + new Error().stack);
+ debugger;
+}
+
+function openDB()
+{
+ var request = indexedDB.open("async-callstack-indexed-db", version);
+ request.onupgradeneeded = onUpgradeNeeded;
+ request.onsuccess = onSuccessOpenDB;
+ request.onerror = onError;
+}
+
+function onUpgradeNeeded(e)
+{
+ debugger;
+ var db = e.target.result;
+ e.target.transaction.onerror = onError;
+
+ if (db.objectStoreNames.contains("foo"))
+ db.deleteObjectStore("foo");
+
+ db.createObjectStore("foo", { keyPath: "id" });
+}
+
+function onSuccessOpenDB(e)
+{
+ debugger;
+ db = e.target.result;
+ populateDB();
+}
+
+function populateDB()
+{
+ var trans = db.transaction(["foo"], "readwrite");
+ var store = trans.objectStore("foo");
+ var request = store.put({ "id" : 1, "bar": "baz" });
+ request.onsuccess = onSuccessStorePut;
+ request.onerror = onError;
+}
+
+function onSuccessStorePut(e)
+{
+ debugger;
+ getAllItems();
+}
+
+function getAllItems()
+{
+ var trans = db.transaction(["foo"], "readwrite");
+ var store = trans.objectStore("foo");
+ var keyRange = IDBKeyRange.lowerBound(0);
+ var cursorRequest = store.openCursor(keyRange);
+ cursorRequest.onsuccess = onSuccessCursorRequest;
+ cursorRequest.onerror = onError;
+}
+
+function onSuccessCursorRequest(e)
+{
+ debugger;
+ deleteItem();
+}
+
+function deleteItem()
+{
+ var trans = db.transaction(["foo"], "readwrite");
+ var store = trans.objectStore("foo");
+ var request = store.delete(1);
+ request.onsuccess = onSuccessDeleteItem;
+ request.onerror = onError;
+}
+
+function onSuccessDeleteItem()
+{
+ debugger;
+ deleteDB();
+}
+
+function deleteDB()
+{
+ db.close();
+ var request = indexedDB.deleteDatabase("async-callstack-indexed-db");
+ request.onsuccess = onSuccessDeleteDatabase;
+ request.onerror = onError;
+}
+
+function onSuccessDeleteDatabase()
+{
+ debugger;
+}
+
+var test = function()
+{
+ var totalDebuggerStatements = 6;
+ var maxAsyncCallStackDepth = 4;
+ InspectorTest.runAsyncCallStacksTest(totalDebuggerStatements, maxAsyncCallStackDepth);
+}
+
+</script>
+</head>
+
+<body onload="runTest()">
+<input type='button' onclick='testFunction()' value='Test'/>
+<p>
+Tests asynchronous call stacks for IndexedDB.
+</p>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698