OLD | NEW |
| (Empty) |
1 <!DOCTYPE HTML> | |
2 <script src="../../../../../resources/js-test.js"></script> | |
3 <style> | |
4 div.box { | |
5 margin: 10px; | |
6 padding: 50px; | |
7 float: left; | |
8 } | |
9 </style> | |
10 | |
11 <div id="target" class="box" style="background-color:green;"> | |
12 </div> | |
13 | |
14 <div id="console"></div> | |
15 | |
16 <script> | |
17 description("Verifies the effect of pointer event prevent-default on pointerdown
& mouse/pen events."); | |
18 | |
19 var mouseEventList = ["mousedown", "mouseup", "mouseenter", "mouseleave", "mouse
over", "mouseout", "mousemove"]; | |
20 var pointerEventList = ["pointerdown", "pointerup", "pointerenter", "pointerleav
e", "pointerover", "pointerout", "pointermove"]; | |
21 | |
22 var eventPointerTypeToPreventDefault = ""; | |
23 var eventIsPrimaryToPreventDefault = false; | |
24 var seqNo = 0; | |
25 | |
26 var rect = document.getElementById("target").getBoundingClientRect(); | |
27 var x1 = rect.left - 3; | |
28 var y1 = rect.top - 5; | |
29 var x2 = rect.left + 3; | |
30 var y2 = rect.top + 5; | |
31 | |
32 function init() { | |
33 var targetDiv = document.getElementById("target"); | |
34 | |
35 mouseEventList.forEach(function(eventName) { | |
36 targetDiv.addEventListener(eventName, function(event) { | |
37 debug(++seqNo + ". target received " + event.type); | |
38 }); | |
39 }); | |
40 | |
41 pointerEventList.forEach(function(eventName) { | |
42 targetDiv.addEventListener(eventName, function(event) { | |
43 var preventDefaultMsg = ""; | |
44 if (event.type == "pointerdown" | |
45 && event.pointerType == eventPointerTypeToPreventDefault | |
46 && event.isPrimary == eventIsPrimaryToPreventDefault) { | |
47 event.preventDefault(); | |
48 preventDefaultMsg = ", prevented default"; | |
49 } | |
50 | |
51 debug(++seqNo + ". target received " + event.type + ' ' + (event.isPrimar
y? 'primary ':'non-primary ') + event.pointerType + preventDefaultMsg); | |
52 }); | |
53 }); | |
54 } | |
55 | |
56 function testScenario(pointerType, isPrimary) { | |
57 seqNo = 0; | |
58 eventPointerTypeToPreventDefault = pointerType; | |
59 eventIsPrimaryToPreventDefault = isPrimary; | |
60 debug("--- test with preventDefault on " + (isPrimary? "primary ":"non-primary
") + pointerType + " ---"); | |
61 | |
62 debug("- start with mouse, primary pen and non-primary pen outside target -"); | |
63 eventSender.mouseMoveTo(x1, y1); | |
64 eventSender.mouseMoveTo(x1, y1, [], "pen", 0); | |
65 eventSender.mouseMoveTo(x1, y1, [], "pen", 1); | |
66 eventSender.mouseDown(0); | |
67 eventSender.mouseUp(0); | |
68 | |
69 | |
70 debug("- move mouse into target & press -"); | |
71 eventSender.mouseMoveTo(x2, y2); | |
72 eventSender.mouseDown(1); | |
73 | |
74 debug("- move primary pen into target & press -"); | |
75 eventSender.mouseMoveTo(x2+1, y2+1, [], "pen", 0); | |
76 eventSender.mouseDown(1, [], "pen", 0); | |
77 | |
78 debug("- move non-primary pen into target & press -"); | |
79 eventSender.mouseMoveTo(x2+2, y2+2, [], "pen", 1); | |
80 eventSender.mouseDown(1, [], "pen", 1); | |
81 | |
82 debug("- jiggle mouse in target -"); | |
83 eventSender.mouseMoveTo(x2+3, y2+3); | |
84 | |
85 debug("- jiggle non-primary pen in target -"); | |
86 eventSender.mouseMoveTo(x2+5, y2+5, [], "pen", 1); | |
87 | |
88 debug("- jiggle primary pen in target -"); | |
89 eventSender.mouseMoveTo(x2+4, y2+4, [], "pen", 0); | |
90 | |
91 debug("- release mouse -"); | |
92 eventSender.mouseUp(1); | |
93 | |
94 debug("- release non-primary pen -"); | |
95 eventSender.mouseUp(1, [], "pen", 1); | |
96 | |
97 debug("- release primary pen -"); | |
98 eventSender.mouseUp(1, [], "pen", 0); | |
99 | |
100 debug(""); | |
101 } | |
102 | |
103 function runTests() { | |
104 | |
105 testScenario("none", false); | |
106 testScenario("mouse", true); | |
107 testScenario("pen", true); | |
108 testScenario("pen", false); | |
109 | |
110 } | |
111 | |
112 init(); | |
113 if (window.eventSender) | |
114 runTests(); | |
115 else | |
116 debug("This test requires eventSender"); | |
117 | |
118 </script> | |
OLD | NEW |