From 48bdc4feaf61accaae3784022ca64753519bd6a9 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Mon, 27 Apr 2020 17:48:35 +0100 Subject: [PATCH 1/5] Test that postMessage doesn't block on event loop Per spec postMessage should queue a message up on the target port immediately. Instead, when Workers are involved, some implementations queue a task up on current thread's event loop, which means that in case it gets blocked, some messages are never sent. Resolves https://github.com/whatwg/html/issues/5485. --- workers/postMessage_block.https.html | 21 ++++++++++++++++++++ workers/postMessage_block.https.html.headers | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 workers/postMessage_block.https.html create mode 100644 workers/postMessage_block.https.html.headers diff --git a/workers/postMessage_block.https.html b/workers/postMessage_block.https.html new file mode 100644 index 00000000000000..27a9605406efe9 --- /dev/null +++ b/workers/postMessage_block.https.html @@ -0,0 +1,21 @@ + + + + + + + diff --git a/workers/postMessage_block.https.html.headers b/workers/postMessage_block.https.html.headers new file mode 100644 index 00000000000000..63b60e490f47f4 --- /dev/null +++ b/workers/postMessage_block.https.html.headers @@ -0,0 +1,2 @@ +Cross-Origin-Opener-Policy: same-origin +Cross-Origin-Embedder-Policy: require-corp From 8a2fd69f100e596b23a82739b37407f65a8b4935 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Mon, 27 Apr 2020 20:06:05 +0100 Subject: [PATCH 2/5] Move test worker to a separate file --- workers/postMessage_block.https.html | 13 ++++++------- workers/postMessage_block_worker.js | 2 ++ workers/postMessage_block_worker.js.headers | 2 ++ 3 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 workers/postMessage_block_worker.js create mode 100644 workers/postMessage_block_worker.js.headers diff --git a/workers/postMessage_block.https.html b/workers/postMessage_block.https.html index 27a9605406efe9..9fca9344610be4 100644 --- a/workers/postMessage_block.https.html +++ b/workers/postMessage_block.https.html @@ -4,18 +4,17 @@ diff --git a/workers/postMessage_block_worker.js b/workers/postMessage_block_worker.js new file mode 100644 index 00000000000000..0c7bcacccaf8ef --- /dev/null +++ b/workers/postMessage_block_worker.js @@ -0,0 +1,2 @@ +onmessage = e => Atomics.store(e.data, 0, 1); +postMessage('ready'); diff --git a/workers/postMessage_block_worker.js.headers b/workers/postMessage_block_worker.js.headers new file mode 100644 index 00000000000000..63b60e490f47f4 --- /dev/null +++ b/workers/postMessage_block_worker.js.headers @@ -0,0 +1,2 @@ +Cross-Origin-Opener-Policy: same-origin +Cross-Origin-Embedder-Policy: require-corp From 2a85d9bb58372915563d40260677346bcfc96743 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Mon, 27 Apr 2020 23:51:00 +0100 Subject: [PATCH 3/5] Remove console leftover --- workers/postMessage_block.https.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/workers/postMessage_block.https.html b/workers/postMessage_block.https.html index 9fca9344610be4..a47ddec7432d9b 100644 --- a/workers/postMessage_block.https.html +++ b/workers/postMessage_block.https.html @@ -14,7 +14,5 @@ while (Atomics.load(a, 0) === 0); assert_equals(Atomics.load(a, 0), 1); }); - -w.onerror = e => console.error(e.message); From 697fcdbf47c3f5a841f5dcf8317193c31bb63747 Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Tue, 28 Apr 2020 11:33:38 +0100 Subject: [PATCH 4/5] Remove COOP from worker headers --- workers/postMessage_block_worker.js.headers | 1 - 1 file changed, 1 deletion(-) diff --git a/workers/postMessage_block_worker.js.headers b/workers/postMessage_block_worker.js.headers index 63b60e490f47f4..6604450991a122 100644 --- a/workers/postMessage_block_worker.js.headers +++ b/workers/postMessage_block_worker.js.headers @@ -1,2 +1 @@ -Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp From 404262a74c97ead154d3d597e3d6da096461f81a Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Tue, 28 Apr 2020 11:43:51 +0100 Subject: [PATCH 5/5] Move postMessage_block_worker.js to support dir --- workers/postMessage_block.https.html | 2 +- workers/{ => support}/postMessage_block_worker.js | 0 workers/{ => support}/postMessage_block_worker.js.headers | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename workers/{ => support}/postMessage_block_worker.js (100%) rename workers/{ => support}/postMessage_block_worker.js.headers (100%) diff --git a/workers/postMessage_block.https.html b/workers/postMessage_block.https.html index a47ddec7432d9b..c3e69f6193f09c 100644 --- a/workers/postMessage_block.https.html +++ b/workers/postMessage_block.https.html @@ -6,7 +6,7 @@