From a8a022a295be432eb0296e067543f410a3ca62f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= Date: Wed, 3 Apr 2024 18:18:00 +0300 Subject: [PATCH] Add tests for new Worker() and worker.postMessage() to happen in parallel with main page executing JS code. Resolves https://github.com/whatwg/html/issues/10228. --- .../Worker-creation-happens-in-parallel.html | 15 +++++++++++++++ ...r-creation-happens-in-parallel.html.headers | 2 ++ ...Worker-postMessage-happens-in-parallel.html | 18 ++++++++++++++++++ ...ostMessage-happens-in-parallel.html.headers | 2 ++ .../Worker-creation-happens-in-parallel.js | 3 +++ .../Worker-postMessage-happens-in-parallel.js | 7 +++++++ 6 files changed, 47 insertions(+) create mode 100644 workers/Worker-creation-happens-in-parallel.html create mode 100644 workers/Worker-creation-happens-in-parallel.html.headers create mode 100644 workers/Worker-postMessage-happens-in-parallel.html create mode 100644 workers/Worker-postMessage-happens-in-parallel.html.headers create mode 100644 workers/support/Worker-creation-happens-in-parallel.js create mode 100644 workers/support/Worker-postMessage-happens-in-parallel.js diff --git a/workers/Worker-creation-happens-in-parallel.html b/workers/Worker-creation-happens-in-parallel.html new file mode 100644 index 000000000000000..cac70e7da262418 --- /dev/null +++ b/workers/Worker-creation-happens-in-parallel.html @@ -0,0 +1,15 @@ + +Test that creation of a "new Worker()" will occur in parallel to the main JS thread performing other computation, and can be joined with. + + + diff --git a/workers/Worker-creation-happens-in-parallel.html.headers b/workers/Worker-creation-happens-in-parallel.html.headers new file mode 100644 index 000000000000000..4b06ac7cc63e8af --- /dev/null +++ b/workers/Worker-creation-happens-in-parallel.html.headers @@ -0,0 +1,2 @@ +Cross-Origin-Opener-Policy:same-origin +Cross-Origin-Embedder-Policy:require-corp diff --git a/workers/Worker-postMessage-happens-in-parallel.html b/workers/Worker-postMessage-happens-in-parallel.html new file mode 100644 index 000000000000000..f4fb9cd9b785251 --- /dev/null +++ b/workers/Worker-postMessage-happens-in-parallel.html @@ -0,0 +1,18 @@ + +Test that calling "worker.postMessage()" will occur truly in parallel to the main JS thread performing other computation. + + + diff --git a/workers/Worker-postMessage-happens-in-parallel.html.headers b/workers/Worker-postMessage-happens-in-parallel.html.headers new file mode 100644 index 000000000000000..4b06ac7cc63e8af --- /dev/null +++ b/workers/Worker-postMessage-happens-in-parallel.html.headers @@ -0,0 +1,2 @@ +Cross-Origin-Opener-Policy:same-origin +Cross-Origin-Embedder-Policy:require-corp diff --git a/workers/support/Worker-creation-happens-in-parallel.js b/workers/support/Worker-creation-happens-in-parallel.js new file mode 100644 index 000000000000000..7998b1fded1db39 --- /dev/null +++ b/workers/support/Worker-creation-happens-in-parallel.js @@ -0,0 +1,3 @@ +onmessage = (e) => { + e.data[0] = 1; +} \ No newline at end of file diff --git a/workers/support/Worker-postMessage-happens-in-parallel.js b/workers/support/Worker-postMessage-happens-in-parallel.js new file mode 100644 index 000000000000000..946fe5bed7c65b1 --- /dev/null +++ b/workers/support/Worker-postMessage-happens-in-parallel.js @@ -0,0 +1,7 @@ +onmessage = (e) => { + if (e.data == 'init') { + postMessage(0); + } else { + e.data[0] = 1; + } +}