| <!DOCTYPE html> |
| <script src="../../../resources/js-test.js"></script> |
| <script src="resources/shadow-dom.js"></script> |
| |
| <div id="test"> |
| <div id="first"></div> |
| </div> |
| |
| <script> |
| description("Test that :host-context(:first-child) is re-evaluated when :first-child changes."); |
| |
| var test = document.getElementById("test"); |
| var first = document.getElementById("first"); |
| |
| first.appendChild( |
| createDOM("div", {"id": "host"}, |
| createShadowRoot( |
| createDOM('style', {}, |
| document.createTextNode(":host-context(#first:first-child) { background-color: red; }")), |
| createDOM('div', {}, |
| document.createTextNode("You should see no red."))))); |
| |
| document.body.offsetTop; // Force style recalc. |
| |
| var red = "rgb(255, 0, 0)"; |
| |
| shouldBe("getComputedStyle(first.firstChild, null).backgroundColor", "red"); |
| |
| test.insertBefore(document.createElement("div"), first); |
| |
| shouldNotBe("getComputedStyle(first.firstChild, null).backgroundColor", "red"); |
| </script> |