| Index: LayoutTests/fast/css/invalidation/shadow-boundary-crossing.html
|
| diff --git a/LayoutTests/fast/css/invalidation/shadow-boundary-crossing.html b/LayoutTests/fast/css/invalidation/shadow-boundary-crossing.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c12fb082b56a0c74d3d16cac770c77badc45662d
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/css/invalidation/shadow-boundary-crossing.html
|
| @@ -0,0 +1,39 @@
|
| +<!DOCTYPE html>
|
| +
|
| +<script src="../../../resources/js-test.js"></script>
|
| +
|
| +<style>
|
| + .deep /deep/ .inside,
|
| + .shallow .inside {
|
| + padding: 0;
|
| + }
|
| +</style>
|
| +
|
| +<div id="sandbox"></div>
|
| +
|
| +<script>
|
| +description("Invalidation sets should not apply across shadow roots if tree boundary crossing rules are not used.");
|
| +
|
| +var sandbox = document.getElementById("sandbox");
|
| +var sandboxRoot = sandbox.createShadowRoot();
|
| +sandboxRoot.innerHTML = "<content></content>";
|
| +
|
| +for (var j = 0; j < 10; ++j) {
|
| + var childDiv = sandbox.appendChild(document.createElement("div"));
|
| + childDiv.className = "inside";
|
| + var shadowDiv = sandboxRoot.appendChild(document.createElement("div"));
|
| + shadowDiv.className = "inside";
|
| + shadowDiv.createShadowRoot().innerHTML = "<div class=inside><content></content></div>";
|
| +}
|
| +
|
| +getComputedStyle(sandbox).color;
|
| +sandbox.className = "shallow";
|
| +if (window.internals)
|
| + shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "11");
|
| +sandbox.className = "";
|
| +
|
| +getComputedStyle(sandbox).color;
|
| +sandbox.className = "deep";
|
| +if (window.internals)
|
| + shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "31");
|
| +</script>
|
|
|