OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script src="../../resources/js-test.js"></script> | 3 <script src="../../resources/js-test.js"></script> |
4 <script> | 4 <script> |
| 5 window.jsTestIsAsync = true; |
5 var expectedScrollTop = 5; | 6 var expectedScrollTop = 5; |
6 var expectedScrollLeft = 3; | 7 var expectedScrollLeft = 3; |
7 var pixelsPerWheelTick = 40; | |
8 var event; | 8 var event; |
9 var div; | 9 var div; |
10 | 10 |
11 if (window.testRunner) | 11 function runTest() |
12 testRunner.waitUntilDone(); | |
13 | |
14 function dispatchWheelEvent() | |
15 { | 12 { |
16 var overflowElement = document.getElementById("overflow"); | 13 var overflowElement = document.getElementById("overflow"); |
17 if (overflowElement) | 14 if (overflowElement) |
18 overflowElement.addEventListener("mousewheel", mousewheelHan
dler, false); | 15 overflowElement.addEventListener("mousewheel", mousewheelHan
dler, false); |
19 | 16 |
20 if (window.eventSender) { | 17 if (window.eventSender) { |
21 eventSender.mouseMoveTo(100, 110); | 18 eventSender.mouseMoveTo(100, 110); |
22 eventSender.mouseScrollBy(-window.expectedScrollLeft, -windo
w.expectedScrollTop); | 19 eventSender.mouseScrollBy(-window.expectedScrollLeft, -windo
w.expectedScrollTop); |
23 } | 20 } |
24 | 21 |
25 setTimeout('checkOffsets();', 100); | |
26 } | |
27 | |
28 function checkOffsets() | |
29 { | |
30 div = document.getElementById("overflow"); | 22 div = document.getElementById("overflow"); |
31 shouldBe("div.scrollTop", "window.expectedScrollTop*window.pixel
sPerWheelTick"); | 23 // Note that there are 40 pixels per wheel tick. |
32 shouldBe("div.scrollLeft", "window.expectedScrollLeft*window.pix
elsPerWheelTick"); | 24 shouldBecomeEqual("div.scrollTop == expectedScrollTop*40 && " + |
33 | 25 "div.scrollLeft == expectedScrollLeft*40", "true", finishJST
est); |
34 if (window.testRunner) | |
35 window.testRunner.notifyDone(); | |
36 } | 26 } |
37 | 27 |
38 function mousewheelHandler(e) | 28 function mousewheelHandler(e) |
39 { | 29 { |
40 event = e; | 30 event = e; |
41 shouldBe("event.wheelDeltaY", "window.expectedScrollTop*-120"); | 31 shouldBe("event.wheelDeltaY", "window.expectedScrollTop*-120"); |
42 shouldBe("event.wheelDeltaX", "window.expectedScrollLeft*-120"); | 32 shouldBe("event.wheelDeltaX", "window.expectedScrollLeft*-120"); |
43 | 33 |
44 if (e.wheelDeltaY) | 34 if (e.wheelDeltaY) |
45 shouldBe("event.wheelDelta", "window.expectedScrollTop*-120"
); | 35 shouldBe("event.wheelDelta", "window.expectedScrollTop*-120"
); |
46 else | 36 else |
47 shouldBe("event.wheelDelta", "window.expectedScrollLeft*-120
"); | 37 shouldBe("event.wheelDelta", "window.expectedScrollLeft*-120
"); |
48 } | 38 } |
49 </script> | 39 </script> |
50 </head> | 40 </head> |
51 | 41 |
52 <body style="margin:0" onload="setTimeout('dispatchWheelEvent();', 100)"> | 42 <body style="margin:0" onload="runTest()"> |
53 <div id="overflow" style="border:2px solid black;overflow:auto;height:20
0px;width:200px;"> | 43 <div id="overflow" style="border:2px solid black;overflow:auto;height:20
0px;width:200px;"> |
54 <div style="background-color:red;height:200px;width:400px;"></div> | 44 <div style="background-color:red;height:200px;width:400px;"></div> |
55 <div style="background-color:green;height:200px;width:400px;"></div> | 45 <div style="background-color:green;height:200px;width:400px;"></div> |
56 <div style="background-color:red;height:200px;width:400px;"></div> | 46 <div style="background-color:red;height:200px;width:400px;"></div> |
57 </div> | 47 </div> |
58 <div id="console"></div> | 48 <div id="console"></div> |
59 </body> | 49 </body> |
60 </html> | 50 </html> |
OLD | NEW |