OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <style> | 4 <style> |
5 dialog { | 5 dialog { |
6 width: 50px; | 6 width: 50px; |
7 } | 7 } |
8 </style> | 8 </style> |
9 <script src="../../../resources/js-test.js"></script> | 9 <script src="../../../resources/js-test.js"></script> |
10 </head> | 10 </head> |
11 <body> | 11 <body> |
12 <a id="a" href="javascript:void(0)">Click me</a> | 12 <a inert id="a" href="javascript:void(0)">Click me</a> |
13 <button id="button">Click me</button> | 13 <button inert id="button">Click me</button> |
14 <div id="div" style="background-color: blue; width: 50px; height: 50px">Click me
eee</div> | 14 <div inert id="div" style="background-color: blue; width: 50px; height: 50px">Cl
ick meeee</div> |
15 <span id="span">Click me</span> | 15 <span inert id="span">Click me</span> |
16 <div id="dialog-parent" style="width: 50px; height: 50px"> | |
17 <span id="dialog-sibling">Click meeee</span> | |
18 <dialog></dialog> | |
19 </div> | |
20 <script> | 16 <script> |
21 function clickOn(element) | 17 function clickOn(element) |
22 { | 18 { |
23 if (!window.eventSender) | 19 if (!window.eventSender) |
24 return; | 20 return; |
25 | 21 |
26 var absoluteTop = 0; | 22 var absoluteTop = 0; |
27 var absoluteLeft = 0; | 23 var absoluteLeft = 0; |
28 for (var parentNode = element; parentNode; parentNode = parentNode.offsetPar
ent) { | 24 for (var parentNode = element; parentNode; parentNode = parentNode.offsetPar
ent) { |
29 absoluteLeft += parentNode.offsetLeft; | 25 absoluteLeft += parentNode.offsetLeft; |
(...skipping 20 matching lines...) Expand all Loading... |
50 inertElements.forEach(function(id) { | 46 inertElements.forEach(function(id) { |
51 element = document.getElementById(id); | 47 element = document.getElementById(id); |
52 element.addEventListener('click', eventFiredOnInertElement); | 48 element.addEventListener('click', eventFiredOnInertElement); |
53 element.addEventListener('mousemove', eventFiredOnInertElement); | 49 element.addEventListener('mousemove', eventFiredOnInertElement); |
54 }); | 50 }); |
55 | 51 |
56 document.addEventListener('click', function(e) { | 52 document.addEventListener('click', function(e) { |
57 document.firedOn = true; | 53 document.firedOn = true; |
58 }); | 54 }); |
59 | 55 |
60 document.getElementById('dialog-parent').addEventListener('click', function(e) { | |
61 e.target.firedOn = true; | |
62 }); | |
63 | |
64 document.querySelector('dialog').showModal(); | |
65 inertElements.forEach(function(id) { | 56 inertElements.forEach(function(id) { |
66 expectedTarget = document; | 57 expectedTarget = document; |
67 if (id == 'dialog-sibling') | |
68 expectedTarget = document.getElementById('dialog-parent') | |
69 element = document.getElementById(id); | 58 element = document.getElementById(id); |
70 inertElementFiredOn = false; | 59 inertElementFiredOn = false; |
71 expectedTarget.firedOn = false; | 60 expectedTarget.firedOn = false; |
72 debug('clicking on ' + id); | 61 debug('clicking on ' + id); |
73 clickOn(element); | 62 clickOn(element); |
74 shouldBeFalse('inertElementFiredOn'); | 63 shouldBeFalse('inertElementFiredOn'); |
75 shouldBeTrue('expectedTarget.firedOn'); | 64 shouldBeTrue('expectedTarget.firedOn'); |
76 }); | 65 }); |
77 </script> | 66 </script> |
78 </body> | 67 </body> |
79 </html> | 68 </html> |
OLD | NEW |