OLD | NEW |
| (Empty) |
1 <html> | |
2 <head> | |
3 <script type="text/javascript" src="../http/tests/inspector-protocol/inspector-p
rotocol-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> | |
OLD | NEW |