Shannon Booth
08be5deb3f
LibWeb: Implement AO ReadableByteStreamControllerRespond
2023-12-03 20:26:14 +01:00
Shannon Booth
2ab933e534
LibWeb: Implement AO ReadableByteStreamControllerRespondInternal
2023-12-03 20:26:14 +01:00
Shannon Booth
426cbd8ed3
LibWeb: Implement AO ReadableByteStreamControllerRespondInClosedState
2023-12-03 20:26:14 +01:00
Shannon Booth
be2195cb8c
LibWeb: Implement AO ReadableByteStreamControllerRespondInReadableState
2023-12-03 20:26:14 +01:00
Shannon Booth
0245be70d8
LibWeb: Implement Streams AO CanTransferArrayBuffer
2023-12-03 20:26:14 +01:00
Shannon Booth
9d0700e770
LibWeb: Fix IDL getter for ReadableByteStreamController byobRequest
...
We were previously only returning the controllers current
[[byobRequest]] instead of taking into account pending pull intos.
Rename the getter function which would return the controllers
[[byobRequest]] slot to `raw_byob_request` to differentiate it from
the IDL getter.
This also leaves a FIXME for a spec step which we are also not currently
implementing correctly.
2023-12-03 20:26:14 +01:00
Shannon Booth
673329e1bd
LibWeb: Use ArrayBufferView for ReadableStreamBYOBReader
...
Which means that we now have support for DataViews.
Using the ArrayBufferView class also seems to make this read a whole
bunch nicer as well.
2023-11-24 08:43:35 +01:00
Shannon Booth
9662872b20
LibWeb: Implement AO ReadableStreamByobReaderRead
...
We've finally implemented enough of the Streams AOs so that we are close
to actually performing read operations with BYOB readers.
2023-11-19 18:53:17 +01:00
Shannon Booth
3d37cb0753
LibWeb: Partially implement ReadableByteStreamControllerPullInto
...
This implementation does not handle DataViews at the moment, but should
handle all of the typed arrays.
2023-11-19 18:53:17 +01:00
Shannon Booth
1443715775
LibWeb: Add ReadableBSControllerProcessPullIntoDescriptorsUsingQueue
2023-11-19 18:53:17 +01:00
Shannon Booth
737dc6ce4e
LibWeb: Add ReadableByteStreamControllerFillPullIntoDescriptorFromQueue
2023-11-19 18:53:17 +01:00
Shannon Booth
aca63fd947
LibWeb: Implement ReadableByteStreamControllerCommitPullIntoDescriptor
2023-11-19 18:53:17 +01:00
Shannon Booth
cdcc1ebbba
LibWeb: Implement ReadableByteStreamControllerFillHeadPullIntoDescriptor
2023-11-19 18:53:17 +01:00
Shannon Booth
26e393fbbc
LibWeb: Implement ReadableByteStreamControllerConvertPullIntoDescriptor
2023-11-19 18:53:17 +01:00
Shannon Booth
446a78f30e
LibWeb: Implement Streams AO ReadableStreamAddReadIntoRequest
...
This is effectively identical to ReadableStreamAddReadRequest besides
from the fact that it takes a ReadIntoRequest instead of a ReadRequest,
and is instead intended to be used for BYOB readers.
2023-11-19 18:53:17 +01:00
Shannon Booth
f27e76b0b7
LibWeb: Make ReadableStreamAddReadRequest take a NonnullGCPtr
...
Make it more obvious in the function signature that this function will
be taking a GC ref to a ReadRequest by appending it to the
ReadableStreams pending read requests.
2023-11-19 18:53:17 +01:00
Shannon Booth
5ef41dca53
LibWeb: Implement Streams AO ReadableStreamFulfillReadIntoRequest
2023-11-19 18:53:17 +01:00
Shannon Booth
b06d80e6fd
LibWeb: Implement ReadableStreamBYOBReaderRelease Streams AO
2023-08-31 19:28:56 +02:00
Shannon Booth
8ce4f5597c
LibWeb: Implement ReadableStreamBYOBReaderErrorReadIntoRequests AO
2023-08-31 19:28:56 +02:00
Andreas Kling
9c3e9e8981
LibWeb/Streams: Make ReadRequest GC-allocated
...
This allows it to keep its edges alive. Fixes an intermittent crash seen
by UBSAN on CI. :^)
2023-08-09 19:16:07 +02:00
Shannon Booth
2b46e6f664
Everywhere: Update copyrights with my new serenityos.org e-mail :^)
2023-07-15 16:21:29 +02:00
Kenneth Myhra
7117cb7a35
LibWeb: Add set_up_transform_stream_default_controller_from_transformer
2023-07-15 11:59:39 +02:00
Kenneth Myhra
f7c532d093
LibWeb: Add AO set_up_transform_stream_default_controller()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
86455bbb74
LibWeb: Add AO initialize_transform_stream()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
a52f9970bc
LibWeb: Add AO create_readable_stream()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
8e6b386ff7
LibWeb: Add AO initialize_readable_stream()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
f91c150cfc
LibWeb: Add AO transform_stream_default_source_pull_algorithm()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
894f1e9d62
LibWeb: Add AO create_writable_stream()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
7d8f24c227
LibWeb: Add AO initialize_writable_stream()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
641b9edd89
LibWeb: Add AO transform_stream_default_sink_close_algorithm()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
48921add86
LibWeb: Add AO transform_stream_default_sink_abort_algorithm()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
18aa588968
LibWeb: Add AO transform_stream_default_sink_write_algorithm()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
11c0600729
LibWeb: Add AO transform_stream_default_controller_perform_transform()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
e1740938fc
LibWeb: Add AO transform_stream_default_controller_terminate()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
e028918a64
LibWeb: Add AO transform_stream_default_controller_enqueue()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
d2236e5ca5
LibWeb: Add AO readable_stream_default_controller_has_backpressure()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
9efcc01387
LibWeb: Add AO transform_stream_default_controller_error()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
69fb6f15f9
LibWeb: Add AO transform_stream_error()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
ad73c03ea3
LibWeb: Add AO transform_stream_error_writable_and_unblock_write()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
91f58eb220
LibWeb: Add AO transform_stream_set_backpressure()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
d8d0e8a6ea
LibWeb: Add AO transform_stream_default_controller_clear_algorithms()
2023-07-15 11:59:39 +02:00
Kenneth Myhra
0091a60448
LibWeb: Add TransformStreamDefaultController scaffolding
...
This adds the scaffolding of TransformStreamDefaultController so we can
start implementing the necessary abstract operations for it.
2023-07-15 11:59:39 +02:00
Shannon Booth
729f4838c2
LibWeb: Implement the Streams AcquireReadableStreamBYOBReader AO
...
Co-Authored-By: Matthew Olsson <mattco@serenityos.org>
2023-07-05 23:33:20 +01:00
Shannon Booth
9ccadf61a2
LibWeb: Implement the Streams SetUpReadableStreamBYOBReader AO
...
Co-Authored-By: Matthew Olsson <mattco@serenityos.org>
2023-07-05 23:33:20 +01:00
Shannon Booth
33f6e5d516
LibWeb: Implement Streams AO ExtractSizeAlgorithm(strategy)
2023-06-22 06:58:23 +02:00
Shannon Booth
060c130c82
LibWeb: Implement SetUpReadableByteStreamControllerFromUnderlyingSource
2023-06-22 06:58:23 +02:00
Shannon Booth
9ea597016a
LibWeb: Implement Streams AO ExtractHighWaterMark(strategy, defaultHWM)
2023-06-22 06:58:23 +02:00
Shannon Booth
94883866f5
LibWeb: Implement Web::Streams::readable_stream_enqueue AO
...
This AO will be used in the Web::FileAPI::Blob::get_stream()
implementation to enqueue all data in the blob to the stream.
There are still plenty of cases to handle, but this appears to be enough
for the basic case of reading all chunks from a readable stream until it
is done.
2023-06-14 06:27:04 +02:00
Shannon Booth
b7b5b5763e
LibWeb: Add support to set up stream with byte reading support
...
This is used by Blobs to set up their stream in their get stream
algorithm.
2023-06-14 06:27:04 +02:00
Matthew Olsson
dd65d60069
LibWeb: Use doubles for Stream's high_water_mark and queue_total_size
...
This matches the IDL types
2023-05-27 13:55:14 +02:00