mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 03:55:24 +00:00
LibWeb: Pass abort signal as its concrete type to ReadableStreamPipeTo
There's no real need to wrap it in a JS::Value just to unrwap it again.
This commit is contained in:
parent
ba2a8e07a4
commit
710fb277b7
4 changed files with 7 additions and 9 deletions
|
@ -290,7 +290,7 @@ bool readable_stream_has_default_reader(ReadableStream const& stream)
|
|||
}
|
||||
|
||||
// https://streams.spec.whatwg.org/#readable-stream-pipe-to
|
||||
GC::Ref<WebIDL::Promise> readable_stream_pipe_to(ReadableStream& source, WritableStream& dest, bool, bool, bool, JS::Value signal)
|
||||
GC::Ref<WebIDL::Promise> readable_stream_pipe_to(ReadableStream& source, WritableStream& dest, bool, bool, bool, GC::Ptr<DOM::AbortSignal> signal)
|
||||
{
|
||||
auto& realm = source.realm();
|
||||
|
||||
|
@ -299,10 +299,8 @@ GC::Ref<WebIDL::Promise> readable_stream_pipe_to(ReadableStream& source, Writabl
|
|||
// 3. Assert: preventClose, preventAbort, and preventCancel are all booleans.
|
||||
|
||||
// 4. If signal was not given, let signal be undefined.
|
||||
// NOTE: Done by default argument
|
||||
|
||||
// 5. Assert: either signal is undefined, or signal implements AbortSignal.
|
||||
VERIFY(signal.is_undefined() || (signal.is_object() && is<DOM::AbortSignal>(signal.as_object())));
|
||||
(void)signal;
|
||||
|
||||
// 6. Assert: ! IsReadableStreamLocked(source) is false.
|
||||
VERIFY(!is_readable_stream_locked(source));
|
||||
|
|
|
@ -40,7 +40,7 @@ size_t readable_stream_get_num_read_requests(ReadableStream const&);
|
|||
bool readable_stream_has_byob_reader(ReadableStream const&);
|
||||
bool readable_stream_has_default_reader(ReadableStream const&);
|
||||
|
||||
GC::Ref<WebIDL::Promise> readable_stream_pipe_to(ReadableStream& source, WritableStream& dest, bool prevent_close, bool prevent_abort, bool prevent_cancel, JS::Value signal = JS::js_undefined());
|
||||
GC::Ref<WebIDL::Promise> readable_stream_pipe_to(ReadableStream& source, WritableStream& dest, bool prevent_close, bool prevent_abort, bool prevent_cancel, GC::Ptr<DOM::AbortSignal> signal = {});
|
||||
|
||||
WebIDL::ExceptionOr<ReadableStreamPair> readable_stream_tee(JS::Realm&, ReadableStream&, bool clone_for_branch2);
|
||||
WebIDL::ExceptionOr<ReadableStreamPair> readable_stream_default_tee(JS::Realm& realm, ReadableStream& stream, bool clone_for_branch2);
|
||||
|
|
|
@ -135,7 +135,7 @@ WebIDL::ExceptionOr<GC::Ref<ReadableStream>> ReadableStream::pipe_through(Readab
|
|||
return WebIDL::SimpleException { WebIDL::SimpleExceptionType::TypeError, "Failed to execute 'pipeThrough' on 'ReadableStream': parameter 1's 'writable' is locked"sv };
|
||||
|
||||
// 3. Let signal be options["signal"] if it exists, or undefined otherwise.
|
||||
auto signal = options.signal ? JS::Value(options.signal) : JS::js_undefined();
|
||||
auto signal = options.signal;
|
||||
|
||||
// 4. Let promise be ! ReadableStreamPipeTo(this, transform["writable"], options["preventClose"], options["preventAbort"], options["preventCancel"], signal).
|
||||
auto promise = readable_stream_pipe_to(*this, *transform.writable, options.prevent_close, options.prevent_abort, options.prevent_cancel, signal);
|
||||
|
@ -164,7 +164,7 @@ GC::Ref<WebIDL::Promise> ReadableStream::pipe_to(WritableStream& destination, St
|
|||
}
|
||||
|
||||
// 3. Let signal be options["signal"] if it exists, or undefined otherwise.
|
||||
auto signal = options.signal ? JS::Value(options.signal) : JS::js_undefined();
|
||||
auto signal = options.signal;
|
||||
|
||||
// 4. Return ! ReadableStreamPipeTo(this, destination, options["preventClose"], options["preventAbort"], options["preventCancel"], signal).
|
||||
return readable_stream_pipe_to(*this, destination, options.prevent_close, options.prevent_abort, options.prevent_cancel, signal);
|
||||
|
@ -427,7 +427,7 @@ void ReadableStream::set_up_with_byte_reading_support(GC::Ptr<PullAlgorithm> pul
|
|||
}
|
||||
|
||||
// https://streams.spec.whatwg.org/#readablestream-pipe-through
|
||||
GC::Ref<ReadableStream> ReadableStream::piped_through(GC::Ref<TransformStream> transform, bool prevent_close, bool prevent_abort, bool prevent_cancel, JS::Value signal)
|
||||
GC::Ref<ReadableStream> ReadableStream::piped_through(GC::Ref<TransformStream> transform, bool prevent_close, bool prevent_abort, bool prevent_cancel, GC::Ptr<DOM::AbortSignal> signal)
|
||||
{
|
||||
// 1. Assert: ! IsReadableStreamLocked(readable) is false.
|
||||
VERIFY(!is_readable_stream_locked(*this));
|
||||
|
|
|
@ -109,7 +109,7 @@ public:
|
|||
WebIDL::ExceptionOr<void> pull_from_bytes(ByteBuffer);
|
||||
WebIDL::ExceptionOr<void> enqueue(JS::Value chunk);
|
||||
void set_up_with_byte_reading_support(GC::Ptr<PullAlgorithm> = {}, GC::Ptr<CancelAlgorithm> = {}, double high_water_mark = 0);
|
||||
GC::Ref<ReadableStream> piped_through(GC::Ref<TransformStream>, bool prevent_close = false, bool prevent_abort = false, bool prevent_cancel = false, JS::Value signal = JS::js_undefined());
|
||||
GC::Ref<ReadableStream> piped_through(GC::Ref<TransformStream>, bool prevent_close = false, bool prevent_abort = false, bool prevent_cancel = false, GC::Ptr<DOM::AbortSignal> signal = {});
|
||||
|
||||
GC::Ptr<WebIDL::ArrayBufferView> current_byob_request_view();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue