Short URL: http://html5.org/r/2020
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 2020 | Make MessagePort objects not be owned by Windows necessarily, and remove ownerWindow. | 2008-08-06 00:25 |
Index: source
===================================================================
--- source (revision 2019)
+++ source (revision 2020)
@@ -41223,11 +41223,11 @@
<ol>
<li><p><span>Create a new <code>MessagePort</code> object</span>
- owned by the <span>script browsing context</span>, and let <var
+ owned by the <span>script execution context</span>, and let <var
title="">port1</var> be that object.</p></li>
<li><p><span>Create a new <code>MessagePort</code> object</span>
- owned by the <span>script browsing context</span>, and let <var
+ owned by the <span>script execution context</span>, and let <var
title="">port2</var> be that object.</p></li>
<li><p><span>Entangle</span> the <var title="">port1</var> and <var
@@ -41263,7 +41263,6 @@
received by the other port, and vice versa.</p>
<pre class="idl">interface <dfn>MessagePort</dfn> {
- readonly attribute <span>Window</span> <span title="dom-MessagePort-ownerWindow">ownerWindow</span>;
readonly attribute boolean <span title="dom-MessagePort-active">active</span>;
boolean <span title="dom-MessagePort-postMessage">postMessage</span>(in DOMString message);
boolean <span title="dom-MessagePort-postMessage">postMessage</span>(in DOMString message, in <span>MessagePort</span> messagePort);
@@ -41277,18 +41276,17 @@
};</pre>
<p>When the user agent is to <dfn>create a new
- <code>MessagePort</code> object</dfn> owned by a <code>Window</code>
- object <var title="">owner</var>, it must run the following
- steps:</p>
+ <code>MessagePort</code> object</dfn> owned by a <span>script
+ execution context</span> object <var title="">owner</var>, it must
+ run the following steps:</p>
<ol>
<li><p>Instantiate a new <code>MessagePort</code> object, and let
<var title="">port</var> be that object.</p></li>
- <li><p>Set the <code
- title="dom-MessagePort-ownerWindow">ownerWindow</code> attribute of
- <var title="">port</var> to <var title="">owner</var>.</p></li>
+ <li><p>Let <var title="">port</var>'s owner be <var
+ title="">owner</var>.</p></li>
<li><p>Set the <code title="dom-MessagePort-active">active</code>
attribute of <var title="">port</var> be false.</p></li>
@@ -41383,11 +41381,6 @@
<hr>
- <p>The <dfn
- title="dom-MessagePort-ownerWindow"><code>ownerWindow</code></dfn>
- attribute must return the value it was assigned when the
- <code>MessagePort</code> object was created.</p>
-
<p>The <dfn title="dom-MessagePort-active"><code>active</code></dfn>
attribute must return the last value that it was set to according to
the rules of this specification.</p>
@@ -41440,11 +41433,9 @@
<li><p>Try to obtain a <var title="">new data port</var> by <span
title="clone a port">cloning</span> the <var title="">data
- port</var> with the <span
- title="dom-MessagePort-ownerWindow">owner</span> of the <var
- title="">target port</var> as the owner of the clone. If this
- returns an exception, then throw that exception and abort these
- steps.</p></li>
+ port</var> with the owner of the <var title="">target port</var>
+ as the owner of the clone. If this returns an exception, then
+ throw that exception and abort these steps.</p></li>
<li><p>Let the <code
title="dom-MessageEvent-messagePort">messagePort</code> attribute
@@ -41457,15 +41448,16 @@
<li><p>Return true from the method, but continue with these
steps.</p></li>
- <li><p>Wait for all scripts in the <span>unit of related browsing
- contexts</span> to which the <span
- title="dom-MessagePort-ownerWindow">owner</span> of the <var
- title="">target port</var> belongs to have executed to completion,
- and then dispatch the event at the <var title="">target port</var>
- object. If this never happens (e.g. the relevant <span>browsing
+ <li><p>Wait for all scripts in the conceptual thread that the
+ <span>script execution context</span> that owns the <var
+ title="">target port</var> belongs to have executed to
+ completion. If this never happens (e.g. the relevant <span>browsing
context</span> is closed by the user before the event can be
dispatched), then discard the event.</p></li><!-- XXX queue -->
+ <li><p>Dispatch the event at the <var title="">target port</var>
+ object.</p></li>
+
</ol>
<p class="big-issue">People often request the ability to send
@@ -41556,9 +41548,8 @@
<p>Ports are deactivated and unentangled when the
<code>Document</code> that was the <span>active document</span> of
the <span>browsing context</span> corresponding to the
- <code>Window</code> object that <span
- title="dom-MessagePort-ownerWindow">owns</span> them is <span
- title="discard a document">discarded</span>.</p>
+ <code>Window</code> object that owns them is <span title="discard a
+ document">discarded</span>.</p>
<p>To <dfn>deactivate a port</dfn> <var title="">local port</var>
that is entangled with a second port <var title="">remote