Browse Source

LibWeb: Implement TransformStreamDefaultController::error()

Kenneth Myhra 2 years ago
parent
commit
2d0a2756b4

+ 9 - 0
Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp

@@ -43,4 +43,13 @@ Optional<double> TransformStreamDefaultController::desired_size()
     return readable_stream_default_controller_get_desired_size(*readable_controller);
 }
 
+// https://streams.spec.whatwg.org/#ts-default-controller-error
+WebIDL::ExceptionOr<void> TransformStreamDefaultController::error(Optional<JS::Value> reason)
+{
+    // 1. Perform ? TransformStreamDefaultControllerError(this, e).
+    TRY(transform_stream_default_controller_error(*this, reason.has_value() ? reason.value() : JS::js_undefined()));
+
+    return {};
+}
+
 }

+ 1 - 0
Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h

@@ -19,6 +19,7 @@ public:
     virtual ~TransformStreamDefaultController() override;
 
     Optional<double> desired_size();
+    WebIDL::ExceptionOr<void> error(Optional<JS::Value> reason = {});
 
     auto& flush_algorithm() { return m_flush_algorithm; }
     void set_flush_algorithm(Optional<FlushAlgorithm>&& value) { m_flush_algorithm = move(value); }

+ 1 - 1
Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.idl

@@ -4,6 +4,6 @@ interface TransformStreamDefaultController {
     readonly attribute unrestricted double? desiredSize;
 
     // FIXME: undefined enqueue(optional any chunk);
-    // FIXME: undefined error(optional any reason);
+    undefined error(optional any reason);
     // FIXME: undefined terminate();
 };