26 lines
948 B
HTML
26 lines
948 B
HTML
<!DOCTYPE html>
|
|
<meta charset=utf-8>
|
|
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="early-hints-helpers.sub.js"></script>
|
|
<body>
|
|
<script>
|
|
const SEARCH_PARAMS = new URLSearchParams(window.location.search);
|
|
const POLICY = SEARCH_PARAMS.get("early-hints-policy");
|
|
|
|
promise_test(async (t) => {
|
|
const resource_url = SEARCH_PARAMS.get("resource-url");
|
|
|
|
// Resume the delayed preload.
|
|
const resume_url = SEARCH_PARAMS.get("resume-url");
|
|
await fetch(resume_url);
|
|
|
|
// Wait for the preload to finish.
|
|
await new Promise(resolve => t.step_timeout(resolve, 300));
|
|
|
|
// The preload should be denied by CSP.
|
|
await promise_rejects_js(t, Error, fetchScript(resource_url));
|
|
}, `Early hints preload CSP = ${POLICY}, document disallowed the preload later.`);
|
|
</script>
|
|
</body>
|