blob: c5a75c74e21f87c8ab61aef48fafa332f62a0c38 [file] [log] [blame]
<html>
<head>
<style>
div {
height: 9999px;
width: 9999px;
}
</style>
<script src="../../../resources/js-test-pre.js"></script>
<script>
jsTestIsAsync = true;
function runTest() {
description('Test the "scrollWidth" properties on the body element in quirks mode.');
debug("Initial values");
shouldBe("document.body.scrollWidth", "document.documentElement.scrollWidth");
debug("");
debug("Now we create a body element, it should not have a scrollWidth since it is not the first body element of the document.");
floatingBody = document.createElement('body');
shouldBe("document.body.scrollWidth", "document.documentElement.scrollWidth");
shouldBe("floatingBody.scrollWidth", "0");
secondSiblingBody = document.createElement('body');
document.documentElement.appendChild(secondSiblingBody);
debug("");
debug("We add a new body element after the first body element, this should have no impact on the state.");
shouldBe("document.body.scrollWidth", "document.documentElement.scrollWidth");
shouldBe("secondSiblingBody.scrollWidth", "secondSiblingBody.clientWidth");
shouldNotBe("document.body.scrollWidth", "secondSiblingBody.scrollWidth");
bodyChildOfMainBody = document.createElement('body');
document.body.appendChild(bodyChildOfMainBody);
debug("");
debug("We add a new body element inside the first body element, this should have no impact on the state.");
shouldBe("document.body.scrollWidth", "document.documentElement.scrollWidth");
shouldBe("bodyChildOfMainBody.scrollWidth", "bodyChildOfMainBody.clientWidth");
shouldNotBe("document.body.scrollWidth", "bodyChildOfMainBody.scrollWidth");
debug("");
debug("Getting the scrollWidth should not require a renderer.");
shouldBe("document.body.style.display = 'none'", "'none'");
shouldBe("document.body.scrollWidth", "document.documentElement.scrollWidth");
// Finally, let's clear the state to make this simpler for manual testing.
document.body.style.display = "block";
window.scrollTo(0, 0);
finishJSTest();
}
</script>
</head>
<body onload="runTest()">
<div></div>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>