<!DOCTYPE html>
<style>
#scrollable {
    width: 100px;
    height: 50px;
    overflow-x: scroll;
}

#scrollable::-webkit-scrollbar {
    background-color: blue;
    height: 50px;
}

#scrollable::-webkit-scrollbar:corner-present {
    background-color: blue;
}

#filler {
    width: 200px;
}
</style>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function removeScrollbars() {
    requestAnimationFrame(function(){
        scrollable.style.overflow = 'visible';
        if (window.eventSender)
            eventSender.mouseUp();
        if (window.testRunner)
            testRunner.notifyDone();
    });
}
</script>
<p>Click the blue rectangle below - PASS if no crash.</p>
<div id="scrollable" onmousedown="removeScrollbars();">
    <div id="filler">&nbsp;</div>
</div>
<script>
if (window.eventSender) {
    eventSender.mouseMoveTo(scrollable.offsetLeft + 1, scrollable.offsetTop + 1);
    eventSender.mouseDown();
}
</script>
