<!DOCTYPE html> <script src="../../../resources/js-test.js"></script> <style> .b .c { background-color: pink } .a * { background-color: green } </style> <div id="outer"> <div id="inner"> <div> <div></div> <div></div> </div> </div> </div> <script> description("Check that all children of inner are recalculated."); var transparent = "rgba(0, 0, 0, 0)"; var green = "rgb(0, 128, 0)"; var inner = document.getElementById("inner"); var outer = document.getElementById("outer"); var innerDivs = inner.querySelectorAll("div"); for (var i=0; i < innerDivs.length; i++) shouldBe("getComputedStyle(innerDivs[i], null).backgroundColor", "transparent"); document.body.offsetTop; // Force style recalc. outer.className = "b"; inner.className = "a"; if (window.internals) shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "4"); for (var i=0; i < innerDivs.length; i++) shouldBe("getComputedStyle(innerDivs[i], null).backgroundColor", "green"); </script>