diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/html/cross-origin-embedder-policy/none-sw-from-none.https.html | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/cross-origin-embedder-policy/none-sw-from-none.https.html')
-rw-r--r-- | testing/web-platform/tests/html/cross-origin-embedder-policy/none-sw-from-none.https.html | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/cross-origin-embedder-policy/none-sw-from-none.https.html b/testing/web-platform/tests/html/cross-origin-embedder-policy/none-sw-from-none.https.html new file mode 100644 index 0000000000..b539561eff --- /dev/null +++ b/testing/web-platform/tests/html/cross-origin-embedder-policy/none-sw-from-none.https.html @@ -0,0 +1,89 @@ +<!doctype html> +<html> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> +<script> +const SCOPE = new URL(location.href).pathname; +const SCRIPT = + 'resources/sw.js?' + + `pipe=header(service-worker-allowed,${SCOPE})`; + +function remote(path) { + const REMOTE_ORIGIN = get_host_info().HTTPS_REMOTE_ORIGIN; + return new URL(path, REMOTE_ORIGIN + '/html/cross-origin-embedder-policy/'); +} + +promise_test(async (t) => { + const reg = await service_worker_unregister_and_register(t, SCRIPT, SCOPE); + add_completion_callback(() => { + reg.unregister(); + }); + await new Promise(resolve => { + navigator.serviceWorker.addEventListener('controllerchange', resolve); + }); +}, 'setting up'); + +promise_test(async (t) => { + await fetch('resources/nothing-same-origin-corp.txt', {mode: 'no-cors'}); +}, 'making a same-origin request for CORP: same-origin'); + +promise_test(async (t) => { + await fetch('/common/blank.html', {mode: 'no-cors'}); +}, 'making a same-origin request for no CORP'); + +promise_test(async (t) => { + await fetch('resources/nothing-cross-origin-corp.txt', {mode: 'no-cors'}); +}, 'making a same-origin request for CORP: cross-origin'); + +promise_test(async (t) => { + await promise_rejects_js( + t, TypeError, + fetch(remote('resources/nothing-same-origin-corp.txt'), {mode: 'no-cors'})); +}, 'making a cross-origin request for CORP: same-origin'); + +promise_test(async (t) => { + await fetch(remote('/common/blank.html'), {mode: 'no-cors'}); +}, 'making a cross-origin request for no CORP'); + +promise_test(async (t) => { + await fetch( + remote('resources/nothing-cross-origin-corp.txt'), + {mode: 'no-cors'}); +}, 'making a cross-origin request for CORP: cross-origin'); + +promise_test(async (t) => { + await promise_rejects_js( + t, TypeError, + fetch(remote('resources/nothing-same-origin-corp.txt?passthrough'), + {mode: 'no-cors'})); +}, 'making a cross-origin request for CORP: same-origin [PASS THROUGH]'); + +promise_test(async (t) => { + await fetch(remote('/common/blank.html?passthrough'), {mode: 'no-cors'}); +}, 'making a cross-origin request for no CORP [PASS THROUGH]'); + +promise_test(async (t) => { + await fetch( + remote('resources/nothing-cross-origin-corp.txt?passthrough'), + {mode: 'no-cors'}); +}, 'making a cross-origin request for CORP: cross-origin [PASS THROUGH]'); + +promise_test(async (t) => { + await promise_rejects_js( + t, TypeError, fetch(remote('/common/blank.html'), {mode: 'cors'})); +}, 'making a cross-origin request with CORS without ACAO'); + +promise_test(async (t) => { + const URL = remote( + '/common/blank.html?pipe=header(access-control-allow-origin,*)'); + await fetch(URL, {mode: 'cors'}); +}, 'making a cross-origin request with CORS'); + +promise_test(async (t) => { + const URL = remote('/fetch/api/resources/preflight.py?allow_headers=hoge'); + await fetch(URL, {mode: 'cors', headers: {'hoge': 'fuga'}}); +}, 'making a cross-origin request with CORS-preflight'); +</script> +</html> |