- From: Adam Rice <notifications@github.com>
- Date: Fri, 10 Jul 2020 18:39:26 -0700
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Saturday, 11 July 2020 01:39:38 UTC
@ricea commented on this pull request. > +operations are used to implement these "cross-realm transforms". + +<div algorithm> + <dfn abstract-op lt="PackAndPostMessage">PackAndPostMessage(|port|, |type|, |value|)</dfn> performs + the following steps: + + 1. Let |message| be [$OrdinaryObjectCreate$](null). + 1. Perform [$CreateDataProperty$](|message|, `"type"`, |type|). + 1. Perform [$CreateDataProperty$](|message|, `"value"`, |value|). + 1. Let |targetPort| be the port with which |port| is entangled, if any; otherwise let it be null. + 1. Let |options| be «[ `"transfer"` → « » ]». + 1. Run the [=message port post message steps=] providing |targetPort|, |message| and |options|. + + <p class="note">A JavaScript object is used for transfer to avoid having to duplicate the [=message + port post message steps=]. The prototype of the object is set to null to avoid interference from + the global object.</p> I wasn't sure how to linkify it, so I went with `%ObjectPrototype%`, which is mostly the same thing. -- 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_r453139465
Received on Saturday, 11 July 2020 01:39:38 UTC