Files
tubestation/testing/web-platform/tests/preload/dynamic-adding-preload-nonce.html
Yutaka Hirano af4d95b119 Bug 1774540 [wpt PR 34462] - Fix up wpt/preload, a=testonly
Automatic update from web-platform-tests
Fix up wpt/preload

 - Some tests in wpt/preload use Resource Timing entries to make sure
   that no requests are made. We're changing that (Resource Timing
   entries should be created even when blocked by CSP - see
   https://github.com/whatwg/fetch/issues/1215). Stop using
   Resource Timing entries and check that with server side scripts.
 - http/tests/preload/preload-csp.html is covered by some WPTs. Let's
   remove it.

Change-Id: I3c2cdfa2459d212657be7569c5290c48b39d6f05
Bug: 1275564
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3708287
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1019490}

--

wpt-commits: ba22f229dfafa51c637aa02957f8b9f330f1cfa3
wpt-pr: 34462
2022-07-05 08:35:56 +00:00

52 lines
1.4 KiB
HTML

<!DOCTYPE html>
<script nonce="abc" src="/resources/testharness.js"></script>
<script nonce="abc" src="/resources/testharnessreport.js"></script>
<script nonce="abc" src="/common/utils.js"></script>
<script nonce="abc" src="/preload/resources/preload_helper.js"></script>
<body>
<script nonce="abc">
promise_test(async (t) => {
verifyPreloadAndRTSupport();
const id = token();
const link = document.createElement("link");
link.as = "script";
link.rel = "preload";
link.href = stashPutUrl(id);
link.nonce = "abc";
const load = new Promise((resolve) => {
link.onload = resolve;
});
link.onerror = t.unreached_func("link.onerror");
document.body.appendChild(link);
await load;
const arrived = await hasArrivedAtServer(id);
assert_true(arrived, "The preload should've arrived at the server.");
}, "link preload with nonce attribute");
promise_test(async (t) => {
verifyPreloadAndRTSupport();
const id = token();
const link = document.createElement("link");
link.as = "script";
link.rel = "preload";
link.href = stashPutUrl(id);
const error = new Promise((resolve) => {
link.onerror = resolve;
});
link.onload = t.unreached_func("link.onload");
document.body.appendChild(link);
await error;
const arrived = await hasArrivedAtServer(id);
assert_false(arrived, "The preload should've arrived at the server.");
}, "link preload without nonce attribute");
</script>
</body>