1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 08:14:58 +00:00
Commit graph

91 commits

Author SHA1 Message Date
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
Matthew Olsson
c9be755367 LibWeb: Implement ReadableByteStreamController.close() 2023-04-27 07:57:53 +02:00
Matthew Olsson
ef3810d03d LibWeb: Add missing AOs for ReadableByteStreamController.[[PullSteps]] 2023-04-27 07:57:53 +02:00
Matthew Olsson
b57b3c54cc LibWeb: Add ReadableStreamBYOBReader to ReadableStreamReader type 2023-04-27 07:57:53 +02:00
Matthew Olsson
bb9d51fd84 LibWeb: Make StartAlgorithm return a Value instead of a Promise 2023-04-17 10:27:40 +02:00
Matthew Olsson
c40109628d LibWeb: Properly reject abrupt completion in clean_up_on_return 2023-04-17 10:27:40 +02:00
Linus Groh
d192f44523 LibWeb/Streams: Make most algorithms return a NonnullGCPtr
Only the 'start algorithm' ever returns undefined (as a null GCPtr), so
let's type the others more strictly.
2023-04-14 16:35:17 +02:00
Matthew Olsson
db1be40b13 LibWeb: Propogate OOM errors from readable_stream_reader_generic_cancel 2023-04-14 13:03:34 +02:00
Matthew Olsson
f9d6a161e8 LibWeb: Add ByteStreamController to ReadableStreamController type 2023-04-14 13:03:34 +02:00
Matthew Olsson
51abecc8bc LibWeb: Mostly implement ReadableByteStreamController.[[PullSteps]] 2023-04-14 13:03:34 +02:00
Matthew Olsson
c97f6b7701 LibWeb: Implement ReadableByteStreamController.[[CancelSteps]] 2023-04-14 13:03:34 +02:00
Matthew Olsson
819b6332d1 LibWeb: Add ReadableStreamByteController interface 2023-04-12 01:47:48 +02:00
Matthew Olsson
0a220a19da LibWeb: Set up the DefaultController when constructing a WritableStream 2023-04-10 00:45:03 +02:00
Matthew Olsson
58f3009faa LibWeb: Implement WritableStreamDefaultWriter.write() 2023-04-10 00:45:03 +02:00
Matthew Olsson
48b67e41f0 LibWeb: Accept a JS::Value for size in enqueue_value instead of a double
This matches what the spec does, and consolidates all of the size-
related errors in one spot instead of distributing them throughout the
various uses of enqueue_value_with_size()
2023-04-10 00:45:03 +02:00
Matthew Olsson
1f7f63ae5a LibWeb: Move Streams/QueueOperations.h to Streams/AbstractOperations.h
This made more sense in the beginning, but now AbstractOperations.h is
so large that there isn't much benefit. This will resolve some ugly
include order issues in the coming commits.
2023-04-10 00:45:03 +02:00
Matthew Olsson
6bbd920008 LibWeb: Implement WritableStreamDefaultWriter.releaseLock() 2023-04-09 21:45:39 +02:00
Matthew Olsson
5f4da20a56 LibWeb: Implement WritableStreamDefaultWriter.close() 2023-04-09 21:45:39 +02:00
Matthew Olsson
0c441fa7af LibWeb: Implement WritableStreamDefaultWriter.abort() 2023-04-09 21:45:39 +02:00
Matthew Olsson
c421b6113c LibWeb: Implement WritableStream.abort() 2023-04-09 21:45:39 +02:00
Matthew Olsson
ae2d67c28b LibWeb: Implement WritableStream.getWriter() 2023-04-09 21:45:39 +02:00
Matthew Olsson
f358ae1b13 LibWeb: Remove duplicate declaration in Streams/AbstractOperations.h 2023-04-09 21:45:39 +02:00
Matthew Olsson
5faa0014f2 LibWeb: Implement WritableStream.close() 2023-04-09 18:37:34 +02:00
Matthew Olsson
868cd95069 LibWeb: Add the WritableStreamDefaultController 2023-04-09 17:14:48 +02:00
Matthew Olsson
bdab61ad93 LibWeb: Add the WritableStreamDefaultWriter interface 2023-04-06 22:54:58 +02:00
Matthew Olsson
e93560b769 LibWeb: Add the WritableStream interface 2023-04-06 22:54:58 +02:00
Matthew Olsson
78feba401d LibWeb: Move property_to_callback to Streams/AbstractOperations
This will be necessary for UnderlyingSink, which is WritableStream's
equivalent of UnderlyingSource, and functions in much the same way.
2023-04-06 22:54:58 +02:00
Matthew Olsson
36ca1386e8 LibWeb: Add ReadableStream.locked/cancel()/getReader() 2023-04-01 23:43:07 +01:00
Matthew Olsson
d8710aa604 LibWeb: Implement ReadableStream's constructor 2023-04-01 23:43:07 +01:00
Matthew Olsson
bc9919178e LibWeb: Add ReadableStreamDefaultController 2023-04-01 23:43:07 +01:00
Matthew Olsson
222e3c32cd LibWeb: Add ReadableStreamDefaultReader 2023-04-01 23:43:07 +01:00
Matthew Olsson
7ff657ef57 LibWeb: Add the stream queue-related abstract operations 2023-04-01 23:43:07 +01:00
Matthew Olsson
fe69d66a4e LibWeb: Add the ReadableStreamGenericReader mixin interface 2023-04-01 23:43:07 +01:00
Linus Groh
87654f5b51 LibWeb: Start fleshing out the ReadableStream interface
This is so we can just assume it exists in Fetch APIs (while still
skipping functionality that relies on a full implementation, of
course).
2022-09-22 21:01:13 +01:00