Re: [whatwg/streams] TransformStream: clear algorithms once they will no longer be called (#937)

domenic approved this pull request.



> @@ -4621,6 +4622,18 @@ throws>SetUpTransformStreamDefaultControllerFromTransformer ( <var>stream</var>,
   1. Perform ! SetUpTransformStreamDefaultController(_stream_, _controller_, _transformAlgorithm_, _flushAlgorithm_).
 </emu-alg>
 
+<h4 id="transform-stream-default-controller-clear-algorithms" aoid="TransformStreamDefaultControllerClearAlgorithms"
+nothrow>TransformStreamDefaultControllerClearAlgorithms ( <var>controller</var> )</h4>
+
+This abstract operation is called once the stream is closed or errored and the algorithms will not be executed any more.
+By removing the algorithm references it permits the <a>transformer</a> object to be garbage collected even if the
+{{TransformStream}} itself is still referenced.

Maybe add

```html
<p class="note">The results of this algorithm are not currently observable, but could become so if JavaScript eventually adds <a href="https://github.com/tc39/proposal-weakrefs/">weak references</a>. But even without that factor, implementations will likely want to include similar steps.</p>
```

or some similar phrasing?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/937#pullrequestreview-133689458

Received on Monday, 2 July 2018 16:13:12 UTC