forked from burg/timelapse
/
platform-wheelevent-in-scrolling-div.html
60 lines (51 loc) · 2.25 KB
/
platform-wheelevent-in-scrolling-div.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>
var expectedScrollTop = 5;
var expectedScrollLeft = 3;
var pixelsPerWheelTick = 40;
var event;
var div;
if (window.testRunner)
testRunner.waitUntilDone();
function dispatchWheelEvent()
{
var overflowElement = document.getElementById("overflow");
if (overflowElement)
overflowElement.addEventListener("mousewheel", mousewheelHandler, false);
if (window.eventSender) {
eventSender.mouseMoveTo(100, 110);
eventSender.mouseScrollBy(-window.expectedScrollLeft, -window.expectedScrollTop);
}
setTimeout('checkOffsets();', 100);
}
function checkOffsets()
{
div = document.getElementById("overflow");
shouldBe("div.scrollTop", "window.expectedScrollTop*window.pixelsPerWheelTick");
shouldBe("div.scrollLeft", "window.expectedScrollLeft*window.pixelsPerWheelTick");
if (window.testRunner)
window.testRunner.notifyDone();
}
function mousewheelHandler(e)
{
event = e;
shouldBe("event.wheelDeltaY", "window.expectedScrollTop*-120");
shouldBe("event.wheelDeltaX", "window.expectedScrollLeft*-120");
if (e.wheelDeltaY)
shouldBe("event.wheelDelta", "window.expectedScrollTop*-120");
else
shouldBe("event.wheelDelta", "window.expectedScrollLeft*-120");
}
</script>
</head>
<body style="margin:0" onload="setTimeout('dispatchWheelEvent();', 100)">
<div id="overflow" style="border:2px solid black;overflow:auto;height:200px;width:200px;">
<div style="background-color:red;height:200px;width:400px;"></div>
<div style="background-color:green;height:200px;width:400px;"></div>
<div style="background-color:red;height:200px;width:400px;"></div>
</div>
<div id="console"></div>
</body>
</html>