Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: third_party/WebKit/LayoutTests/svg/custom/use-instanceRoot-event-listener-liveness.xhtml

Issue 2186823002: Do not call an event listener on a cloned node in svg <use>'s UA shadow tree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: skip timeout test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698