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

Side by Side Diff: third_party/WebKit/LayoutTests/inspector-protocol/stylesheet-tracking-restart.html

Issue 2950713002: [DevTools] New harness for inspector-protocol layout tests (Closed)
Patch Set: addressed comments, 4 tests 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/resources/i nspector-protocol-test.js"></script>
4 <script>
5 var styleElement1;
6 var styleElement2;
7
8 function createStyleSheet(textContent)
9 {
10 var styleElement = document.createElement("style");
11 styleElement.textContent = textContent;
12 document.head.appendChild(styleElement);
13 return styleElement;
14 }
15
16 function reopenWebInspector()
17 {
18 setTimeout(deferredReopening, 0);
19
20 function deferredReopening()
21 {
22 log("Closing inspector.\n");
23 closeInspector();
24 window.didReopen = 1;
25 log("Removing style sheet.\n");
26 document.head.removeChild(styleElement1);
27 log("Reopening inspector.");
28 openInspector();
29 }
30 }
31
32 function openWebInspector()
33 {
34 delete window.didReopen;
35 styleElement1 = createStyleSheet("body.class1 { color: red; } \n /*# sourceU RL=foo.css */");
36 styleElement2 = createStyleSheet("body.class2 { color: green; } \n /*# sourc eURL=bar.css */");
37 runTest();
38 }
39
40 function test()
41 {
42 InspectorTest.log("Running test");
43 InspectorTest.sendCommand("Runtime.evaluate", {"expression": "window.didReop en"}, dispatch);
44
45 function dispatch(response)
46 {
47 var result = response.result.result;
48 if (result.type !== "number") {
49 InspectorTest.log("Opening front-end for the first time");
50 runTests(reopenInspector);
51 } else {
52 InspectorTest.log("Opening front-end second time");
53 runTests(InspectorTest.completeTest.bind(InspectorTest));
54 }
55 }
56
57 function reopenInspector()
58 {
59 InspectorTest.sendCommand("Runtime.evaluate", {"expression": "reopenWebI nspector()"});
60 }
61
62 function runTests(callback)
63 {
64 InspectorTest.eventHandler["CSS.styleSheetAdded"] = styleSheetAdded;
65 InspectorTest.eventHandler["CSS.styleSheetRemoved"] = styleSheetRemoved;
66 var headersAdded = [];
67 var headersRemoved = [];
68
69 function styleSheetAdded(response)
70 {
71 headersAdded.push(response.params.header);
72 }
73
74 function styleSheetRemoved(response)
75 {
76 headersRemoved.push(response.params.styleSheetId);
77 }
78
79 InspectorTest.log("Enabling CSS domain.");
80 InspectorTest.sendCommandOrDie("DOM.enable", {});
81 InspectorTest.sendCommand("CSS.enable", {}, wasEnabled);
82
83 function wasEnabled()
84 {
85 function compareFunction(a, b)
86 {
87 return a.styleSheetId - b.styleSheetId;
88 }
89
90 var headers = {};
91 headersAdded.sort(compareFunction);
92 for (var i = 0; i < headersAdded.length; ++i) {
93 var header = headersAdded[i];
94 headers[header.styleSheetId] = header.sourceURL;
95 InspectorTest.log(" - style sheet added: " + header.sourceURL);
96 }
97
98 headersRemoved.sort();
99 for (var i = 0; i < headersRemoved.length; ++i)
100 InspectorTest.log(" - style sheet removed: " + headers[headersRe moved[i]]);
101
102 callback();
103 }
104 }
105 }
106 </script>
107 </head>
108 <body onload="openWebInspector()">
109 <p>This test checks that if style sheet is removed between two inspector launche s it is not reported to frontend.</p>
110 </body>
111 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698