<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.testRunner)
            testRunner.notifyDone();
        return;
    }

    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.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>
