OLD | NEW |
1 <?xml version="1.0" encoding="UTF-8"?> | 1 <?xml version="1.0" encoding="UTF-8"?> |
2 <html xmlns="http://www.w3.org/1999/xhtml"> | 2 <html xmlns="http://www.w3.org/1999/xhtml"> |
3 <head> | 3 <head> |
4 </head> | 4 </head> |
5 <body onload="startTest()"> | 5 <body onload="startTest()"> |
6 | 6 |
7 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin
k" width="100px" height="100px"> | 7 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin
k" width="100px" height="100px"> |
8 <defs> | 8 <defs> |
9 <rect id="target" fill="green" width="100" height="100"/> | 9 <rect id="target" fill="green" width="100" height="100"/> |
10 </defs> | 10 </defs> |
11 <use id="test" xlink:href="#target"/> | 11 <use id="test" xlink:href="#target"/> |
12 </svg> | 12 </svg> |
13 | 13 |
14 <div id="console">Test failed</div> | 14 <div id="console">Test failed</div> |
15 | 15 |
16 <script> | 16 <script> |
17 if (window.testRunner) { | 17 if (window.testRunner) { |
18 testRunner.dumpAsText(); | 18 testRunner.dumpAsText(); |
19 testRunner.waitUntilDone(); | 19 testRunner.waitUntilDone(); |
20 } | 20 } |
21 | 21 |
22 function eventHandler() | 22 function eventHandler(event) |
23 { | 23 { |
24 var divElement = document.getElementById("console"); | 24 var divElement = document.getElementById("console"); |
25 divElement.textContent = "Test passed"; | 25 if (event.target == document.getElementById("test")) |
| 26 divElement.textContent = "Test passed"; |
26 | 27 |
27 if (window.testRunner) | 28 if (window.testRunner) |
28 testRunner.notifyDone(); | 29 testRunner.notifyDone(); |
29 } | 30 } |
30 | 31 |
31 function fireSimulatedMouseClickEvent(eventTarget) | 32 function fireSimulatedMouseClickEvent(eventTarget) |
32 { | 33 { |
33 var event = document.createEvent("MouseEvents"); | 34 var event = new MouseEvent("click", { composed: true, bubbles: true }); |
34 event.initMouseEvent("click", true, true, document.defaultView, 1, 0, 0, 0,
0, false, false, false, false, 0, null); | |
35 eventTarget.dispatchEvent(event); | 35 eventTarget.dispatchEvent(event); |
36 } | 36 } |
37 | 37 |
38 function startTest() { | 38 function startTest() { |
39 var useElement = document.getElementById("test"); | 39 var useElement = document.getElementById("test"); |
40 | 40 |
41 var shadowRoot = internals.shadowRoot(useElement); | 41 var shadowRoot = internals.shadowRoot(useElement); |
42 | 42 |
43 // No-op, as no listener is not yet registered | 43 // No-op, as no listener is not yet registered |
44 fireSimulatedMouseClickEvent(shadowRoot.firstChild); | 44 fireSimulatedMouseClickEvent(shadowRoot.firstChild); |
45 | 45 |
46 // Add listener | 46 // Add listeners |
47 shadowRoot.firstChild.addEventListener("click", eventHandler, false); | 47 shadowRoot.firstChild.addEventListener("click", eventHandler, false); |
| 48 useElement.addEventListener("click", eventHandler, false); |
48 | 49 |
49 // Should fire immediately and finish the test | 50 // Should fire immediately and finish the test |
50 fireSimulatedMouseClickEvent(shadowRoot.firstChild); | 51 fireSimulatedMouseClickEvent(shadowRoot.firstChild); |
51 } | 52 } |
52 </script> | 53 </script> |
53 | 54 |
54 </body> | 55 </body> |
55 </html> | 56 </html> |
OLD | NEW |