- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 16 Dec 2008 01:01:44 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv28673
Modified Files:
Overview.html
Log Message:
Simplify the way messages in ports are handled when the destination's document is not available. (whatwg r2531)
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1701
retrieving revision 1.1702
diff -u -d -r1.1701 -r1.1702
--- Overview.html 16 Dec 2008 00:55:38 -0000 1.1701
+++ Overview.html 16 Dec 2008 01:01:42 -0000 1.1702
@@ -808,8 +808,7 @@
<li><a href=#message-channels><span class=secno>7.5.2 </span>Message channels</a></li>
<li><a href=#message-ports><span class=secno>7.5.3 </span>Message ports</a>
<ol>
- <li><a href=#message-port-discarding><span class=secno>7.5.3.1 </span>Ports and browsing contexts</a></li>
- <li><a href=#ports-and-garbage-collection><span class=secno>7.5.3.2 </span>Ports and garbage collection</a></ol></ol></ol></li>
+ <li><a href=#ports-and-garbage-collection><span class=secno>7.5.3.1 </span>Ports and garbage collection</a></ol></ol></ol></li>
<li><a href=#syntax><span class=secno>8 </span>The HTML syntax</a>
<ol>
<li><a href=#writing-html-documents><span class=secno>8.1 </span>Writing HTML documents</a>
@@ -35892,27 +35891,13 @@
</ol>
--><hr><p>The <dfn id=dom-messageport-start title=dom-MessagePort-start><code>start()</code></dfn>
method must open its port's <a href=#port-message-queue>port message queue</a>, if it
- is not already open.<p>When a port's <a href=#port-message-queue>port message queue</a> is open, contains
- an event, and its owner is <a href=#port-owner-available title="port owner
- available">available</a>, the user agent must <a href=#queue-a-task>queue a
- task</a> in the <a href=#event-loop>event loop</a> to dispatch the first
- event in the queue on the <code><a href=#messageport>MessagePort</a></code> object, and
- remove the event from the queue. The <a href=#task-source>task source</a> for
- this <a href=#concept-task title=concept-task>task</a> is the <a href=#posted-message-task-source>posted
- message task source</a>.<p>A <code><a href=#messageport>MessagePort</a></code>'s owner is <dfn id=port-owner-available title="port owner
- available">available</dfn> if the <code><a href=#messageport>MessagePort</a></code> is owned
- by an object other than a <code><a href=#window>Window</a></code> object, or if it is
- owned by a <code><a href=#window>Window</a></code> object and the <code>Document</code>
- that was the <a href=#active-document>active document</a> in that <a href=#browsing-context>browsing
- context</a> when the <code><a href=#messageport>MessagePort</a></code> was created is
- <a href=#fully-active>fully active</a>. If that <code>Document</code> is
- discarded before the port's owner becomes available, then the events
- are lost.</p><!-- XXX when we have sorted out the global object mess, if that
- makes this easier to fix, then fix it better. (e.g. maybe just say
- that callback tasks aren't processed if they involve firing a
- callback that wouldn't fire because the code is swapped out? not
- sure how you'd handle prioritisation, i guess you'd just pretend
- those events weren't there for the time being) --><hr><p>The <dfn id=dom-messageport-close title=dom-MessagePort-close><code>close()</code></dfn>
+ is not already open.<p>When a port's <a href=#port-message-queue>port message queue</a> is open and
+ contains an event, the user agent must <a href=#queue-a-task>queue a task</a> in
+ the <a href=#event-loop>event loop</a> to dispatch the first event in the queue
+ on the <code><a href=#messageport>MessagePort</a></code> object, and remove the event from
+ the queue. The <a href=#task-source>task source</a> for this <a href=#concept-task title=concept-task>task</a> is the <a href=#posted-message-task-source>posted message task
+ source</a>.<p class=note>If the <a href=#script-group>script group</a> of the port's event
+ handlers is <i>frozen</i>, then the messages are lost.</p><hr><p>The <dfn id=dom-messageport-close title=dom-MessagePort-close><code>close()</code></dfn>
method, when called on a port <var title="">local port</var> that is
entangled with another port, must cause the user agents to run the
following steps:<ol><li><p>Unentangle the two ports.</li>
@@ -35947,29 +35932,10 @@
<dt><dfn id=handler-messageport-onclose title=handler-MessagePort-onclose><code>onclose</code></dfn></dt>
- <dd><p>Must be invoked whenever an <code title=event-close>close</code> event is targeted at or bubbles
+ <dd><p>Must be invoked whenever a <code title=event-close>close</code> event is targeted at or bubbles
through the <code><a href=#messageport>MessagePort</a></code> object.</dd>
- </dl><h5 id=message-port-discarding><span class=secno>7.5.3.1 </span>Ports and browsing contexts</h5><p>When a <code>Document</code> is <a href=#discard-a-document title="discard a
- document">discarded</a>, if there are any
- <code><a href=#messageport>MessagePort</a></code> objects that:<ul class=brief><li>are entangled, and</li>
- <li>are owned by the <a href=#browsing-context>browsing context</a> that contained that <code>Document</code>, and</li>
- <li>were created while that <code>Document</code> was the <a href=#active-document>active document</a> of that <a href=#browsing-context>browsing context</a>, and</li>
- <li>are entangled with a port that is either not owned by that <a href=#browsing-context>browsing context</a>, or were not created while that <code>Document</code> was the <a href=#active-document>active document</a> of that <a href=#browsing-context>browsing context</a>,</li>
- </ul><p>...then the user agent must run the following steps for each such
- port:<ol><li><p>Let <var title="">surviving port</var> be the port with
- which the <code><a href=#messageport>MessagePort</a></code> object in question is
- entangled.</li>
-
- <li><p>Unentangle the two ports.</li>
-
- <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
- event</a> called <code title=event-close>close</code> at
- <var title="">surviving port</var>. The <a href=#task-source>task source</a>
- for this <a href=#concept-task title=concept-task>task</a> is the <a href=#posted-message-task-source>posted
- message task source</a>.</li>
-
- </ol><h5 id=ports-and-garbage-collection><span class=secno>7.5.3.2 </span>Ports and garbage collection</h5><p>User agents must act as if <code><a href=#messageport>MessagePort</a></code> objects have
+ </dl><h5 id=ports-and-garbage-collection><span class=secno>7.5.3.1 </span>Ports and garbage collection</h5><p>User agents must act as if <code><a href=#messageport>MessagePort</a></code> objects have
a strong reference to their entangled <code><a href=#messageport>MessagePort</a></code>
object.<div class=note>
Received on Tuesday, 16 December 2008 01:01:53 UTC