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