OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <script src="../../resources/js-test.js"></script> | |
3 <style> | |
4 #target { | |
5 width: 2000px; | |
6 height: 1500px; | |
7 } | |
8 </style> | |
9 <script language="JavaScript" type="text/javascript"> | |
10 if (window.testRunner && window.internals) { | |
11 window.jsTestIsAsync = true; | |
12 testRunner.dumpAsText(); | |
13 testRunner.waitUntilDone(); | |
14 setPrintTestResultsLazily(); | |
15 } | |
16 | |
17 description("This test ensures that scrolling the visual viewport doesn't\ | |
18 trigger an onscroll event."); | |
19 | |
20 function runTest() { | |
21 if (!window.testRunner || !window.internals) { | |
22 testFailed("This test requires test runner and internals") | |
23 finishJSTest(); | |
24 return; | |
25 } | |
26 | |
27 window.internals.setPageScaleFactor(2.0); | |
28 var target = document.getElementById('target'); | |
29 | |
30 var numScrollsReceived = 0; | |
31 var numRAFCalls = 0; | |
32 | |
33 document.onscroll = function() { | |
34 if (numRAFCalls == 0) | |
bokan
2015/10/21 15:23:06
You can remove this too now.
ymalik
2015/10/21 16:29:28
Done.
| |
35 return; | |
36 ++numScrollsReceived; | |
37 debug('OnScroll called for scroll #' + numScrollsReceived); | |
38 } | |
39 | |
40 var failureSentinel = function() { | |
41 if (numRAFCalls == 0) { | |
42 // The first scroll should trigger onscroll because it scrolls | |
43 // the layout viewport. | |
44 eventSender.mouseMoveTo(target.offsetLeft + 5, target.offsetTop + 5); | |
45 eventSender.mouseScrollBy(0, -10); | |
46 } else if (numRAFCalls == 1) { | |
47 if (numScrollsReceived < numRAFCalls) { | |
bokan
2015/10/21 15:23:06
We know there should be exactly one scroll here, I
ymalik
2015/10/21 16:29:27
Done.
| |
48 testFailed("Did not receive scroll event #" + (numScrollsRec eived+1)); | |
49 finishJSTest(); | |
50 return; | |
51 } | |
52 // The second scroll should not trigger onscroll because it only | |
53 // scrolls the visual viewport. | |
54 eventSender.mouseMoveTo(target.offsetLeft + 5, target.offsetTop + 5); | |
55 eventSender.mouseScrollBy(0, 1); | |
56 } else { | |
57 if (numScrollsReceived >= numRAFCalls) { | |
bokan
2015/10/21 15:23:06
Ditto here.
ymalik
2015/10/21 16:29:27
Done.
| |
58 testFailed("Received unexpected scroll event #" + numScrolls Received); | |
59 finishJSTest(); | |
60 return; | |
61 } | |
62 finishJSTest(); | |
63 } | |
64 ++numRAFCalls; | |
65 window.requestAnimationFrame(failureSentinel); | |
66 } | |
67 | |
68 window.requestAnimationFrame(failureSentinel); | |
69 } | |
70 | |
71 onload = runTest; | |
72 </script> | |
73 <div id="target"></div> | |
OLD | NEW |