<body>
    <p>
        Test for <i><a href="rdar://problem/7215132">rdar://problem/7215132</a>,
        <a href="https://bugs.webkit.org/show_bug.cgi?id=29167">bug 29167</a>,
        REGRESSION (r48064): mint.com loses scrollbars after coming out of edit mode</i>,
        and <i><a href="rdar://problem/7314421">rdar://problem/7314421</a>,
        <a href="https://bugs.webkit.org/show_bug.cgi?id=30517">bug 30517</a>,
        REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store</i>.
    </p>
    <p>
        This tests that after setting 'overflow' on the document element to
        'hidden' and back to 'visible', scrollbars appear as necessary.
    </p>
    <p id="result">FAIL: Test did not run to completion</p>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        document.documentElement.style.overflow = "hidden";
        document.body.offsetTop;
        document.documentElement.style.removeProperty("overflow");
        document.body.style.height = "200%";
        var result = (innerWidth === document.documentElement.offsetWidth)
            ? "FAIL: Scrollbar did not appear after resetting 'overflow'"
            : "PASS"

        document.getElementById("result").innerText = result;
    </script>
</body>
