diff --git a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp index cd23db1e0f..9ca7ebe43f 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp +++ b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.cpp @@ -61,4 +61,13 @@ WebIDL::ExceptionOr TransformStreamDefaultController::error(Optional TransformStreamDefaultController::terminate() +{ + // 1. Perform ? TransformStreamDefaultControllerTerminate(this). + TRY(transform_stream_default_controller_terminate(*this)); + + return {}; +} + } diff --git a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h index e2bef2f2cc..327b4c4cd1 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h +++ b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.h @@ -21,6 +21,7 @@ public: Optional desired_size(); WebIDL::ExceptionOr enqueue(Optional chunk); WebIDL::ExceptionOr error(Optional reason = {}); + WebIDL::ExceptionOr terminate(); auto& flush_algorithm() { return m_flush_algorithm; } void set_flush_algorithm(Optional&& value) { m_flush_algorithm = move(value); } diff --git a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.idl b/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.idl index 4bb99ac60c..8a8408abb2 100644 --- a/Userland/Libraries/LibWeb/Streams/TransformStreamDefaultController.idl +++ b/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(); };