OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <style type="text/css"> | 3 <style type="text/css"> |
4 #draggable { | |
5 padding: 5pt; | |
6 border: 3px solid #00cc00; | |
7 background: #00cccc; | |
8 width: 80px; | |
9 cursor: hand; | |
10 } | |
11 | |
12 #scrollable { | 4 #scrollable { |
13 height: 200px; | 5 height: 200px; |
14 overflow: auto; | 6 overflow: auto; |
15 border: solid 3px #cc0000; | 7 border: solid 3px #cc0000; |
16 font-size: 80px; | 8 font-size: 80px; |
17 } | 9 } |
18 </style> | 10 </style> |
| 11 <script src="../js/resources/js-test-pre.js"></script> |
| 12 <script src="./resources/panScroll.js"></script> |
19 <script> | 13 <script> |
20 function $(id) { return document.getElementById(id); } | 14 function start() |
21 var MIDDLE_BUTTON = 1; | |
22 var PAN_SCROLL_RADIUS = 15; // from WebCore/platform/ScrollView.h | |
23 | |
24 function finishTest() { | |
25 $('container').innerHTML = ''; | |
26 window.testRunner.notifyDone(); | |
27 } | |
28 | |
29 function testIt() { | |
30 var scrollable = $('scrollable'); | |
31 | |
32 if (!window.eventSender) | |
33 return; | |
34 | |
35 // Start pan scroll by click | |
36 eventSender.mouseMoveTo(scrollable.offsetLeft + 5, scrollable.offsetTop + 5)
; | |
37 eventSender.mouseDown(MIDDLE_BUTTON); | |
38 eventSender.mouseUp(MIDDLE_BUTTON); | |
39 eventSender.mouseMoveTo(scrollable.offsetLeft + 5, scrollable.offsetTop + PA
N_SCROLL_RADIUS + 6); | |
40 | |
41 var retryCount = 0; | |
42 var lastScrollTop = 0; | |
43 | |
44 function checkScrolled() | |
45 { | |
46 if (scrollable.scrollTop > 0) { | |
47 testPassed('scrollable.scrollTop > 0'); | |
48 // Stop spring loaded pan scroll | |
49 eventSender.mouseDown(MIDDLE_BUTTON); | |
50 eventSender.mouseUp(MIDDLE_BUTTON); | |
51 retryCount = 0; | |
52 window.setTimeout(checkStopped, 50); | |
53 return; | |
54 } | |
55 | |
56 ++retryCount; | |
57 if (retryCount > 10) { | |
58 testFailed('No autoscroll'); | |
59 finishTest(); | |
60 return; | |
61 } | |
62 | |
63 // Autoscroll is occurred evey 0.05 sec. | |
64 window.setTimeout(checkScrolled, 50); | |
65 } | |
66 | |
67 function checkStopped() | |
68 { | |
69 if (lastScrollTop == scrollable.scrollTop) { | |
70 testPassed('autoscroll stopped'); | |
71 finishTest(); | |
72 return; | |
73 } | |
74 | |
75 ++retryCount; | |
76 if (retryCount > 10) { | |
77 testFailed('still autoscroll'); | |
78 finishTest(); | |
79 return; | |
80 } | |
81 | |
82 lastScrollTop = scrollable.scrollTop; | |
83 window.setTimeout(checkStopped, 50); | |
84 } | |
85 | |
86 checkScrolled(); | |
87 } | |
88 | |
89 function setUpTest() | |
90 { | 15 { |
91 var scrollable = $('scrollable'); | 16 description('Check pan scroll by click mouse'); |
92 for (var i = 0; i < 100; ++i) { | 17 testPanScroll({ |
93 var line = document.createElement('div'); | 18 'clickOrDrag': 'click', |
94 line.innerHTML = "line " + i; | 19 'scrollable': $('scrollable'), |
95 scrollable.appendChild(line); | 20 }); |
96 } | |
97 | |
98 if (!window.eventSender) { | |
99 console.log('Please run within DumpRenderTree'); | |
100 return; | |
101 } | |
102 | |
103 window.jsTestIsAsync = true; | |
104 window.setTimeout(testIt, 0); | |
105 } | 21 } |
106 </script> | 22 </script> |
107 </head> | 23 </head> |
108 <body> | 24 <body onload="start()"> |
| 25 <div id="container"> |
| 26 <p id="description"></p> |
109 For manual testing, hold middle button in scrollable and move aroudn mouse point
er for scrolling, then release middle button to stop scrolling. | 27 For manual testing, hold middle button in scrollable and move aroudn mouse point
er for scrolling, then release middle button to stop scrolling. |
110 <div id="container"> | 28 <div id="scrollable"></div> |
111 Scrollable | |
112 <div id="scrollable"> | |
113 </div> | |
114 </div> | 29 </div> |
115 <div id="console"></div> | 30 <div id="console"></div> |
116 <script src="../js/resources/js-test-pre.js"></script> | |
117 <script> | |
118 description('Check pan scroll by click mouse'); | |
119 setUpTest(); | |
120 </script> | |
121 <script src="../js/resources/js-test-post.js"></script> | 31 <script src="../js/resources/js-test-post.js"></script> |
122 </body> | 32 </body> |
123 </html> | 33 </html> |
OLD | NEW |