OLD | NEW |
1 function $(id) { return document.getElementById(id); } | |
2 | |
3 var selection= window.getSelection(); | |
4 | |
5 function testCaretMotion(param) { | |
6 var direction = param.direction; | |
7 var granularity = param.granularity; | |
8 var repeatCount = param.repeatCount || 1; | |
9 var origin = param.origin; | |
10 var originOffset = param.originOffset || 0; | |
11 var target = param.target; | |
12 var targetOffset = param.targetOffset || 0; | |
13 | |
14 if (direction == 'both') { | |
15 testCaretMotion({ | |
16 'direction': 'forward', | |
17 'granularity': granularity, | |
18 'repeatCount': repeatCount, | |
19 'origin': origin, | |
20 'originOffset': originOffset, | |
21 'target': target, | |
22 'targetOffset': targetOffset | |
23 }); | |
24 testCaretMotion({ | |
25 'direction': 'backward', | |
26 'granularity': granularity, | |
27 'repeatCount': repeatCount, | |
28 'origin': target, | |
29 'originOffset': targetOffset, | |
30 'target': origin, | |
31 'targetOffset': originOffset | |
32 }); | |
33 return; | |
34 } | |
35 | |
36 if (typeof origin == 'string') | |
37 origin = $(origin); | |
38 | |
39 if (typeof target == 'string') | |
40 target = $(target); | |
41 | |
42 if (originOffset < 0) | |
43 originOffset = origin.firstChild.length + originOffset + 1; | |
44 | |
45 if (targetOffset < 0) | |
46 targetOffset = target.firstChild.length + targetOffset + 1; | |
47 | |
48 selection.setPosition(origin.firstChild, originOffset); | |
49 debug('Move ' + direction + ' ' + granularity + ' x ' + repeatCount); | |
50 for (var i = 0; i < repeatCount; ++i) | |
51 selection.modify("move", direction, granularity); | |
52 shouldEvaluateTo('selection.anchorNode', target.firstChild); | |
53 shouldEvaluateTo('selection.anchorOffset', targetOffset); | |
54 } | |
55 | |
56 function objectAsString(object, properties) { | 1 function objectAsString(object, properties) { |
57 var result = "["; | 2 var result = "["; |
58 for (var x = 0; x < properties.length; x++) { | 3 for (var x = 0; x < properties.length; x++) { |
59 var property = properties[x]; | 4 var property = properties[x]; |
60 if (x != 0) | 5 if (x != 0) |
61 result += " "; | 6 result += " "; |
62 | 7 |
63 var value = object[property]; | 8 var value = object[property]; |
64 if (value && value.nodeType) // textNode | 9 if (value && value.nodeType) // textNode |
65 value = value + "(" + value.nodeValue + ")"; | 10 value = value + "(" + value.nodeValue + ")"; |
(...skipping 28 matching lines...) Expand all Loading... |
94 } | 39 } |
95 | 40 |
96 function clickAt(x, y) { | 41 function clickAt(x, y) { |
97 if (window.eventSender) { | 42 if (window.eventSender) { |
98 eventSender.mouseMoveTo(x, y); | 43 eventSender.mouseMoveTo(x, y); |
99 eventSender.mouseDown(); | 44 eventSender.mouseDown(); |
100 eventSender.mouseUp(); | 45 eventSender.mouseUp(); |
101 return true; | 46 return true; |
102 } | 47 } |
103 } | 48 } |
OLD | NEW |