Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: LayoutTests/fast/events/resources/panScroll.js

Issue 15653007: Introduce panScrollTest() for simplify pan-scroll test scripts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 2013-06-03T12:33 Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « LayoutTests/fast/events/panScroll-nested-divs-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 }
OLDNEW
« no previous file with comments | « LayoutTests/fast/events/panScroll-nested-divs-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698