Prechádzať zdrojové kódy

LibWeb: Implement TransformStreamDefaultController::terminate()

Kenneth Myhra 2 rokov pred
rodič
commit
4d4fc53f5c

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

@@ -61,4 +61,13 @@ WebIDL::ExceptionOr<void> TransformStreamDefaultController::error(Optional<JS::V
     return {};
 }
 
+// https://streams.spec.whatwg.org/#ts-default-controller-terminate
+WebIDL::ExceptionOr<void> TransformStreamDefaultController::terminate()
+{
+    // 1. Perform ? TransformStreamDefaultControllerTerminate(this).
+    TRY(transform_stream_default_controller_terminate(*this));
+
+    return {};
+}
+
 }

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

@@ -21,6 +21,7 @@ public:
     Optional<double> desired_size();
     WebIDL::ExceptionOr<void> enqueue(Optional<JS::Value> chunk);
     WebIDL::ExceptionOr<void> error(Optional<JS::Value> reason = {});
+    WebIDL::ExceptionOr<void> terminate();
 
     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

@@ -5,5 +5,5 @@ interface TransformStreamDefaultController {
 
     undefined enqueue(optional any chunk);
     undefined error(optional any reason);
-    // FIXME: undefined terminate();
+    undefined terminate();
 };