<style>
::-webkit-scrollbar {
  width: 16px;
}
</style>

<body>
<iframe id="iframe" width="1"></iframe>
<p>This tests to make sure that an iframe with custom scrollbars that is
hidden does not crash the browser when unloaded.  The test passes if it does
not crash.</p>
</body>

<script>
function runTest()
{
    if (document.location.search == "?done") {
        document.body.appendChild(document.createTextNode("PASSED"));
        if (window.layoutTestController)
            layoutTestController.notifyDone();
        return;
    }

    if (window.layoutTestController) {
        layoutTestController.waitUntilDone();
        layoutTestController.dumpAsText();
    }

    setTimeout(function() {
      document.getElementById("iframe").style.display = "none";

      // Unload the page to see if the crash is triggered.
      document.location.href = "?done";
    }, 0);
}

runTest();
</script>
