summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/corb/style-css-with-json-parser-breaker.sub.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fetch/corb/style-css-with-json-parser-breaker.sub.html')
-rw-r--r--testing/web-platform/tests/fetch/corb/style-css-with-json-parser-breaker.sub.html38
1 files changed, 38 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fetch/corb/style-css-with-json-parser-breaker.sub.html b/testing/web-platform/tests/fetch/corb/style-css-with-json-parser-breaker.sub.html
new file mode 100644
index 0000000000..29ed586a4f
--- /dev/null
+++ b/testing/web-platform/tests/fetch/corb/style-css-with-json-parser-breaker.sub.html
@@ -0,0 +1,38 @@
+<!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">
+<title>CORB doesn't block a stylesheet that has a proper Content-Type and begins with a JSON parser breaker</title>
+<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>
+test(() => {
+ // 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);
+});
+</script>