From ed06429d33964a88754ada727937b6bb5a6407d6 Mon Sep 17 00:00:00 2001 From: Matthew Olsson Date: Sun, 9 Apr 2023 10:42:13 -0700 Subject: [PATCH] LibWeb: Implement ReadableByteStreamController.error() --- .../LibWeb/Streams/ReadableByteStreamController.cpp | 7 +++++++ .../LibWeb/Streams/ReadableByteStreamController.h | 1 + .../LibWeb/Streams/ReadableByteStreamController.idl | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp index 11f54242e8..1c0974ad6a 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp +++ b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.cpp @@ -37,6 +37,13 @@ WebIDL::ExceptionOr ReadableByteStreamController::close() return {}; } +// https://streams.spec.whatwg.org/#rbs-controller-error +void ReadableByteStreamController::error(JS::Value error) +{ + // 1. Perform ! ReadableByteStreamControllerError(this, e). + readable_byte_stream_controller_error(*this, error); +} + ReadableByteStreamController::ReadableByteStreamController(JS::Realm& realm) : Bindings::PlatformObject(realm) { diff --git a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h index 520f554953..f4e3c79804 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h +++ b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.h @@ -81,6 +81,7 @@ public: Optional desired_size() const; WebIDL::ExceptionOr close(); + void error(JS::Value error); Optional const& auto_allocate_chunk_size() { return m_auto_allocate_chunk_size; } void set_auto_allocate_chunk_size(Optional value) { m_auto_allocate_chunk_size = value; } diff --git a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.idl b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.idl index 923a2238d3..71def45329 100644 --- a/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.idl +++ b/Userland/Libraries/LibWeb/Streams/ReadableByteStreamController.idl @@ -6,8 +6,8 @@ interface ReadableByteStreamController { readonly attribute unrestricted double? desiredSize; undefined close(); + undefined error(optional any e); // FIXME: Implement // undefined enqueue(ArrayBufferView chunk); - // undefined error(optional any e); };