diff options
Diffstat (limited to 'testing/web-platform/tests/fetch/corb/script-html-correctly-labeled.tentative.sub.html')
-rw-r--r-- | testing/web-platform/tests/fetch/corb/script-html-correctly-labeled.tentative.sub.html | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fetch/corb/script-html-correctly-labeled.tentative.sub.html b/testing/web-platform/tests/fetch/corb/script-html-correctly-labeled.tentative.sub.html new file mode 100644 index 0000000000..6d1947cea7 --- /dev/null +++ b/testing/web-platform/tests/fetch/corb/script-html-correctly-labeled.tentative.sub.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<!-- Test verifies that html fed to a <script> tag won't report a syntax + error after CORB blocks the response (an empty response body injected + by CORB won't have any JavaScript syntax errors). +--> +<meta charset="utf-8"> +<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 script = document.createElement("script") + + // Without CORB, the html document would cause a syntax error when parsed as + // JavaScript, but with CORB there should be no errors (because CORB will + // replace the response body with an empty body). With ORB, the script loading + // itself will error out. + script.onload = t.step_func_done(); + script.onerror = t.step_func_done(); + addEventListener("error",function(e) { + t.step(function() { + assert_unreached("Empty body of a CORB-blocked response shouldn't trigger syntax errors."); + t.done(); + }) + }); + + // www1 is cross-origin, so the HTTP response is CORB-eligible. + script.src = 'http://{{domains[www1]}}:{{ports[http][0]}}/fetch/corb/resources/html-correctly-labeled.html'; + document.body.appendChild(script) +}, "CORB-blocked script has no syntax errors"); +</script> |