- From: Adam Rice <notifications@github.com>
- Date: Wed, 08 Jul 2020 14:05:56 -0700
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/streams/pull/1053/review/445128454@github.com>
@ricea commented on this pull request. > + 1. Set |backpressurePromise| to [=a new promise=]. + 1. Otherwise, if |type| is `"close"`, + 1. Perform ! [$ReadableStreamDefaultControllerClose$](|controller|). + 1. Disentangle |port|. + 1. Otherwise, if |type| is `"error"`, + 1. Perform ! [$ReadableStreamDefaultControllerError$](|controller|, |value|) + 1. Disentangle |port|. + 1. Add a handler for |port|'s {{MessagePort/messageerror}} event with the following steps: + 1. Let |error| be a new "{{DataCloneError}}" {{DOMException}}. + 1. Perform ! [$CrossRealmTransformSendError$](|port|, |error|). + 1. Perform ! [$ReadableStreamDefaultControllerError$](|controller|, |error|). + 1. Disentangle |port|. + 1. Let |startAlgorithm| be an algorithm that returns undefined. + 1. Let |pullAlgorithm| be the following steps: + 1. Perform ! [$PackAndPostMessage$](|port|, `"pull"`, undefined). + 1. Return |backpressurePromise|. I don't want to diverge too much from Blink's implementation, as until there's another implementation it's the only sanity check we have. However, I can try this in Blink and see whether anything breaks. In principle the behaviour shouldn't change, and it would be a nice simplification to get rid of `backpressurePromise`. -- 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/1053#discussion_r451824983
Received on Wednesday, 8 July 2020 21:06:08 UTC