| <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| |
| <defs> |
| <svg id="green-svg" width="100" height="100"> |
| <defs> |
| <rect id="green-rect" fill="green" width="100" height="100"/> |
| </defs> |
| <use id="use-green-rect" xlink:href="#green-rect"/> |
| </svg> |
| </defs> |
| |
| <use id="use-green-svg" x="10" y="10" xlink:href="#green-svg"/> |
| <text>Pass.</text> |
| |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var onAlert = function() { |
| alert("test"); |
| } |
| |
| // This removeEventListener() has to be called before the onload fires. Before |
| // onload fires, the shadow tree of the SVGUseElement is not built. So this |
| // call should affect the original element only. Once the shadow tree is built, |
| // the SVGUseElement calls updateShadowTree() and this is where we want to make |
| // sure the eventListeners of all the cloned elements in the shadow tree are |
| // updated correctly and the disallowed cloned elements and their descendants |
| // are disconnected from their corresponding elements. |
| document.getElementById("green-rect").addEventListener("click", onAlert); |
| |
| window.addEventListener("load", function () { |
| document.getElementById("green-rect").removeEventListener("click", onAlert); |
| }, false); |
| </script> |
| |
| </svg> |