mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 05:47:35 +00:00
LibWeb: Add AO transform_stream_set_backpressure()
This commit is contained in:
parent
d8d0e8a6ea
commit
91f58eb220
2 changed files with 23 additions and 0 deletions
|
@ -21,6 +21,7 @@
|
|||
#include <LibWeb/Streams/ReadableStreamDefaultController.h>
|
||||
#include <LibWeb/Streams/ReadableStreamDefaultReader.h>
|
||||
#include <LibWeb/Streams/ReadableStreamGenericReader.h>
|
||||
#include <LibWeb/Streams/TransformStream.h>
|
||||
#include <LibWeb/Streams/TransformStreamDefaultController.h>
|
||||
#include <LibWeb/Streams/UnderlyingSink.h>
|
||||
#include <LibWeb/Streams/UnderlyingSource.h>
|
||||
|
@ -2733,6 +2734,27 @@ void transform_stream_default_controller_clear_algorithms(TransformStreamDefault
|
|||
controller.set_flush_algorithm({});
|
||||
}
|
||||
|
||||
// https://streams.spec.whatwg.org/#transform-stream-set-backpressure
|
||||
WebIDL::ExceptionOr<void> transform_stream_set_backpressure(TransformStream& stream, bool backpressure)
|
||||
{
|
||||
auto& realm = stream.realm();
|
||||
|
||||
// 1. Assert: stream.[[backpressure]] is not backpressure.
|
||||
VERIFY(stream.backpressure() != backpressure);
|
||||
|
||||
// 2. If stream.[[backpressureChangePromise]] is not undefined, resolve stream.[[backpressureChangePromise]] with undefined.
|
||||
if (stream.backpressure_change_promise())
|
||||
WebIDL::resolve_promise(realm, *stream.backpressure_change_promise(), JS::js_undefined());
|
||||
|
||||
// 3. Set stream.[[backpressureChangePromise]] to a new promise.
|
||||
stream.set_backpressure_change_promise(WebIDL::create_promise(realm));
|
||||
|
||||
// 4. Set stream.[[backpressure]] to backpressure.
|
||||
stream.set_backpressure(backpressure);
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
// https://streams.spec.whatwg.org/#is-non-negative-number
|
||||
bool is_non_negative_number(JS::Value value)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue