Blame dom/base/test/test_script_loader_crossorigin_data_url.html

Packit f0b94e
Packit f0b94e
<meta charset=utf-8>
Packit f0b94e
<title>Test for handling of 'crossorigin' attribute on script with data: URL</title>
Packit f0b94e
<script src="/resources/testharness.js"></script>
Packit f0b94e
<script src="/resources/testharnessreport.js"></script>
Packit f0b94e
Packit f0b94e
<script>
Packit f0b94e
  // We're going to mess with window.onerror.
Packit f0b94e
  setup({ allow_uncaught_exception: true });
Packit f0b94e
</script>
Packit f0b94e
Packit f0b94e
<script>
Packit f0b94e
  var ran = false;
Packit f0b94e
</script>
Packit f0b94e
<script crossorigin src="data:application/javascript,ran = true"></script>
Packit f0b94e
<script>
Packit f0b94e
test(function() {
Packit f0b94e
  assert_true(ran);
Packit f0b94e
}, "script@crossorigin with data: src should have run");
Packit f0b94e
</script>
Packit f0b94e
Packit f0b94e
<script>
Packit f0b94e
var errorFired = false;
Packit f0b94e
ran = false;
Packit f0b94e
window.onerror = function(message, uri, line) {
Packit f0b94e
  errorFired = true;
Packit f0b94e
  test(function() {
Packit f0b94e
    assert_equals(line, 3);
Packit f0b94e
  }, "Should have a useful line number for exception in script@crossorigin with data: src");
Packit f0b94e
}
Packit f0b94e
</script>
Packit f0b94e
<script crossorigin src="data:application/javascript,var%20a;%0aran=true%0anoSuchFunctionHere()"></script>
Packit f0b94e
<script>
Packit f0b94e
  test(function() {
Packit f0b94e
    assert_true(ran, "Script with error should have run");
Packit f0b94e
    assert_true(errorFired, "Script with error should have fired onerror");
Packit f0b94e
  }, "Should run and correctly fire onerror");
Packit f0b94e
</script>