1 var autoscrollInterval = 50;
3 var panScrollRadius = 15; // from FrameView::noPanScrollRadius
5 window.jsTestIsAsync = true;
9 return document.getElementById(id);
12 function testPanScroll(param)
17 $('container').innerHTML = '';
20 if (window.finishJSTest) {
24 if (window.testRunner)
25 testRunner.notifyDone();
28 var scrollable = param.scrollable;
29 var scrolledObject = param.scrolledObject || scrollable;
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);
39 var noModeScroll = false;
42 scrolledObject.onscroll = function() {
44 testFailed('still autoscroll');
52 testPassed('autoscroll started');
54 if (window.eventSender) {
55 if (param.clickOrDrag == 'click')
56 eventSender.mouseDown(middleButton);
57 eventSender.mouseUp(middleButton);
61 scrollable.ownerDocument.onmouseup = function(e) {
62 if (!scrolled || e.button != middleButton)
65 window.setTimeout(function() {
66 testPassed('autoscroll stopped');
68 }, autoscrollInterval * 2);
71 if (!window.eventSender)
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);