Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editorial: link to post message options #5860

Merged
merged 1 commit into from
Aug 25, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -78216,7 +78216,7 @@ interface <dfn data-export="" data-dfn-type="interface">Window</dfn> : <span>Eve
<span>Window</span> includes <span>WindowEventHandlers</span>;

dictionary <dfn>WindowPostMessageOptions</dfn> : <span>PostMessageOptions</span> {
USVString targetOrigin = "/";
USVString <dfn data-x="dom-WindowPostMessageOptions-targetOrigin">targetOrigin</dfn> = "/";
};</code></pre>

<!-- for more features to add here, look here:
Expand Down Expand Up @@ -97953,10 +97953,12 @@ function receiver(e) {
objects, etc), and can contain certain data objects such as <code>File</code> <code>Blob</code>,
<code>FileList</code>, and <code data-x="idl-ArrayBuffer">ArrayBuffer</code> objects.</p>

<p>Objects listed in the <code data-x="">transfer</code> member of <var>options</var> are
transferred, not just cloned, meaning that they are no longer usable on the sending side.</p>
<p>Objects listed in the <code data-x="dom-PostMessageOptions-transfer">transfer</code> member
of <var>options</var> are transferred, not just cloned, meaning that they are no longer usable
on the sending side.</p>

<p>A target origin can be specified using the <code data-x="">targetOrigin</code> member of
<p>A target origin can be specified using the <code
data-x="dom-WindowPostMessageOptions-targetOrigin">targetOrigin</code> member of
<var>options</var>. If not provided, it defaults to "<code data-x="">/</code>". This default
restricts the message to same-origin targets only.</p>

Expand Down Expand Up @@ -98004,7 +98006,7 @@ function receiver(e) {
https://github.com/whatwg/html/issues/1542#issuecomment-233502636 -->

<li><p>Let <var>targetOrigin</var> be <var>options</var>["<code
data-x="">targetOrigin</code>"].</p></li>
data-x="dom-WindowPostMessageOptions-targetOrigin">targetOrigin</code>"].</p></li>

<li><p>If <var>targetOrigin</var> is a single U+002F SOLIDUS character (/), then set
<var>targetOrigin</var> to <var>incumbentSettings</var>'s <span
Expand All @@ -98026,7 +98028,8 @@ function receiver(e) {
</ol>
</li>

<li><p>Let <var>transfer</var> be <var>options</var>["<code data-x="">transfer</code>"].</p></li>
<li><p>Let <var>transfer</var> be <var>options</var>["<code
data-x="dom-PostMessageOptions-transfer">transfer</code>"].</p></li>

<li><p>Let <var>serializeWithTransferResult</var> be
<span>StructuredSerializeWithTransfer</span>(<var>message</var>, <var>transfer</var>). Rethrow
Expand Down Expand Up @@ -98098,8 +98101,10 @@ function receiver(e) {
<ol>
<li><p>Let <var>targetWindow</var> be this <code>Window</code> object.</p></li>

<li><p>Let <var>options</var> be «[ "<code data-x="">targetOrigin</code>" →
<var>targetOrigin</var>, "<code data-x="">transfer</code>" → <var>transfer</var> ]».</p></li>
<li><p>Let <var>options</var> be «[ "<code
data-x="dom-WindowPostMessageOptions-targetOrigin">targetOrigin</code>" →
<var>targetOrigin</var>, "<code data-x="dom-PostMessageOptions-transfer">transfer</code>" →
<var>transfer</var> ]».</p></li>

<li><p>Run the <span>window post message steps</span> providing <var>targetWindow</var>,
<var>message</var>, and <var>options</var>.</p></li>
Expand Down Expand Up @@ -98378,7 +98383,7 @@ interface <dfn>MessagePort</dfn> : <span>EventTarget</span> {
};

dictionary <dfn>PostMessageOptions</dfn> {
sequence&lt;<span data-x="idl-object">object</span>&gt; transfer = [];
sequence&lt;<span data-x="idl-object">object</span>&gt; <dfn data-x="dom-PostMessageOptions-transfer">transfer</dfn> = [];
};</code></pre>

<dl class="domintro">
Expand Down Expand Up @@ -98520,7 +98525,8 @@ dictionary <dfn>PostMessageOptions</dfn> {
and <var>options</var> are as follows:</p>

<ol> <!-- a lot of this is similar or identical to the window post message steps -->
<li><p>Let <var>transfer</var> be <var>options</var>["<code data-x="">transfer</code>"].</p></li>
<li><p>Let <var>transfer</var> be <var>options</var>["<code
data-x="dom-PostMessageOptions-transfer">transfer</code>"].</p></li>

<li><p>If <var>transfer</var> <span data-x="list contains">contains</span> this
<code>MessagePort</code>, then throw a <span>"<code>DataCloneError</code>"</span>
Expand Down Expand Up @@ -98607,8 +98613,8 @@ dictionary <dfn>PostMessageOptions</dfn> {
<li><p>Let <var>targetPort</var> be the port with which this <code>MessagePort</code> is
entangled, if any; otherwise let it be null.</p></li>

<li><p>Let <var>options</var> be «[ "<code data-x="">transfer</code>" → <var>transfer</var>
]».</p></li>
<li><p>Let <var>options</var> be «[ "<code
data-x="dom-PostMessageOptions-transfer">transfer</code>" → <var>transfer</var> ]».</p></li>

<li><p>Run the <span>message port post message steps</span> providing <var>targetPort</var>,
<var>message</var> and <var>options</var>.</p></li>
Expand Down Expand Up @@ -99516,7 +99522,7 @@ interface <dfn>DedicatedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span>
<var>transfer</var> ])</dt>
<dt><var>dedicatedWorkerGlobal</var> . <code subdfn
data-x="dom-DedicatedWorkerGlobalScope-postMessage-options">postMessage</code>(<var>message</var>
[, { <code data-x="">transfer</code> } ])</dt>
[, { <code data-x="dom-PostMessageOptions-transfer">transfer</code> } ])</dt>
<dd>Clones <var>message</var> and transmits it to the <code>Worker</code> object associated with
<var>dedicatedWorkerGlobal</var>. <var>transfer</var> can be passed as a list of objects that are
to be transferred rather than cloned.</dd>
Expand Down Expand Up @@ -100285,7 +100291,7 @@ enum <dfn>WorkerType</dfn> { "classic", "module" };
data-x="dom-Worker-postMessage">postMessage</code>(<var>message</var> [, <var>transfer</var> ] )
<dt><var>worker</var> . <code subdfn
data-x="dom-Worker-postMessage-options">postMessage</code>(<var>message</var> [, { <code
data-x="">transfer</code> } ] )
data-x="dom-PostMessageOptions-transfer">transfer</code> } ] )
<dd>Clones <var>message</var> and transmits it to <var>worker</var>'s global environment.
<var>transfer</var> can be passed as a list of objects that are to be transferred rather than
cloned.</dd>
Expand Down