blob: 3a288bd0edf9f19f99f1bf66e5a3fb1356d6e44a [file] [log] [blame]
<!-- quirks mode -->
<script src="../../resources/js-test.js"></script>
<style>
:root, body { width: 100%; height: 100%; margin: 0 }
#container.wide { width: 5000px; height: 10px; }
#container.tall { height: 5000px; width: 10px; }
</style>
<div id="container"></div>
<script>
description("Style recalc when reading clientWidth/clientHeight of body in quirks mode.");
shouldBeDefined(window.internals);
shouldBeFalse("internals.overlayScrollbarsEnabled");
function runClientSizeTest(testClass, expectWidthChange, expectHeightChange, expectedRecalcCount) {
var origWidth = document.body.clientWidth;
var origHeight = document.body.clientHeight;
internals.updateStyleAndReturnAffectedElementCount();
container.classList.add(testClass)
var afterWidth = document.body.clientWidth;
var afterHeight = document.body.clientHeight;
shouldBe("internals.updateStyleAndReturnAffectedElementCount()", ""+expectedRecalcCount);
if (expectWidthChange)
shouldBeGreaterThan(""+origWidth, ""+afterWidth);
else
shouldBe(""+origWidth, ""+afterWidth);
if (expectHeightChange)
shouldBeGreaterThan(""+origHeight, ""+afterHeight);
else
shouldBe(""+origHeight, ""+afterHeight);
container.classList.remove(testClass)
}
runClientSizeTest("wide", false, true, 0);
runClientSizeTest("tall", true, false, 0);
</script>