| <!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). |
| script.onload = t.step_func_done(function(){}) |
| addEventListener("error",function(e) { |
| t.step(function() { |
| assert_unreached("Empty body of a CORS-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> |