diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /testing/web-platform/tests/workers/same-origin-check.sub.html | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/workers/same-origin-check.sub.html')
-rw-r--r-- | testing/web-platform/tests/workers/same-origin-check.sub.html | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/testing/web-platform/tests/workers/same-origin-check.sub.html b/testing/web-platform/tests/workers/same-origin-check.sub.html new file mode 100644 index 0000000000..7af021b8db --- /dev/null +++ b/testing/web-platform/tests/workers/same-origin-check.sub.html @@ -0,0 +1,56 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +const sameOrigin = 'http://{{host}}:{{ports[http][0]}}'; +const crossOrigin = 'http://{{host}}:{{ports[http][1]}}'; +const workerPath = '/workers/support/post-message-on-load-worker.js?pipe=header(Access-Control-Allow-Origin,*)'; +const redirectPath = '/service-workers/service-worker/resources/redirect.py?ACAOrigin=*&Redirect='; +const tests = [ + { + name: "cross-origin", + url: crossOrigin + workerPath + }, + { + name: "cross-origin-to-same-origin-redirect", + url: crossOrigin + redirectPath + + encodeURIComponent(sameOrigin + workerPath) + }, + { + name: "same-origin-to-cross-origin-redirect", + url: sameOrigin + redirectPath + encodeURIComponent(crossOrigin + workerPath) + }, + { + name: "same-origin-to-cross-origin-to-same-origin-redirect", + url: sameOrigin + redirectPath + + encodeURIComponent( + crossOrigin + redirectPath + + encodeURIComponent(sameOrigin + workerPath)) + }, +]; + +for (const test of tests) { + for (const type of ['classic', 'module']) { + promise_test(t => new Promise((resolve, reject) => { + try { + const worker = new Worker(test.url, {type}); + worker.onmessage = _ => reject('Worker loaded unexpectedly'); + worker.onerror = resolve; + } catch (e) { + resolve(); + } + }), 'Worker: ' + test.name + ' (' + type + ')'); + + promise_test(t => new Promise((resolve, reject) => { + try { + const worker = new SharedWorker( + test.url + '&label=' + type + test.name, {type}); + worker.port.onmessage = _ => reject('Worker loaded unexpectedly'); + worker.onerror = resolve; + } catch (e) { + resolve(); + } + }), 'SharedWorker: ' + test.name + ' (' + type + ')'); + } +} +</script> |