<html>
<head>
<script>
var box1Sum = 0;
var box2Sum = 0;
function test()
{
if (window.testRunner) {
testRunner.dumpAsText();
var d1 = document.getElementById('d1');
var d2 = document.getElementById('d2');
eventSender.dragMode = false;
var left = d1.offsetLeft + 10;
var top = d1.offsetTop + 10;
eventSender.mouseMoveTo(left, top);
eventSender.mouseDown();
left = d2.offsetLeft - 10;
eventSender.mouseMoveTo(left, top);
left += 20;
eventSender.mouseMoveTo(left, top);
eventSender.mouseMoveTo(left++, top);
eventSender.mouseMoveTo(left++, top);
eventSender.mouseMoveTo(left++, top);
eventSender.mouseMoveTo(left++, top);
eventSender.mouseMoveTo(left++, top);
eventSender.mouseMoveTo(left++, top);
eventSender.mouseUp();
// We do not count mouse moves since Mac records a move for the mouseUp event and Windows does not
// See <rdar://problem/5674087> mouseUp events send onmousemove events on Mac but not on Windows.
if ((box1Sum == 2) && (box2Sum > 2))
document.getElementById('console').appendChild(document.createTextNode('Test Succeeded!\n'));
else
document.getElementById('console').appendChild(document.createTextNode('Test Failed!\n'));
}
}
function record(box)
{
if (box == 1)
box1Sum++;
else if (box == 2)
box2Sum++;
}
</script>
</head>
<body onload="test()">
This tests that we continue to get mouse events after dragging past a scrollbar.<br>
<div id="d1" style="height:120px; width:120px; overflow: auto; display: inline-block; background-color: red;" onmousemove="record(1)">Start a drag in this square, and drag past the scrollbar to the green square. Start a drag in this square, and drag past the scrollbar to the green square. </div>
<div id="d2" style="height:120px; width:120px; display: inline-block; background-color: green;" onmousemove="record(2)"></div><br><br>
<pre id="console"></pre>
</body>
</html>