| <!DOCTYPE html> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script> |
| var events = []; |
| function logLoadEvent(event) { |
| events.push(event.target.id); |
| } |
| function reparentAndLogLoadEvent(event) { |
| logLoadEvent(event); |
| var element = event.target; |
| var newParent = element.parentNode.previousSibling.previousSibling; |
| newParent.appendChild(element); |
| } |
| |
| var t = async_test("'load' event fires on parent of element reparented in onload handler."); |
| |
| window.onload = function() { |
| t.step(function() { |
| assert_equals(events.length, 4); |
| assert_equals(events[0], "inner1"); |
| assert_equals(events[1], "image"); |
| assert_equals(events[2], "inner2"); |
| assert_equals(events[3], "outer"); |
| }, 'Verify order and presence of events'); |
| t.done(); |
| }; |
| </script> |
| <svg id="outer" onload="logLoadEvent(evt)"> |
| <svg id="inner1" onload="logLoadEvent(evt)"></svg> |
| <svg id="inner2" onload="logLoadEvent(evt)"> |
| <image id="image" onload="reparentAndLogLoadEvent(evt)" |
| xlink:href="resources/red-checker.png" width="10" height="10"/> |
| </svg> |
| </svg> |