Index: LayoutTests/inspector/elements/styles/styles-new-API.html |
diff --git a/LayoutTests/inspector/elements/styles/styles-new-API.html b/LayoutTests/inspector/elements/styles/styles-new-API.html |
deleted file mode 100644 |
index 9b099ae37a1a812935680d1ca8332fd1578a0079..0000000000000000000000000000000000000000 |
--- a/LayoutTests/inspector/elements/styles/styles-new-API.html |
+++ /dev/null |
@@ -1,499 +0,0 @@ |
-<html> |
-<head> |
- |
-<link rel="stylesheet" href="resources/styles-new-API.css"> |
- |
-<script src="../../../http/tests/inspector/inspector-test.js"></script> |
-<script src="../../../http/tests/inspector/elements-test.js"></script> |
-<script src="styles-test.js"></script> |
-<script> |
- |
-function test() |
-{ |
- |
- var bodyId; |
- InspectorTest.runTestSuite([ |
- function test_styles(next) |
- { |
- function callback(styles) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Computed style property count for body ==="); |
- var propCount = styles.computedStyle.length; |
- InspectorTest.addResult(propCount > 200 ? "OK" : "FAIL (" + propCount + ")"); |
- |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Matched rules for body ==="); |
- InspectorTest.dumpRuleMatchesArray(styles.matchedCSSRules); |
- |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Pseudo rules for body ==="); |
- for (var i = 0; i < styles.pseudoElements.length; ++i) { |
- InspectorTest.addResult("PseudoId=" + styles.pseudoElements[i].pseudoId); |
- InspectorTest.dumpRuleMatchesArray(styles.pseudoElements[i].matches); |
- } |
- |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Inherited styles for body ==="); |
- for (var i = 0; i < styles.inherited.length; ++i) { |
- InspectorTest.addResult("Level=" + (i + 1)); |
- InspectorTest.dumpStyle(styles.inherited[i].inlineStyle); |
- InspectorTest.dumpRuleMatchesArray(styles.inherited[i].matchedCSSRules); |
- } |
- |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Inline style for body ==="); |
- InspectorTest.dumpStyle(styles.inlineStyle); |
- next(); |
- } |
- |
- var resultStyles = {}; |
- |
- function computedCallback(error, computedStyle) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- resultStyles.computedStyle = computedStyle; |
- } |
- |
- function inlineCallback(error, inlineStyle) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- resultStyles.inlineStyle = inlineStyle; |
- } |
- |
- function matchedCallback(error, matchedCSSRules, pseudoElements, inherited) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- |
- resultStyles.matchedCSSRules = matchedCSSRules; |
- resultStyles.pseudoElements = pseudoElements; |
- resultStyles.inherited = inherited; |
- callback(resultStyles); |
- } |
- |
- function nodeCallback(node) |
- { |
- bodyId = node.id; |
- InspectorTest.CSSAgent.getComputedStyleForNode(node.id, computedCallback); |
- InspectorTest.CSSAgent.getInlineStylesForNode(node.id, inlineCallback); |
- InspectorTest.CSSAgent.getMatchedStylesForNode(node.id, false, false, matchedCallback); |
- } |
- InspectorTest.selectNodeWithId("mainBody", nodeCallback); |
- }, |
- |
- function test_forcedState(next) |
- { |
- InspectorTest.CSSAgent.forcePseudoState(bodyId, ["hover"]); |
- InspectorTest.CSSAgent.getMatchedStylesForNode(bodyId, false, false, matchedCallback); |
- |
- function matchedCallback(error, matchedRules) |
- { |
- InspectorTest.addResult("=== BODY with forced :hover ==="); |
- InspectorTest.dumpRuleMatchesArray(matchedRules); |
- InspectorTest.CSSAgent.forcePseudoState(bodyId, ["hover"], next); |
- } |
- }, |
- |
- function test_textNodeComputedStyles(next) |
- { |
- function callback(error, computedStyle) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Computed style property count for TextNode ==="); |
- var propCount = computedStyle.length; |
- InspectorTest.addResult(propCount > 200 ? "OK" : "FAIL (" + propCount + ")"); |
- next(); |
- } |
- |
- function nodeCallback(node) |
- { |
- var textNode = node.children()[0]; |
- if (textNode.nodeType() !== Node.TEXT_NODE) { |
- InspectorTest.addResult("Failed to retrieve TextNode."); |
- InspectorTest.completeTest(); |
- return; |
- } |
- InspectorTest.CSSAgent.getComputedStyleForNode(textNode.id, callback); |
- } |
- InspectorTest.nodeWithId("toggle", nodeCallback); |
- }, |
- |
- function test_tableStyles(next) |
- { |
- function setTextCallback(error, result) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Stylesheet-for-inline-style modification result ==="); |
- InspectorTest.addResult(error); |
- next(); |
- } |
- |
- function textCallback(inlineStyle, error, result) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Stylesheet-for-inline-style text ==="); |
- InspectorTest.addResult(result); |
- InspectorTest.CSSAgent.setStyleSheetText(inlineStyle.styleSheetId, "", setTextCallback); |
- } |
- |
- function callback(error, inlineStyle, attributesStyle) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Attributes style for table ==="); |
- InspectorTest.dumpStyle(attributesStyle); |
- InspectorTest.CSSAgent.getStyleSheetText(inlineStyle.styleSheetId, textCallback.bind(this, inlineStyle)); |
- } |
- |
- function nodeCallback(node) |
- { |
- InspectorTest.CSSAgent.getInlineStylesForNode(node.id, callback); |
- } |
- InspectorTest.nodeWithId("thetable", nodeCallback); |
- }, |
- |
- function test_styleSheets(next) |
- { |
- var newStyleSheetText = |
- "body.mainpage {" + |
- " text-decoration: strikethrough;" + |
- " badproperty: 2badvalue2;" + |
- "}" + |
- "body {" + |
- " text-align: justify;" + |
- "}"; |
- |
- function didSetStyleText(error, style) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== After style text set ==="); |
- loadAndDumpStyleSheet(style.styleSheetId, next); |
- } |
- |
- function collapseToStart(range) |
- { |
- return { |
- startLine: range.startLine, |
- startColumn: range.startColumn, |
- endLine: range.startLine, |
- endColumn: range.startColumn, |
- }; |
- } |
- |
- function setStyleText(rule) |
- { |
- InspectorTest.CSSAgent.setPropertyText(rule.style.styleSheetId, rule.style.cssProperties[1].range, ""); |
- InspectorTest.CSSAgent.setPropertyText(rule.style.styleSheetId, rule.style.cssProperties[0].range, ""); |
- |
- // This operation should not update the style as the new property text is not parsable. |
- InspectorTest.CSSAgent.setPropertyText(rule.style.styleSheetId, collapseToStart(rule.style.range), "zzz;"); |
- InspectorTest.CSSAgent.setPropertyText(rule.style.styleSheetId, collapseToStart(rule.style.range), "color: white; background: black;", didSetStyleText); |
- } |
- |
- function didSetSelector(error, rule) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== After selector set ==="); |
- loadAndDumpStyleSheet(rule.styleSheetId, setStyleText.bind(this, rule)); |
- } |
- |
- function setRuleSelector(rule) |
- { |
- var orm = WebInspector.CSSRule.parsePayload(InspectorTest.cssModel, rule); |
- InspectorTest.CSSAgent.setRuleSelector(orm.styleSheetId, orm.selectorRange, "html *, body[foo=\"bar\"]", didSetSelector); |
- } |
- |
- function onMatchedStylesForNode(error, matchedStyles) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- for (var i = 0; i < matchedStyles.length; ++i) { |
- var rule = matchedStyles[i].rule; |
- if (rule.selectorList.text !== "body.mainpage") { |
- continue; |
- } |
- setRuleSelector(rule); |
- return; |
- } |
- InspectorTest.addResult("Error: rule with selector body.mainpage is not found"); |
- InspectorTest.completeTest(); |
- } |
- |
- function didPatchStyleSheet(styleSheetId) |
- { |
- InspectorTest.CSSAgent.getMatchedStylesForNode(bodyId, true, true, onMatchedStylesForNode); |
- } |
- |
- function patchStyleSheet(styleSheetId) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Last stylesheet patched ==="); |
- InspectorTest.CSSAgent.setStyleSheetText(styleSheetId, newStyleSheetText, |
- loadAndDumpStyleSheet.bind(null, styleSheetId, didPatchStyleSheet)); |
- } |
- |
- function styleSheetInfosLoaded(styleSheets) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== All stylesheets ==="); |
- for (var i = 0; i < styleSheets.length; ++i) |
- loadAndDumpStyleSheet(styleSheets[i].id, (i < styleSheets.length - 1) ? null : patchStyleSheet); |
- } |
- InspectorTest.waitForStylesheetsOnFrontend(4, styleSheetInfosLoaded); |
- }, |
- |
- function test_addRule(next) |
- { |
- function didGetStyles(error, matchedCSSRules) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== Matched rules after rule added ==="); |
- InspectorTest.dumpRuleMatchesArray(matchedCSSRules); |
- next(); |
- } |
- |
- function didSetStyleText(error, style) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- InspectorTest.CSSAgent.getMatchedStylesForNode(bodyId, true, true, didGetStyles); |
- } |
- |
- function ruleAdded(error, rule) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- InspectorTest.CSSAgent.setPropertyText(rule.style.styleSheetId, { |
- startLine: rule.style.range.startLine, |
- startColumn: rule.style.range.startColumn, |
- endLine: rule.style.range.startLine, |
- endColumn: rule.style.range.startColumn |
- }, "font-family: serif;", didSetStyleText); |
- } |
- |
- function viaInspectorStyleSheetCreated(error, styleSheetId) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- var range = { |
- startLine: 0, |
- startColumn: 0, |
- endLine: 0, |
- endColumn: 0 |
- }; |
- InspectorTest.CSSAgent.addRule(styleSheetId, "body {}", range, ruleAdded); |
- } |
- |
- var frameId = InspectorTest.resourceTreeModel.mainFrame.id; |
- InspectorTest.CSSAgent.createStyleSheet(frameId, viaInspectorStyleSheetCreated.bind(this)); |
- }, |
- |
- function test_disableProperty(next) |
- { |
- function didEnableProperty(style) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== After property enabled ==="); |
- InspectorTest.dumpCSSStyleDeclaration(style); |
- next(); |
- } |
- |
- function step(style) |
- { |
- style.propertyAt(8).setDisabled(false, didEnableProperty); |
- } |
- |
- function didDisableProperty(style) |
- { |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("=== After property manipulations ==="); |
- InspectorTest.dumpCSSStyleDeclaration(style); |
- style.propertyAt(6).setDisabled(false, step); |
- } |
- |
- function parseStylePayload(callback, error, payload) |
- { |
- if (error) { |
- InspectorTest.addResult(error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- callback(WebInspector.CSSStyleDeclaration.parsePayload(InspectorTest.cssModel, payload)); |
- } |
- |
- function stylesCallback(error, matchedCSSRules) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- // height : 100% ; |
- // border: 1px solid; |
- // border-width: 2px; |
- // background-color : #33FF33; |
- // googles: abra; |
- // foo: .bar; |
- // -moz-goog: 1***; |
- // border-width: 0px; |
- // padding-top: 1px; [d] |
- |
- var orm = WebInspector.CSSStyleDeclaration.parsePayload(InspectorTest.cssModel, matchedCSSRules[1].rule.style); |
- orm.propertyAt(0).setDisabled(true, step1); |
- |
- function step1(orm) |
- { |
- orm.propertyAt(7).setDisabled(true, step2); |
- } |
- |
- function step2(orm) |
- { |
- InspectorTest.CSSAgent.setPropertyText(orm.styleSheetId, orm.propertyAt(7).range.collapseToStart(), "font-size: 12px;", parseStylePayload.bind(null, step3)); |
- } |
- |
- function step3(orm) |
- { |
- InspectorTest.CSSAgent.setPropertyText(orm.styleSheetId, orm.propertyAt(9).range.collapseToStart(), "font-size: 14px;", parseStylePayload.bind(null, step4)); |
- } |
- |
- function step4(orm) |
- { |
- orm.propertyAt(9).setDisabled(true, step5); |
- } |
- |
- function step5(orm) |
- { |
- InspectorTest.CSSAgent.setPropertyText(orm.styleSheetId, orm.propertyAt(8).range, "border-width: 1px;", parseStylePayload.bind(null, step6)); |
- } |
- |
- function step6(orm) |
- { |
- orm.propertyAt(8).setDisabled(false, step7); |
- } |
- |
- function step7(orm) |
- { |
- InspectorTest.CSSAgent.setPropertyText(orm.styleSheetId, orm.propertyAt(3).range, "", parseStylePayload.bind(null, step8)); |
- } |
- |
- function step8(orm) |
- { |
- orm.propertyAt(9).setDisabled(false, didDisableProperty); |
- } |
- |
- // height : 100% ; [d] |
- // border: 1px solid; |
- // border-width: 2px; |
- // googles: abra; |
- // foo: .bar; |
- // -moz-goog: 1***; |
- // font-size: 12px; |
- // border-width: 1px; |
- // font-size: 14px; [d] |
- // padding-top: 1px; |
- } |
- |
- function nodeCallback(node) |
- { |
- InspectorTest.CSSAgent.getMatchedStylesForNode(node.id, true, true, stylesCallback); |
- } |
- InspectorTest.nodeWithId("toggle", nodeCallback); |
- }, |
- ]); |
- |
- function loadAndDumpStyleSheet(styleSheetId, continuation, error) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- InspectorTest.completeTest(); |
- return; |
- } |
- |
- function styleSheetLoaded(error, text) |
- { |
- if (error) { |
- InspectorTest.addResult("error: " + error); |
- return; |
- } |
- InspectorTest.addResult(""); |
- InspectorTest.addResult("StyleSheet: '" + text + "'"); |
- if (continuation) |
- continuation(styleSheetId); |
- } |
- |
- InspectorTest.CSSAgent.getStyleSheetText(styleSheetId, styleSheetLoaded); |
- } |
-} |
- |
-</script> |
- |
-<style> |
- |
-/* An inline stylesheet */ |
-body.mainpage { |
- text-decoration: none; /* at least one valid property is necessary for WebCore to match a rule */ |
- ;badproperty: 1badvalue1; |
-} |
- |
-body.mainpage { |
- prop1: val1; |
- prop2: val2; |
-} |
- |
-body:hover { |
- color: #CDE; |
-} |
-</style> |
-</head> |
- |
-<body id="mainBody" class="main1 main2 mainpage" onload="runTest()" style="font-weight: normal; width: 85%; background-image: url(bar.png)"> |
-<p> |
-Tests that InspectorCSSAgent API methods work as expected. |
-</p> |
-<table width="50%" id="thetable"> |
-</table> |
-<h1 id="toggle">H1</h1> |
-</body> |
-</html> |