44 lines
2.0 KiB
HTML
44 lines
2.0 KiB
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>
|