<!DOCTYPE html>
<!-- Test verifies that CORB won't block a stylesheet that
     1) is correctly labeled with text/css Content-Type and parsing fine as text/css
     2) starts with a JSON parser breaker (like )]}')
-->
<meta charset="utf-8">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>

<!-- Default style that will be applied if the external stylesheet resource
  below won't load for any reason.  This stylesheet will set h1's
  color to green (see |default_color| below). -->
<style>
h1 { color: green; }
</style>

<!-- This stylesheet (if loaded) should set h1#header's color to red
    (see |external_color| below). -->
<!-- www1 is cross-origin, so the HTTP response is CORB-eligible -->
<link rel="stylesheet" type="text/css"
      href="http://{{domains[www1]}}:{{ports[http][0]}}/fetch/corb/resources/css-with-json-parser-breaker.css">

<body>
  <h1 id="header">Header example</h1>
  <p>Paragraph body</p>
</body>

<script>
// Verify that CSS got applied / did not get blocked by CORB.
let style = getComputedStyle(document.getElementById('header'));
const external_color = 'rgb(255, 0, 0)';  // red
const default_color = 'rgb(0, 128, 0)';  // green
assert_equals(style.getPropertyValue('color'), external_color);
assert_not_equals(style.getPropertyValue('color'), default_color);
done();
</script>
