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

Unified Diff: LayoutTests/inspector/debugger/async-callstack-xhrs.html

Issue 118293002: DevTools: Support XHR async call stacks in the debugger. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: addressed Created 7 years 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/debugger/async-callstack-xhrs.html
diff --git a/LayoutTests/inspector/debugger/async-callstack-xhrs.html b/LayoutTests/inspector/debugger/async-callstack-xhrs.html
new file mode 100644
index 0000000000000000000000000000000000000000..50580462e53777c3d2f4b8d02097300510081022
--- /dev/null
+++ b/LayoutTests/inspector/debugger/async-callstack-xhrs.html
@@ -0,0 +1,79 @@
+<html>
+<head>
+<script src="../../http/tests/inspector/inspector-test.js"></script>
+<script src="../../http/tests/inspector/debugger-test.js"></script>
+<script>
+
+var xhrCount = 0;
+
+function testFunction()
+{
+ setTimeout(timeout, 0);
+}
+
+function timeout()
+{
+ sendSyncXHR();
+ sendAsyncXHR();
+}
+
+function sendAsyncXHR() { sendXHR(true); }
+function sendSyncXHR() { sendXHR(false); }
+
+function sendXHR(async)
+{
+ var xhr = new XMLHttpRequest();
+ xhr.onreadystatechange = function()
+ {
+ if (xhr.readyState == 4) {
+ xhr.onreadystatechange = null;
+ debugger;
+ }
+ };
+ function downloadEnd()
+ {
+ xhr.removeEventListener("loadend", downloadEnd, false);
+ debugger;
+ }
+ function uploadEnd()
+ {
+ xhr.upload.removeEventListener("loadend", uploadEnd, false);
+ debugger;
+ }
+ function downloadProgress()
+ {
+ debugger;
+ xhr.removeEventListener("progress", downloadProgress, false);
+ }
+ function uploadProgress()
+ {
+ debugger;
+ xhr.upload.removeEventListener("progress", uploadProgress, false);
+ }
+ xhr.addEventListener("loadend", downloadEnd, false);
+ if (async) {
+ xhr.upload.addEventListener("loadend", uploadEnd, false);
+ xhr.addEventListener("progress", downloadProgress, false);
+ xhr.upload.addEventListener("progress", uploadProgress, false);
+ }
+ xhr.open("POST", "/foo?count=" + (++xhrCount) + "&now=" + Date.now(), async);
+ xhr.send(String(sendXHR));
+}
+
+var test = function()
+{
+ var totalDebuggerStatements = 7;
+ var maxAsyncCallStackDepth = 4;
+ InspectorTest.runAsyncCallStacksTest(totalDebuggerStatements, maxAsyncCallStackDepth);
+}
+
+</script>
+</head>
+
+<body onload="runTest()">
+<p>
+Tests asynchronous call stacks for XHRs.
+</p>
+
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698