From b9e7f6fa97885a0170e06607811ba12f6f6eece7 Mon Sep 17 00:00:00 2001 From: Daeyeon Jeong Date: Sun, 21 Aug 2022 16:56:42 +0900 Subject: [PATCH] stream: fix `writableStream.abort()` This includes: - Fixing `writableStream.abort(reason)`. Passing the reason was missing. - Leaving a TODO to remove the internal abortReason property of WritableStreamDefaultController. Signed-off-by: Daeyeon Jeong daeyeon.dev@gmail.com --- lib/internal/webstreams/writablestream.js | 5 ++++- test/wpt/status/streams.json | 5 ----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/internal/webstreams/writablestream.js b/lib/internal/webstreams/writablestream.js index 8c25cc33c15f5f..c3cd8db9adb595 100644 --- a/lib/internal/webstreams/writablestream.js +++ b/lib/internal/webstreams/writablestream.js @@ -637,8 +637,11 @@ function writableStreamAbort(stream, reason) { if (state === 'closed' || state === 'errored') return PromiseResolve(); + // TODO(daeyeon): Remove `controller[kState].abortReason` and use + // `controller[kState].abortController.signal.reason` for the + // `WritableStreamDefaultController.prototype.abortReason` getter. controller[kState].abortReason = reason; - controller[kState].abortController.abort(); + controller[kState].abortController.abort(reason); if (stream[kState].pendingAbortRequest.abort.promise !== undefined) return stream[kState].pendingAbortRequest.abort.promise; diff --git a/test/wpt/status/streams.json b/test/wpt/status/streams.json index a0b258c4325b4a..996893951f8c6b 100644 --- a/test/wpt/status/streams.json +++ b/test/wpt/status/streams.json @@ -106,10 +106,5 @@ }, "transferable/transfer-with-messageport.window.js": { "skip": "Browser-specific test" - }, - "writable-streams/aborting.any.js": { - "fail": { - "expected": ["WritableStreamDefaultController.signal"] - } } }