53 lines
1.5 KiB
HTML
53 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/common/utils.js"></script>
|
|
<script src="/preload/resources/preload_helper.js"></script>
|
|
<body>
|
|
<script>
|
|
|
|
async_test(t => {
|
|
const id = token();
|
|
const pageUrl =
|
|
'/common/blank.html?pipe=' +
|
|
'|header(content-security-policy, script-src \'nonce-abc\')' +
|
|
`|header(link, <${encodedStashPutUrl(id)}>;rel=preload;as=script)`;
|
|
|
|
const w = window.open(pageUrl);
|
|
t.add_cleanup(() => w.close());
|
|
|
|
step_timeout(async () => {
|
|
try {
|
|
const arrived = await hasArrivedAtServer(id);
|
|
assert_false(arrived, 'The preload should be blocked.');
|
|
t.done();
|
|
} catch (e) {
|
|
t.step(() => {throw e;});
|
|
}
|
|
}, 3000);
|
|
}, 'without nonce');
|
|
|
|
async_test(t => {
|
|
const id = token();
|
|
const pageUrl =
|
|
'/common/blank.html?pipe=' +
|
|
'|header(content-security-policy, script-src \'nonce-az\')' +
|
|
`|header(link, <${encodedStashPutUrl(id)}>;rel=preload;as=script;nonce=az)`;
|
|
const w = window.open(pageUrl);
|
|
t.add_cleanup(() => w.close());
|
|
|
|
// TODO: Use step_wait after
|
|
// https://github.com/web-platform-tests/wpt/pull/34289 is merged.
|
|
step_timeout(async () => {
|
|
try {
|
|
const arrived = await hasArrivedAtServer(id);
|
|
assert_true(arrived, 'The preload should have arrived at the server.');
|
|
t.done();
|
|
} catch (e) {
|
|
t.step(() => {throw e;});
|
|
}
|
|
}, 3000);
|
|
}, 'with nonce');
|
|
|
|
</script>
|
|
</body>
|