<!-- NOTE: Quirks mode document -->
<style>
body {
overflow: scroll;
height: 500px;
width: 500px;
}
#spacer {
height: 10000px;
}
</style>
<html>
<body>
<div id=spacer></div>
</body>
</html>
<script src="../../../resources/js-test.js"></script>
<script>
description('Verify that document.scrollingElement updates style in quirks mode without triggering layout');
setPrintTestResultsLazily();
document.body.offsetTop;
shouldBe("internals.needsLayoutCount()", "0");
document.body.style.padding = "10px";
shouldBe("document.scrollingElement", "document.body");
debug("Verifying layout hasn't been triggered");
shouldBe("internals.needsLayoutCount()", "3");
debug("But style update was");
shouldBe("internals.updateStyleAndReturnAffectedElementCount()", "0");
document.documentElement.style.overflow = "scroll";
// Workaround crbug.com/486034 to foce body style to be considered dirty
document.body.style.padding = "8px";
debug("Verify style change is reflected - body is now a real scrolling block element");
shouldBeNull("document.scrollingElement");
debug("Verifying layout still hasn't been triggered");
shouldBe("internals.needsLayoutCount()", "3");
</script>