Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 var AUTOSCROLL_INTERVAL = 50; | |
| 2 var MIDDLE_BUTTON = 1; | |
| 3 var PAN_SCROLL_RADIUS = 15; // from WebCore/platform/ScrollView.h | |
|
jamesr
2013/05/31 18:32:08
js style generally follows blink style andwe don't
| |
| 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(MIDDLE_BUTTON); | |
| 57 eventSender.mouseUp(MIDDLE_BUTTON); | |
| 58 } | |
| 59 }; | |
| 60 | |
| 61 scrollable.ownerDocument.onmouseup = function(e) { | |
| 62 if (!scrolled || e.button != MIDDLE_BUTTON) | |
| 63 return; | |
| 64 noMoreScroll = true; | |
| 65 window.setTimeout(function() { | |
| 66 testPassed('autoscroll stopped'); | |
| 67 finishTest(); | |
| 68 }, AUTOSCROLL_INTERVAL * 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 + PAN_SCROLL_RADIUS + 6; | |
| 77 eventSender.mouseMoveTo(startX, startY); | |
| 78 eventSender.mouseDown(MIDDLE_BUTTON); | |
| 79 if (param.clickOrDrag == 'click') | |
| 80 eventSender.mouseUp(MIDDLE_BUTTON); | |
| 81 eventSender.mouseMoveTo(endX, endY); | |
| 82 } | |
| OLD | NEW |