chromium/third_party/blink/web_tests/fast/events/scroll-div-with-prevent-default-in-subframe.html

<html><body onload="scroll()">
<script>
function scroll() {
    if (window.eventSender) {
        var scrollbar = document.getElementById("subframe").contentDocument.getElementById('scrollable');

        var startX = scrollbar.offsetLeft + scrollbar.offsetWidth - 5;
        var startY = scrollbar.offsetTop + 200;

        eventSender.mouseMoveTo(startX, startY - 100);
        eventSender.mouseDown();
        eventSender.mouseMoveTo(startX, startY);
        eventSender.mouseUp();

        eventSender.mouseDown();
        eventSender.mouseMoveTo(startX, startY + 200);
        eventSender.mouseMoveTo(startX + 200, startY + 200);
        eventSender.mouseUp();
        var scrollAfterMoveToMainFrame = scrollbar.scrollTop;

        eventSender.mouseMoveTo(startX - 100, startY - 100);
        var scrollAfterReturnToSubframe = scrollbar.scrollTop;
        var result = scrollAfterMoveToMainFrame == scrollAfterReturnToSubframe ? "PASS"
            : "FAIL: scrollAfterMoveToMainFrame = " + scrollAfterMoveToMainFrame + ", scrollAfterReturnToSubframe = " + scrollAfterReturnToSubframe;
        document.getElementById("console").appendChild(document.createTextNode(result));
        testRunner.notifyDone();
    }
}

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
</script>
<div id="console"></div>
<iframe id="subframe" width="500px" height="350" scrolling="no" marginwidth="0" marginheight="0" src="resources/subframe-with-scrollable-div.html"></iframe>
<br>This test does the following via EventSender:<br>
1. Click and drag the div scrollbar to a middle point.<br>
2. Click and drag again, this time down and to right, with the mouseup occurring in a parent frame.<br>
3. Move the mouse back into the div with the scrollbar.<br>
Per https://bugs.webkit.org/show_bug.cgi?id=73097, because the div with the scrollbar had a mousedown event that called preventDefault(),
the mouse moves would not properly be handled by the scrollbar. We pass if the div's scrollTop property is the same after all 3 steps.
</body></html>