| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <script src="../../resources/js-test-pre.js"/> |
| </head> |
| <body> |
| <svg display="none" xmlns="http://www.w3.org/2000/svg"/> |
| <p id="description"></p> |
| <div id="console"/> |
| <script><![CDATA[ |
| SVG_NS = 'http://www.w3.org/2000/svg'; |
| var color1, color2; |
| var systemColorRed, systemColorGreen, systemColorBlue; |
| function checkSystemColor(id1, id2, systemColor) |
| { |
| var textElement = document.getElementById(id1); |
| var computedStyleText = textElement.ownerDocument.defaultView.getComputedStyle(textElement); |
| var divElement = document.getElementById(id2); |
| var computedStyleDiv = divElement.ownerDocument.defaultView.getComputedStyle(divElement); |
| |
| color1 = computedStyleText.getPropertyCSSValue('fill').rgbColor; |
| color2 = computedStyleDiv.getPropertyCSSValue('color').getRGBColorValue(); |
| |
| systemColorRed = color2.red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER); |
| systemColorGreen = color2.green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER); |
| systemColorBlue = color2.blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER); |
| |
| debug('Testing system color' + systemColor); |
| |
| shouldBe("color1.red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "systemColorRed"); |
| shouldBe("color1.green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "systemColorGreen"); |
| shouldBe("color1.blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "systemColorBlue"); |
| |
| color1 = computedStyleText.getPropertyCSSValue('stroke').rgbColor; |
| |
| shouldBe("color1.red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "systemColorRed"); |
| shouldBe("color1.green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "systemColorGreen"); |
| shouldBe("color1.blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "systemColorBlue"); |
| } |
| |
| description('Test that fill and stroke properties accept system colors'); |
| debug(''); |
| |
| var systemColors = new Array("ActiveBorder", "ActiveCaption", "AppWorkspace", "Background", "ButtonFace", "ButtonHighlight", |
| "ButtonShadow", "ButtonText", "CaptionText", "GrayText", "Highlight", "HighlightText", |
| "InactiveBorder", "InactiveCaption", "InactiveCaptionText", "InfoBackground", "InfoText", |
| "Menu", "MenuText", "Scrollbar", "ThreeDDarkShadow", "ThreeDFace", "ThreeDHighlight", |
| "ThreeDLightShadow", "ThreeDShadow", "Window", "WindowFrame", "WindowText"); |
| var svgElement = document.getElementsByTagName("svg")[0]; |
| for (i = 0; i < systemColors.length; ++i) { |
| var textElement = document.createElementNS(SVG_NS, "text"); |
| textElement.setAttribute("id", "text" + i); |
| textElement.setAttribute("stroke", systemColors[i]); |
| textElement.setAttribute("style", "fill:" + systemColors[i]); |
| svgElement.appendChild(textElement); |
| |
| var divElement = document.createElement("div"); |
| divElement.setAttribute("id", "expected" + i); |
| divElement.setAttribute("style", "color:" + systemColors[i]); |
| document.body.appendChild(divElement); |
| |
| checkSystemColor('text' + i, 'expected' + i, systemColors[i]); |
| } |
| |
| ]]> |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| |
| </body> |
| </html> |