| <!doctype html> |
| <title>pointer updates (removing source elements)</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id=log></div> |
| <script> |
| var a = 0; |
| var b = 0; |
| var c = 0; |
| var x1 = 0; |
| var x2 = 0; |
| var x3 = 0; |
| var x4 = 0; |
| </script> |
| <video |
| ><source onerror=x1++ |
| ><source onerror=a++ |
| ><source onerror=x2++ |
| ><source onerror=b++ src='resources/delayed-broken-video.py' |
| ><source onerror=x3++ |
| ><source onerror=c++ |
| ><source onerror=x4++ |
| ></video |
| > |
| <script> |
| async_test(function(t) { |
| var video = document.querySelector('video'); |
| // remove the xn elements |
| [].forEach.call(document.querySelectorAll('[onerror^="x"]'), function(elm) { |
| video.removeChild(elm); |
| }); |
| window.onload = t.step_func(function() { |
| assert_equals(a, 1, 'error events on a'); |
| assert_equals(b, 1, 'error events on b'); |
| assert_equals(c, 1, 'error events on c'); |
| assert_equals(x1, 1, 'error events on x1'); |
| assert_equals(x2, 1, 'error events on x2'); |
| assert_equals(x3, 0, 'error events on x3'); |
| assert_equals(x4, 0, 'error events on x4'); |
| t.done(); |
| }); |
| }); |
| </script> |