| 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 |