blob: bf0e9d54102de36da4c005f8652ae5440cacab2d [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
</head>
<body>
<script>
var t = async_test("A 'frame-ancestors' CSP directive set from a serviceworker response with a value 'none' should block rendering.");
// Register service worker.
var worker = 'support/service-worker.js';
var scope = 'support/service-worker/';
service_worker_unregister_and_register(t, worker, scope)
.then(registration => wait_for_state(t, registration.installing, 'activated'))
.then(() => {
// Load iframe.
var iframe = document.createElement("iframe");
function iframeLoaded(ev) {
var failed = false;
try {
ev.target.contentWindow.location.href;
failed = true;
} catch (ex) {}
t.step_func_done(() => assert_false(failed, "The IFrame should have been blocked. It wasn't."))();
};
iframe.addEventListener("load", iframeLoaded);
iframe.addEventListener("error", iframeLoaded);
iframe.src = "/content-security-policy/frame-ancestors/support/service-worker/frame-ancestors-none.html";
document.body.appendChild(iframe);
});
</script>
</body>
</html>