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

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/page/frameAttachedStacktrace.html

Issue 2942573003: [DevTools] New harness for inspector-protocol layout tests (Closed)
Patch Set: Protocol -> dp Created 3 years, 6 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
OLDNEW
(Empty)
1 <html>
2 <head>
3 <script type="text/javascript" src="../../http/tests/inspector-protocol/inspecto r-protocol-test.js"></script>
4 <script>
5
6 function createFrame()
7 {
8 var frame = document.createElement("iframe");
9 frame.src = "data:text/html,<html><body><script>%0A" +
10 "var innerFrame = document.createElement('iframe');%0A" +
11 "innerFrame.src = 'about:blank';%0A" +
12 "document.body.appendChild(innerFrame);%0A" +
13 "<" + "/script></body></html>";
14 document.body.appendChild(frame);
15 }
16
17 function test()
18 {
19 const expectedNumberOfFrames = 3;
20 var currentFrameCount = 0;
21 InspectorTest.sendCommand("Page.enable", {});
22 InspectorTest.evaluateInInspectedPage("prepareForReload()", reloadPage)
23
24 function reloadPage()
25 {
26 InspectorTest.eventHandler["Page.loadEventFired"] = contentLoaded;
27 InspectorTest.eventHandler["Page.frameAttached"] = onAttached;
28 // It's worth noting that because the way the testrunner works nothing w ill be logged
29 // until after this command executes and not log anything in the callbac k of this function.
30 InspectorTest.sendCommand("Page.reload", { "ignoreCache": false });
31 }
32
33 function contentLoaded() {
34 delete InspectorTest.eventHandler["Page.loadEventFired"];
35 InspectorTest.evaluateInInspectedPage("createFrame()");
36 }
37
38 function onAttached(data)
39 {
40 currentFrameCount++;
41 InspectorTest.log("Frame Attached");
42 var stack = data.params.stack;
43 if (stack) {
44 logCallframes(stack.callFrames);
45 } else {
46 InspectorTest.log("Stack is empty");
47 InspectorTest.log("");
48 }
49 if (currentFrameCount >= expectedNumberOfFrames) {
50 InspectorTest.completeTest();
51 }
52 }
53
54 // showUrl left in for debugging reasons.
55 function logCallframes(frames) {
56 InspectorTest.log("Call Frames :");
57 if (!frames) {
58 InspectorTest.log("No callframes");
59 InspectorTest.log("");
60 return;
61 }
62 InspectorTest.log("[");
63 for (var i = 0; i < frames.length; i++) {
64 var frame = frames[i];
65 InspectorTest.log(" [" + i + "] : {");
66 if (!frame) {
67 InspectorTest.log(" No Frame");
68 continue;
69 }
70 var url = frame.url || '';
71 if (url.indexOf('data:') !== 0 && url.indexOf('/') !== -1) {
72 var urlParts = url.split('/');
73 url = "<only showing file name>/" + urlParts[urlParts.length - 1 ];
74 }
75 InspectorTest.log(" columnNumber : " + frame.columnNumber);
76 InspectorTest.log(" functionName : " + frame.functionName);
77 InspectorTest.log(" lineNumber : " + frame.lineNumber);
78 InspectorTest.log(" scriptId : " + (frame.scriptId ? "<scriptId>" : null));
79 InspectorTest.log(" lineNumber : " + frame.lineNumber);
80 InspectorTest.log(" url : " + url);
81 InspectorTest.log(" }");
82 }
83 InspectorTest.log("]");
84 InspectorTest.log("");
85 }
86 }
87 </script>
88 </head>
89 <body onload="runTest()">
90 <iframe src="about:blank" />
91 </body>
92 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698