spec/Overview.html 1.1702 2531 Simplify the way messages in ports are h

Simplify the way messages in ports are handled when the destination's
document is not available. (whatwg r2531)

close()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1702.html#dom-messageport-close
7.5.3.1 Ports and garbage collection
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1702.html#ports-and-garbage-collection
onclose
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1702.html#handler-messageport-onclose
onmessage
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1702.html#handler-messageport-onmessage
postMessage()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1702.html#dom-messageport-postmessage
start()
http://people.w3.org/mike/diffs/html5/spec/Overview.1.1702.html#dom-messageport-start

http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html
http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1701&r2=1.1702&f=h
http://html5.org/tools/web-apps-tracker?from=2530&to=2531

===================================================================
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:05:20 UTC