blob: 036111979ed79231cd7a220f6ed2a67c24dac27a [file] [log] [blame]
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script>
window.jsTestIsAsync = true;
var isMacOSX = navigator.userAgent.indexOf("Mac OS X") >= 0;
var givenScrollTop = 2; // Only one page per event, so this should be interpreted as 1
var givenScrollLeft = 2;
var maxOverlapBetweenPages = 40;
// Window is 800x600. Page scrolls 87.5% of window size.
var expectedScrollTop = 600 * 0.875;
var expectedScrollLeft = 800 * 0.875;
if (isMacOSX) {
// On Mac, there is a max overlap between pages that can affect the page scroll size.
expectedScrollTop = Math.max(expectedScrollTop, 600 - maxOverlapBetweenPages);
expectedScrollLeft = Math.max(expectedScrollLeft, 800 - maxOverlapBetweenPages);
}
var event;
var div;
function runTest()
{
document.body.addEventListener("mousewheel", mousewheelHandler, false);
if (window.eventSender) {
eventSender.mouseMoveTo(100, 110);
eventSender.continuousMouseScrollBy(-window.givenScrollLeft, -window.givenScrollTop, true);
}
shouldBecomeEqual("document.scrollingElement.scrollTop == window.expectedScrollTop && " +
"document.scrollingElement.scrollLeft == window.expectedScrollLeft", "true", finishJSTest)
}
function mousewheelHandler(e)
{
event = e;
shouldBe("event.wheelDeltaY", "window.givenScrollTop * -3");
shouldBe("event.wheelDeltaX", "window.givenScrollLeft * -3");
if (e.wheelDeltaY)
shouldBe("event.wheelDelta", "window.givenScrollTop * -3");
else
shouldBe("event.wheelDelta", "window.givenScrollLeft * -3");
}
</script>
</head>
<body style="margin:0" onload="runTest()">
<div style="height:900px;width:2400px">
<div style="background-color:red;height:900px;width:1200px;position:relative;left:0px;top:0px"></div>
<div style="background-color:green;height:900px;width:1200px;position:relative;left:1200px;top:-900px"></div>
</div>
<div style="height:900px;width:2400px">
<div style="background-color:blue;height:900px;width:1200px;position:relative;left:0px;top:0px"></div>
<div style="background-color:yellow;height:900px;width:1200px;position:relative;left:1200px;top:-900px"></div>
</div>
<div id="console"></div>
</body>
</html>