blob: fc853e1b2b847b8ad6b5aa80c9d3fea7cf692bc0 [file] [log] [blame]
<html>
<head>
<script>
var others = [
"background-position",
"border-spacing",
"overflow",
"-webkit-match-nearest-mail-blockquote-color",
"-webkit-text-size-adjust",
];
if (window.layoutTestController)
layoutTestController.dumpAsText();
function log(message)
{
var console = document.getElementById("console");
console.appendChild(document.createTextNode(message + "\n"));
}
function dumpComputedStyle(element, properties)
{
var style = getComputedStyle(element);
if (!properties) {
for (var i = 0; i != style.length; ++i) {
var name = style.item(i);
log(" " + name + ": " + style.getPropertyValue(name));
}
properties = others;
}
for (var i = 0; i != properties.length; ++i) {
var name = properties[i];
log(" " + name + ": " + style.getPropertyValue(name));
}
log("");
}
function test()
{
var outerDiv = document.getElementById("outer");
var middleDiv = document.getElementById("middle");
var innerDiv = document.getElementById("inner");
log("Computed style of an element whose parent's 'display' value is 'none':");
dumpComputedStyle(innerDiv);
outerDiv.style.color = "blue";
middleDiv.style.fontSize = "large";
log("After changing grandparent's 'color' and the parent's 'font-size' inherited properties:");
dumpComputedStyle(innerDiv, ["border-top-width", "color"]);
middleDiv.style.display = "block";
log("After changing the parent's 'display' property to 'block', so that the child gets a renderer:");
dumpComputedStyle(innerDiv, ["height", "margin-left", "width"]);
middleDiv.style.display = "";
log("After changing the parent's 'display' property back to 'none':");
dumpComputedStyle(innerDiv, ["height", "margin-left", "width"]);
}
</script>
<style>
div#middle { display: none; }
div#inner { background: green; border-top: 1em solid; height: 100px; margin-left: auto; width: 50%; }
</style>
</head>
<body onload="test()">
<pre id="console"></pre>
<div id="outer">
<div id="middle">
<div id="inner">
</div>
</div>
</div>
</body>
</html>