OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <html> | |
3 <head> | |
4 <script src="../../../resources/testharness.js"></script> | |
5 <script src="../../../resources/testharnessreport.js"></script> | |
6 </head> | |
7 <body> | |
8 <a inert id="a" href="javascript:void(0)">Click me</a> | |
9 <button inert id="button">Click me</button> | |
10 <div inert id="div" style="background-color: blue; width: 50px; height: 50px">Cl
ick meeee</div> | |
11 <span inert id="span">Click me</span> | |
12 <script> | |
13 function clickOn(element) | |
14 { | |
15 return new Promise(function(resolve, reject) { | |
16 if (!window.eventSender) | |
17 reject(); | |
18 | |
19 var absoluteTop = 0; | |
20 var absoluteLeft = 0; | |
21 for (var parentNode = element; parentNode; parentNode = parentNode.offse
tParent) { | |
22 absoluteLeft += parentNode.offsetLeft; | |
23 absoluteTop += parentNode.offsetTop; | |
24 } | |
25 | |
26 var x = absoluteLeft + element.offsetWidth / 2; | |
27 var y = absoluteTop + element.offsetHeight / 2; | |
28 var pointerActions = [{ | |
29 source: "mouse", | |
30 actions: [ | |
31 { name: "pointerMove", x: x, y: y }, | |
32 { name: "pointerDown", x: x, y: x }, | |
33 { name: "pointerUp" }, | |
34 { name: "pointerMove", x: 0, y: 0} | |
35 ] | |
36 }]; | |
37 chrome.gpuBenchmarking.pointerActionSequence(pointerActions, resolve); | |
38 }); | |
39 } | |
40 | |
41 function eventFiredOnInertElement(e) { | |
42 e.target.style.background = 'red'; | |
43 inertElementFiredOn = true; | |
44 } | |
45 | |
46 inertElements = ['a', 'button', 'div', 'span'] | |
47 inertElements.forEach(function(id) { | |
48 element = document.getElementById(id); | |
49 element.addEventListener('click', eventFiredOnInertElement); | |
50 element.addEventListener('mousemove', eventFiredOnInertElement); | |
51 }); | |
52 | |
53 document.addEventListener('click', function(e) { | |
54 document.firedOn = true; | |
55 }); | |
56 | |
57 test(function() { | |
58 inertElements.forEach(function(id) { | |
59 expectedTarget = document; | |
60 element = document.getElementById(id); | |
61 inertElementFiredOn = false; | |
62 expectedTarget.firedOn = false; | |
63 clickOn(element).then(() => { | |
64 assert_false(inertElementFiredOn, 'no event should be fired on ' + i
d); | |
65 assert_true(expectedTarget.firedOn, 'event should be fired on docume
nt instead of ' + id); | |
66 }); | |
67 }); | |
68 }, 'Tests that inert inlines do not receive mouse events. ' + | |
69 'To test manually, click on all the "Click me"s. The test ' + | |
70 'fails if you see red.'); | |
71 | |
72 </script> | |
73 </body> | |
74 </html> | |
OLD | NEW |