From f2ee40e40bafe5c560f53dcc7231b58e2a7c9bb3 Mon Sep 17 00:00:00 2001 From: Taym Haddadi Date: Wed, 16 Apr 2025 14:26:38 -0400 Subject: [PATCH] fix writablestream assertion crash when getting chunk size following spec change (#36566) One-line change to align with the new spec and avoid a crash. fix #36565 Signed-off-by: Taym Haddadi --- components/script/dom/writablestreamdefaultcontroller.rs | 6 +++--- tests/wpt/meta/streams/writable-streams/close.any.js.ini | 6 ------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/components/script/dom/writablestreamdefaultcontroller.rs b/components/script/dom/writablestreamdefaultcontroller.rs index 0037672cbdf..4e6a44b9f5a 100644 --- a/components/script/dom/writablestreamdefaultcontroller.rs +++ b/components/script/dom/writablestreamdefaultcontroller.rs @@ -851,13 +851,13 @@ impl WritableStreamDefaultController { chunk: SafeHandleValue, can_gc: CanGc, ) -> f64 { - // If controller.[[strategySizeAlgorithm]] is undefined, + // If controller.[[strategySizeAlgorithm]] is undefined, then: let Some(strategy_size) = self.strategy_size.borrow().clone() else { - // Assert: controller.[[stream]].[[state]] is "erroring" or "errored". + // Assert: controller.[[stream]].[[state]] is not "writable". let Some(stream) = self.stream.get() else { unreachable!("Controller should have a stream"); }; - assert!(stream.is_erroring() || stream.is_errored()); + assert!(!stream.is_writable()); // Return 1. return 1.0; diff --git a/tests/wpt/meta/streams/writable-streams/close.any.js.ini b/tests/wpt/meta/streams/writable-streams/close.any.js.ini index 5bd5376be2d..0c76bc311f8 100644 --- a/tests/wpt/meta/streams/writable-streams/close.any.js.ini +++ b/tests/wpt/meta/streams/writable-streams/close.any.js.ini @@ -21,9 +21,3 @@ [close.any.shadowrealm-in-shadowrealm.html] expected: ERROR - -[close.any.worker.html] - expected: CRASH - -[close.any.html] - expected: CRASH