From f09042340c2c38fa613962db3ca182af8b862c37 Mon Sep 17 00:00:00 2001 From: Xiaocheng Hu Date: Sun, 15 Jun 2025 16:09:08 +0800 Subject: [PATCH] Stop DedicatedWorker from handling remaining messages after closed (#37471) Stop DedicatedWorker from handling remaining messages after closed Testing: WPT workers/WorkerGlobalScope-close.html Signed-off-by: Xiaocheng Hu --- components/script/dom/dedicatedworkerglobalscope.rs | 3 +++ tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 00a00067e34..9263edeb3ef 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -618,6 +618,9 @@ impl DedicatedWorkerGlobalScope { } fn handle_mixed_message(&self, msg: MixedMessage, can_gc: CanGc) -> bool { + if self.upcast::().is_closing() { + return false; + } // FIXME(#26324): `self.worker` is None in devtools messages. match msg { MixedMessage::Devtools(msg) => match msg { diff --git a/tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini deleted file mode 100644 index 24daae4c2e7..00000000000 --- a/tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[WorkerGlobalScope-close.html] - [Test sending a message after closing.] - expected: FAIL