diff options
Diffstat (limited to 'testing/web-platform/tests/preload/dynamic-adding-preload-nonce.html')
-rw-r--r-- | testing/web-platform/tests/preload/dynamic-adding-preload-nonce.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/web-platform/tests/preload/dynamic-adding-preload-nonce.html b/testing/web-platform/tests/preload/dynamic-adding-preload-nonce.html new file mode 100644 index 0000000000..2a5bc1ae85 --- /dev/null +++ b/testing/web-platform/tests/preload/dynamic-adding-preload-nonce.html @@ -0,0 +1,51 @@ +<!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> |