Matthew Olsson
ed06429d33
LibWeb: Implement ReadableByteStreamController.error()
2023-04-27 07:57:53 +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
e8ad571082
LibWeb: Add ReadableStreamBYOBReader interface
2023-04-27 07:57:53 +02:00
Matthew Olsson
2b269d4a49
LibWeb: Fix a blatant nullptr dereference in ReadableStreamGenericReader
2023-04-27 07:57:53 +02:00
Matthew Olsson
d824d07784
LibWeb: Fix inverted condition in WritableStream's constructor
2023-04-17 10:27:40 +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
bad541a0d4
LibWeb: Remove outdated FIXMEs around WebIDL::invoke_callback usages
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
Timothy Flynn
781287c1e3
LibWeb: Do not dereference empty Optional in ReadableStream::visit_edges
...
There are quite a few steps between a ReadableStream being created and
its controller being set. If GC occurs between those points, we will
have an empty Optional in ReadableStream::visit_edges. Seen on YouTube.
2023-04-14 18:55:59 +02:00
Linus Groh
0abdffc33d
LibWeb/Streams: Rename one instance of 'e' to 'exception'
...
This is what we call it everywhere else.
2023-04-14 16:35:17 +02:00
Linus Groh
6b35cca65b
LibWeb/Streams: Add FIXMEs to incorrect invoke_callback() invocations
2023-04-14 16:35:17 +02:00
Linus Groh
1c165b67ef
LibWeb/Streams: Use MUST_OR_THROW_OOM() when creating JS exceptions
...
This cannot throw unless we OOM.
2023-04-14 16:35:17 +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
bd7809cc18
LibWeb: Mostly implement ReadableByteStreamController.[[ReleaseSteps]]
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
8274906301
LibWeb: Expose ReadableStream::m_state and use in AOs
...
This allows us to be a bit closer to the spec phrasing and matches
what we do with WritableStream
2023-04-14 13:03:34 +02:00
Linus Groh
742f6f7e26
LibWeb/Streams: Fix inconsistent uses of realm() and vm()
...
This is not documented yet, but the preferred style is getting both
upfront instead of inlining various kinds of calls in places that use
the realm and vm.
2023-04-13 09:51:48 +02:00
Matthew Olsson
819b6332d1
LibWeb: Add ReadableStreamByteController interface
2023-04-12 01:47:48 +02:00
Matthew Olsson
c7aa4fa166
LibWeb: Add ReadableStreamBYOBRequest 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
66dec1bf54
LibWeb: Add UnderlyingSource struct for ReadableStream 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
Kenneth Myhra
d69e863286
LibWeb: Propagate error in factory method of Streams::ReadableStream
2023-02-22 09:55:33 +01:00
Timothy Flynn
b75b7f0c0d
LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate
...
Callers that are already in a fallible context will now TRY to allocate
cells. Callers in infallible contexts get a FIXME.
2023-01-29 00:02:45 +00:00
Timothy Flynn
2692db8699
LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors
...
Note that as of this commit, there aren't any such throwers, and the
call site in Heap::allocate will drop exceptions on the floor. This
commit only serves to change the declaration of the overrides, make sure
they return an empty value, and to propagate OOM errors frm their base
initialize invocations.
2023-01-29 00:02:45 +00:00
Timothy Flynn
834202aeb9
LibWeb: Move setting of Web object prototypes to initialize()
...
This needs to happen before prototype/constructor intitialization can be
made lazy. Otherwise, GC could run during the C++ constructor and try to
collect the object currently being created.
2023-01-10 16:08:14 +01:00