blob: 5bcf06e23a0e6e875d46af959dbe64fb98d81283 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../../resources/js-test.js"></script>
<style>
#outerHost { color: red }
</style>
<div>
<div id="outerHost">
<span id="outerSpan"></span>
</div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<script>
description("Insert a style element into a shadow tree affecting a distributed node.");
var outerRoot = outerHost.createShadowRoot();
outerRoot.innerHTML = "<div id='host1'><content/></div>";
var host1 = outerRoot.querySelector("#host1");
var root1 = host1.createShadowRoot();
root1.innerHTML = "<div id='host2'><content/></div>";
var host2 = root1.querySelector("#host2");
var root2 = host2.createShadowRoot();
root2.innerHTML = "<content/>";
shouldBeEqualToString("getComputedStyle(outerSpan).color", "rgb(255, 0, 0)");
document.body.offsetTop;
var sheet = document.createElement("style");
sheet.appendChild(document.createTextNode("::content #outerSpan { color: green }"));
root2.appendChild(sheet);
if (window.internals)
shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "3");
shouldBeEqualToString("getComputedStyle(outerSpan).color", "rgb(0, 128, 0)");
</script>