| <!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> |