blob: d4631d9af7e68f54d85fd301c4ccafc40484a907 [file] [log] [blame]
<?php
header("Content-Security-Policy-Report-Only: require-sri-for style; script-src 'self' 'unsafe-inline'");
?>
<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="stylesheet" crossorigin integrity="sha256-48sSy1L+0pGBMr3XQog56zBcXid1hhmpAwenUuKoe5w=" href="/security/contentSecurityPolicy/resources/style-set-red.css">
<script>
async_test(t => {
var watcher = new EventWatcher(t, document, ['securitypolicyviolation']);
watcher
.wait_for('securitypolicyviolation')
.then(t.step_func_done(e => {
assert_equals(e.blockedURI, "http://127.0.0.1:8000/security/contentSecurityPolicy/blue.css");
assert_equals(e.lineNumber, 16);
}));
}, "Stylesheets without integrity generate reports.");
</script>
<link rel="stylesheet" href="/security/contentSecurityPolicy/blue.css">
<script>
async_test(t => {
window.onload = t.step_func_done(_ => {
assert_equals(document.styleSheets.length, 2);
assert_equals(document.styleSheets[0].href, "http://127.0.0.1:8000/security/contentSecurityPolicy/resources/style-set-red.css");
assert_equals(document.styleSheets[1].href, "http://127.0.0.1:8000/security/contentSecurityPolicy/blue.css");
});
}, "Stylesheet with integrity loads, and does not trigger reports.");
</script>