| OLD | NEW |
| (Empty) |
| 1 <html> | |
| 2 <head> | |
| 3 | |
| 4 <style> | |
| 5 | |
| 6 /* An inline stylesheet */ | |
| 7 body.mainpage { | |
| 8 text-decoration: none; | |
| 9 } | |
| 10 </style> | |
| 11 | |
| 12 <link rel="stylesheet" href="resources/get-set-stylesheet-text.css"> | |
| 13 | |
| 14 <script src="../../../http/tests/inspector/inspector-test.js"></script> | |
| 15 <script src="../../../http/tests/inspector/elements-test.js"></script> | |
| 16 <script> | |
| 17 | |
| 18 function test() | |
| 19 { | |
| 20 var foundStyleSheetHeader; | |
| 21 var foundStyleSheetText; | |
| 22 | |
| 23 findStyleSheet(); | |
| 24 | |
| 25 function findStyleSheet() | |
| 26 { | |
| 27 var styleSheetHeaders = InspectorTest.cssModel.styleSheetHeaders(); | |
| 28 for (var i = 0; i < styleSheetHeaders.length; ++i) { | |
| 29 styleSheetHeader = styleSheetHeaders[i]; | |
| 30 if (styleSheetHeader.sourceURL.indexOf("get-set-stylesheet-text.css"
) >= 0) { | |
| 31 foundStyleSheetHeader = styleSheetHeader; | |
| 32 foundStyleSheetHeader.requestContent(callback); | |
| 33 } | |
| 34 if (!foundStyleSheetHeader) | |
| 35 InspectorTest.cssModel.addEventListener(WebInspector.CSSStyleMod
el.Events.StyleSheetAdded, styleSheetAdded); | |
| 36 } | |
| 37 | |
| 38 function callback(content) | |
| 39 { | |
| 40 foundStyleSheetText = content; | |
| 41 InspectorTest.runTestSuite([ testSetText, testNewElementStyles ]); | |
| 42 } | |
| 43 | |
| 44 function styleSheetAdded() | |
| 45 { | |
| 46 InspectorTest.cssModel.removeEventListener(WebInspector.CSSStyleMode
l.Events.StyleSheetAdded, styleSheetAdded); | |
| 47 findStyleSheet(); | |
| 48 } | |
| 49 } | |
| 50 | |
| 51 function testSetText(next) | |
| 52 { | |
| 53 function callback(error) | |
| 54 { | |
| 55 if (error) { | |
| 56 InspectorTest.addResult("Failed to set stylesheet text: " + erro
r); | |
| 57 return; | |
| 58 } | |
| 59 } | |
| 60 | |
| 61 InspectorTest.addResult("=== Original stylesheet text: ==="); | |
| 62 InspectorTest.addResult(foundStyleSheetText); | |
| 63 InspectorTest.cssModel.addEventListener(WebInspector.CSSStyleModel.Event
s.StyleSheetChanged, next, this); | |
| 64 InspectorTest.cssModel.setStyleSheetText(foundStyleSheetHeader.id, "h1 {
COLOR: Red; }", true, callback); | |
| 65 } | |
| 66 | |
| 67 function testNewElementStyles() | |
| 68 { | |
| 69 function callback(error, matchedCSSRules) | |
| 70 { | |
| 71 if (error) { | |
| 72 InspectorTest.addResult("error: " + error); | |
| 73 return; | |
| 74 } | |
| 75 | |
| 76 InspectorTest.addResult("=== Matched rules for h1 after setText() ==
="); | |
| 77 dumpMatchesArray(matchedCSSRules); | |
| 78 InspectorTest.completeTest(); | |
| 79 } | |
| 80 | |
| 81 function nodeCallback(node) | |
| 82 { | |
| 83 InspectorTest.CSSAgent.getMatchedStylesForNode(node.id, true, true,
callback); | |
| 84 } | |
| 85 | |
| 86 InspectorTest.selectNodeWithId("inspected", nodeCallback); | |
| 87 } | |
| 88 | |
| 89 | |
| 90 // Data dumping | |
| 91 | |
| 92 function dumpMatchesArray(rules) | |
| 93 { | |
| 94 if (!rules) | |
| 95 return; | |
| 96 for (var i = 0; i < rules.length; ++i) | |
| 97 dumpRuleOrStyle(rules[i].rule); | |
| 98 } | |
| 99 | |
| 100 function dumpRuleOrStyle(ruleOrStyle) | |
| 101 { | |
| 102 if (!ruleOrStyle) | |
| 103 return; | |
| 104 var isRule = !!(ruleOrStyle.style); | |
| 105 var style = isRule ? ruleOrStyle.style : ruleOrStyle; | |
| 106 InspectorTest.addResult(""); | |
| 107 InspectorTest.addResult(isRule ? "rule" : "style"); | |
| 108 InspectorTest.addResult((isRule ? (ruleOrStyle.selectorList.text + ": ["
+ ruleOrStyle.origin + "]") : "raw style")); | |
| 109 InspectorTest.dumpStyle(style); | |
| 110 } | |
| 111 } | |
| 112 </script> | |
| 113 </head> | |
| 114 | |
| 115 <body onload="runTest()"> | |
| 116 <p> | |
| 117 Tests that WebInspector.CSSStyleSheet methods work as expected. | |
| 118 </p> | |
| 119 <h1 id="inspected">Inspect Me</h1> | |
| 120 </body> | |
| 121 </html> | |
| OLD | NEW |