OLD | NEW |
(Empty) | |
| 1 var autoscrollInterval = 50; |
| 2 var middleButton = 1; |
| 3 var panScrollRadius = 15; // from WebCore/platform/ScrollView.h |
| 4 |
| 5 window.jsTestIsAsync = true; |
| 6 |
| 7 function $(id) |
| 8 { |
| 9 return document.getElementById(id); |
| 10 } |
| 11 |
| 12 function testPanScroll(param) |
| 13 { |
| 14 function finishTest() |
| 15 { |
| 16 if ($('container')) |
| 17 $('container').innerHTML = ''; |
| 18 if (param.finishTest) |
| 19 param.finishTest(); |
| 20 if (window.finishJSTest) { |
| 21 finishJSTest(); |
| 22 return; |
| 23 } |
| 24 if (window.testRunner) |
| 25 testRunner.notifyDone(); |
| 26 } |
| 27 |
| 28 var scrollable = param.scrollable; |
| 29 var scrolledObject = param.scrolledObject || scrollable; |
| 30 |
| 31 if (!scrollable.innerHTML) { |
| 32 for (var i = 0; i < 100; ++i) { |
| 33 var line = document.createElement('div'); |
| 34 line.innerHTML = "line " + i; |
| 35 scrollable.appendChild(line); |
| 36 } |
| 37 } |
| 38 |
| 39 var noModeScroll = false; |
| 40 var scrolled = false; |
| 41 |
| 42 scrolledObject.onscroll = function() { |
| 43 if (noModeScroll) { |
| 44 testFailed('still autoscroll'); |
| 45 finishTest(); |
| 46 return; |
| 47 } |
| 48 |
| 49 if (scrolled) |
| 50 return; |
| 51 scrolled = true; |
| 52 testPassed('autoscroll started'); |
| 53 |
| 54 if (window.eventSender) { |
| 55 if (param.clickOrDrag == 'click') |
| 56 eventSender.mouseDown(middleButton); |
| 57 eventSender.mouseUp(middleButton); |
| 58 } |
| 59 }; |
| 60 |
| 61 scrollable.ownerDocument.onmouseup = function(e) { |
| 62 if (!scrolled || e.button != middleButton) |
| 63 return; |
| 64 noMoreScroll = true; |
| 65 window.setTimeout(function() { |
| 66 testPassed('autoscroll stopped'); |
| 67 finishTest(); |
| 68 }, autoscrollInterval * 2); |
| 69 }; |
| 70 |
| 71 if (!window.eventSender) |
| 72 return; |
| 73 var startX = param.startX || scrollable.offsetLeft + 5; |
| 74 var startY = param.startY || scrollable.offsetTop + 5; |
| 75 var endX = param.endX || scrollable.offsetLeft + 5; |
| 76 var endY = param.endY || scrollable.offsetTop + panScrollRadius + 6; |
| 77 eventSender.mouseMoveTo(startX, startY); |
| 78 eventSender.mouseDown(middleButton); |
| 79 if (param.clickOrDrag == 'click') |
| 80 eventSender.mouseUp(middleButton); |
| 81 eventSender.mouseMoveTo(endX, endY); |
| 82 } |
OLD | NEW |