| <!doctype html> |
| <meta charset="utf-8"> |
| <title>Test data URL and scripts errors</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id=log></div> |
| <script> |
| setup({allow_uncaught_exception:true}); |
| async_test(function(t) { |
| var counter = 1 |
| window.onerror = t.step_func((message, url, lineno, colno, e) => { |
| // Test that error is not muted as data URLs have a response type of "default" |
| // and errors should only be muted if the response type is "opaque" or "opaqueredirect" |
| assert_not_equals(message, "Script error.") |
| assert_not_equals(url, null); |
| assert_not_equals(url, ""); |
| assert_equals(typeof lineno, "number"); |
| assert_not_equals(lineno, 0); |
| assert_equals(typeof colno, "number"); |
| assert_not_equals(colno, 0); |
| assert_equals(typeof e, "number") |
| assert_equals(e, counter) |
| if (counter == 3) { |
| t.done() |
| } |
| counter++ |
| }); |
| }); |
| </script> |
| <script src="data:,throw 1"></script> |
| <script src="data:,throw 2" crossorigin></script> |
| <script src="data:,throw 3" crossorigin=use-credentials></script> |