LibWeb: Implement ReadableStreamBYOBReaderErrorReadIntoRequests AO

This commit is contained in:
Shannon Booth 2023-08-27 13:28:08 +12:00 committed by Andrew Kaster
parent e08072ac2b
commit 8ce4f5597c
Notes: sideshowbarker 2024-07-17 01:46:00 +09:00
2 changed files with 19 additions and 0 deletions

View File

@ -437,6 +437,23 @@ void readable_stream_default_reader_error_read_requests(ReadableStreamDefaultRea
}
}
// https://streams.spec.whatwg.org/#abstract-opdef-readablestreambyobreadererrorreadintorequests
void readable_stream_byob_reader_error_read_into_requests(ReadableStreamBYOBReader& reader, JS::Value error)
{
// 1. Let readIntoRequests be reader.[[readIntoRequests]].
auto read_into_requests = move(reader.read_into_requests());
// 2. Set reader.[[readIntoRequests]] to a new empty list.
reader.read_into_requests().clear();
// 3. For each readIntoRequest of readIntoRequests,
for (auto& read_into_request : read_into_requests) {
// 1. Perform readIntoRequests error steps, given e.
read_into_request->on_error(error);
}
}
// https://streams.spec.whatwg.org/#readable-stream-default-reader-read
WebIDL::ExceptionOr<void> readable_stream_default_reader_read(ReadableStreamDefaultReader& reader, ReadRequest& read_request)
{

View File

@ -50,6 +50,8 @@ void readable_stream_reader_generic_initialize(ReadableStreamReader, ReadableStr
WebIDL::ExceptionOr<void> readable_stream_reader_generic_release(ReadableStreamGenericReaderMixin&);
void readable_stream_default_reader_error_read_requests(ReadableStreamDefaultReader&, JS::Value error);
void readable_stream_byob_reader_error_read_into_requests(ReadableStreamBYOBReader&, JS::Value error);
WebIDL::ExceptionOr<void> readable_stream_default_reader_read(ReadableStreamDefaultReader&, ReadRequest&);
WebIDL::ExceptionOr<void> readable_stream_default_reader_release(ReadableStreamDefaultReader&);
WebIDL::ExceptionOr<void> set_up_readable_stream_default_reader(ReadableStreamDefaultReader&, ReadableStream&);