| <!doctype html> |
| <title>pointer updates (removing source element after pointer)</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=a++ |
| ><source onerror=b++ src='resources/delayed-broken-video.py' |
| ><source onerror=x1++ |
| ><source onerror=x2++ |
| ><source onerror=x3++ |
| ><source onerror=x4++ |
| ><source onerror=c++ |
| ></video |
| > |
| <script> |
| var v; |
| var t = async_test(function(t) { |
| v = document.querySelector('video'); |
| v.removeChild(document.querySelector('[onerror="x1++"]')); |
| 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, 0, 'error events on x1'); |
| assert_equals(x2, 0, 'error events on x2'); |
| assert_equals(x3, 0, 'error events on x3'); |
| assert_equals(x4, 0, 'error events on x4'); |
| t.done(); |
| }); |
| }); |
| </script> |
| <script> |
| t.step(function() { |
| v.removeChild(document.querySelector('[onerror="x2++"]')); |
| }); |
| </script> |
| <script> |
| t.step(function() { |
| v.removeChild(document.querySelector('[onerror="x3++"]')); |
| }); |
| </script> |
| <script> |
| t.step(function() { |
| v.removeChild(document.querySelector('[onerror="x4++"]')); |
| }); |
| </script> |