| Index: third_party/WebKit/LayoutTests/fast/dom/body-quirk-client-size.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/body-quirk-client-size.html b/third_party/WebKit/LayoutTests/fast/dom/body-quirk-client-size.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3b990145806ee1a08eeb8a8ff0a3eafdd82dcf48
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/dom/body-quirk-client-size.html
|
| @@ -0,0 +1,53 @@
|
| +<!-- 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);
|
| +
|
| + 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)
|
| + }
|
| +
|
| + var originalOverlayScrollbars = internals.runtimeFlags.overlayScrollbarsEnabled;
|
| +
|
| + internals.settings.setOverlayScrollbarsEnabled(true);
|
| +
|
| + runClientSizeTest("wide", false, false, 1);
|
| + runClientSizeTest("tall", false, false, 1);
|
| +
|
| + internals.settings.setOverlayScrollbarsEnabled(false);
|
| +
|
| + runClientSizeTest("wide", false, true, 0);
|
| + runClientSizeTest("tall", true, false, 0);
|
| +
|
| + internals.settings.setOverlayScrollbarsEnabled(originalOverlayScrollbars);
|
| +</script>
|
|
|