summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/corb/script-html-correctly-labeled.tentative.sub.html
diff options
context:
space:
mode:
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.html32
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>