Andreas Kling
26d5d86682
LibWeb/Streams: Mark ReadableStreamGenericReaderMixin::m_realm
2023-08-09 19:16:07 +02:00
Andreas Kling
97ebfd9f0f
LibJS: Make Value::to_string_without_side_effects() infallible
...
Work towards #20449 .
2023-08-09 17:09:16 +02:00
Andreas Kling
c084269e5f
LibJS: Make PrimitiveString::utf8_string() infallible
...
Work towards #20449 .
2023-08-09 17:09:16 +02:00
Andreas Kling
18c54d8d40
LibJS: Make Cell::initialize() return void
...
Stop worrying about tiny OOMs.
Work towards #20405
2023-08-08 07:39:11 +02:00
Daniel Bertalan
9feb1ce39f
LibJS+LibWeb: Apply the Rule of Zero to {Nonnull,}GCPtr<T>
...
The compiler-generated copy constructor and copy assignment operator
already do the right thing (which is to simply copy the underlying
pointer).
The [Itanium C++ ABI][1] treats any class with non-trivial copy/move
constructors and destructors as non-trivial for the purposes of calls --
even if they are functionally identical to the compiler-generated ones.
If a class is non-trivial, it cannot be passed or returned in registers,
only via an invisible reference, which is worse for codegen. This commit
makes `{Nonnull,}GCPtr` trivial.
As the compiler can be sure that capturing a `GCPtr` by value has no
side effects, a few `-Wunused-lambda-capture` warnings had to be
addressed in LibWeb.
GCC seems to have a bug that prevents `ExceptionOr<Variant<GCPtr<T>>>`
from being implicitly constructed from `GCPtr<T>` after this change. A
non-invasive workaround is to explicitly construct the inner Variant
type.
[1]: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#non-trivial
2023-08-07 22:20:03 -04:00
Timothy Flynn
9d7215c636
LibJS+LibWeb: Move IteratorOperations.h AOs to Iterator.h
...
Rather than splitting the Iterator type and its AOs into two files,
let's combine them into one file to match every other JS runtime object
that we have.
2023-07-19 14:11:43 +01:00
Shannon Booth
2b46e6f664
Everywhere: Update copyrights with my new serenityos.org e-mail :^)
2023-07-15 16:21:29 +02:00
Kenneth Myhra
d4f729a6d3
LibWeb: Implement TransforStream's constructor
2023-07-15 11:59:39 +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
4d4fc53f5c
LibWeb: Implement TransformStreamDefaultController::terminate()
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
4ae82983a4
LibWeb: Implement TransformStreamDefaultController::enqueue()
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
2d0a2756b4
LibWeb: Implement TransformStreamDefaultController::error()
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
Kenneth Myhra
f1d69d789b
LibWeb: Add TransformStream scaffolding
...
This adds the scaffolding of TransformStream so we can start
implementing the necessary abstract operations for it.
2023-07-15 11:59:39 +02:00
Kenneth Myhra
12ff48047f
LibWeb: Add Transformer API
...
This adds the Transformer API which the TransformStream() constructor
accepts as its first argument.
2023-07-15 11:59:39 +02:00
Shannon Booth
0f040456a7
LibWeb: Add ReadableStreamGetReaderOptions to ReadableStream.getReader
...
Co-Authored-By: Matthew Olsson <mattco@serenityos.org>
2023-07-05 23:33:20 +01: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
a975fca42e
LibWeb: Implement size attribute of ByteLengthQueuingStrategy
...
Co-authored-by: Matthew Olsson <mattco@serenityos.org>
2023-06-23 13:27:29 +02:00
Shannon Booth
49689e5d8e
LibWeb: Implement size attribute of CountQueuingStrategy
...
Co-authored-by: Matthew Olsson <mattco@serenityos.org>
2023-06-23 13:27:29 +02:00
Shannon Booth
4f217947b3
LibWeb: Implement QueuingStrategy for Web::Streams::ReadableStream
2023-06-23 13:27:29 +02:00
Shannon Booth
9cb4bf0683
LibWeb: Implement QueuingStrategy for Web::Streams::WritableStream
2023-06-22 06:58:23 +02: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
e1d71454eb
LibWeb: Correct parameter name in Web::Streams::ReadableStream::cancel
...
This aligns with the name given in the implementation file and is a
better description of what is being passed in.
2023-06-22 06:58:23 +02:00
Shannon Booth
314eeeb9b2
LibWeb: Const qualify Web::Streams::ReadableStream::locked
2023-06-22 06:58:23 +02:00
Shannon Booth
42c102ecb6
LibWeb: Add IDL definition for Web::Streams::QueuingStrategy
2023-06-22 06:58:23 +02:00
Shannon Booth
f86c3ab148
LibWeb: Implement ByteLengthQueuingStrategy highWaterMark property
2023-06-21 12:27:04 +02:00
Shannon Booth
c9941ba95b
LibWeb: Implement CountQueuingStrategy highWaterMark property
2023-06-21 12:27:04 +02:00
Shannon Booth
0d714ad165
LibWeb: Add IDL definition for Web::Streams::QueuingStrategyInit
...
This is used in the constructor for ByteLengthQueuingStrategy and
CountQueuingStrategy.
2023-06-21 12:27:04 +02:00