<html>
    <head>
        <script>
            function hideDiv() {
                var dv = document.getElementById('dv');
                dv.style.display = "none";
            }
            function test() {
                if (window.testRunner)
                    testRunner.dumpAsText();
                if (window.eventSender) {
                    eventSender.dragMode = false;
                    eventSender.mouseMoveTo(100, 50);
                    eventSender.mouseDown();
                    eventSender.mouseMoveTo(100, 55);
                    eventSender.mouseUp();
                }
            }
        </script>
    </head>
    <body onload="test()">
        This tests that clicking on a scrollbar does not crash, even if there's an event handler that causes the scrollbar to go away during the process.<br>
        <div id="dv" style="overflow: auto; width: 100px; height: 100px;" onmousedown="hideDiv()">
            <div style="height: 200px"></div>
        </div>
    </body>
</html>
