<html>
<body>
    <script src="../../resources/js-test-pre.js"></script>
    <script>
        description("This test ensures that document content width (height) as reported by scrollWidth (scrollHeight) is invariant to changes in page scale factor.");

        var body = document.body;

        // According to CSSOM (http://dev.w3.org/csswg/cssom-view/#dom-element-scrollwidth)
        // the scrollWidth of the body element (in Quirks mode) is defined as
        //    max(document content width, value of innerWidth).
        // In this test, we want to measure the document content width (height),
        // rather than innerWidth (innerHeight), so we make the body element
        // larger than the innerWidth (innerHeight).

        body.style["width"] = window.innerWidth + 100 + "px";
        body.style["height"] = window.innerHeight + 100 + "px";

        var originalScrollWidth = body.scrollWidth;
        var originalScrollHeight = body.scrollHeight;

        var scale = 1.1;
        if (window.internals)
            window.internals.setPageScaleFactor(scale, 0, 0);

        // As we have increased the scale factor, the innerWidth will be less
        // as fewer CSS pixels will be rendered in the same viewport, so
        // body.scrollWidth (scrollHeight) will still be measuring the document
        // content width (height).

        shouldBe("body.scrollWidth", "originalScrollWidth");
        shouldBe("body.scrollHeight", "originalScrollHeight");
    </script>
    <script src="../../resources/js-test-post.js"></script>
</body>
</html>
