blob: a3930acb3347b74c7cc9bad40d6ed79f8623d126 [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.attachShadow({mode: 'open'});
outerRoot.innerHTML = "<div id='host1'><slot/></div>";
var host1 = outerRoot.querySelector("#host1");
var root1 = host1.attachShadow({mode: 'open'});
root1.innerHTML = "<div id='host2'><slot/></div>";
var host2 = root1.querySelector("#host2");
var root2 = host2.attachShadow({mode: 'open'});
root2.innerHTML = "<slot/>";
shouldBeEqualToString("getComputedStyle(outerSpan).color", "rgb(255, 0, 0)");
document.body.offsetTop;
var sheet = document.createElement("style");
sheet.appendChild(document.createTextNode("::slotted(#outerSpan) { color: green }"));
root2.appendChild(sheet);
if (window.internals)
shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "2");
shouldBeEqualToString("getComputedStyle(outerSpan).color", "rgb(0, 128, 0)");
</script>