mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 12:19:54 +00:00
LibWeb: Add an 'enqueue' helper method on TransformStream
This commit is contained in:
parent
9ce0c5914b
commit
5f2b75852f
Notes:
github-actions[bot]
2024-12-25 11:03:07 +00:00
Author: https://github.com/shannonbooth
Commit: 5f2b75852f
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3029
Reviewed-by: https://github.com/kennethmyhra ✅
3 changed files with 10 additions and 2 deletions
|
@ -133,7 +133,7 @@ WebIDL::ExceptionOr<void> DecompressionStream::decompress_and_enqueue_chunk(JS::
|
|||
auto array = JS::Uint8Array::create(realm, array_buffer->byte_length(), *array_buffer);
|
||||
|
||||
// 5. For each Uint8Array array, enqueue array in ds's transform.
|
||||
TRY(Streams::transform_stream_default_controller_enqueue(*m_transform->controller(), array));
|
||||
m_transform->enqueue(array);
|
||||
return {};
|
||||
}
|
||||
|
||||
|
@ -159,7 +159,7 @@ WebIDL::ExceptionOr<void> DecompressionStream::decompress_flush_and_enqueue()
|
|||
auto array = JS::Uint8Array::create(realm, array_buffer->byte_length(), *array_buffer);
|
||||
|
||||
// 5. For each Uint8Array array, enqueue array in ds's transform.
|
||||
TRY(Streams::transform_stream_default_controller_enqueue(*m_transform->controller(), array));
|
||||
m_transform->enqueue(array);
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
|
@ -74,6 +74,13 @@ WebIDL::ExceptionOr<GC::Ref<TransformStream>> TransformStream::construct_impl(JS
|
|||
return stream;
|
||||
}
|
||||
|
||||
// https://streams.spec.whatwg.org/#transformstream-enqueue
|
||||
void TransformStream::enqueue(JS::Value chunk)
|
||||
{
|
||||
// To enqueue the JavaScript value chunk into a TransformStream stream, perform ! TransformStreamDefaultControllerEnqueue(stream.[[controller]], chunk).
|
||||
MUST(Streams::transform_stream_default_controller_enqueue(*controller(), chunk));
|
||||
}
|
||||
|
||||
// https://streams.spec.whatwg.org/#transformstream-set-up
|
||||
void TransformStream::set_up(GC::Ref<TransformAlgorithm> transform_algorithm, GC::Ptr<FlushAlgorithm> flush_algorithm, GC::Ptr<CancelAlgorithm> cancel_algorithm)
|
||||
{
|
||||
|
|
|
@ -42,6 +42,7 @@ public:
|
|||
void set_controller(GC::Ptr<TransformStreamDefaultController> value) { m_controller = value; }
|
||||
|
||||
void set_up(GC::Ref<TransformAlgorithm>, GC::Ptr<FlushAlgorithm> = {}, GC::Ptr<CancelAlgorithm> = {});
|
||||
void enqueue(JS::Value chunk);
|
||||
|
||||
private:
|
||||
explicit TransformStream(JS::Realm& realm);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue