spec/Overview.html 1.1073 1884 Making garbage collection fire an event

Making garbage collection fire an event was a stupid idea. Let's only
make an explicit .close() cause unload to be fired. (whatwg r1884)
(changed by: Ian Hickson)

Diffs for this change per section: 
  close()
  http://people.w3.org/mike/diffs/html5/spec/Overview.1.1073.html#close2
  reactivate a port
  http://people.w3.org/mike/diffs/html5/spec/Overview.1.1073.html#reactivate
  onunload
  http://people.w3.org/mike/diffs/html5/spec/Overview.1.1073.html#onunload0
  discard a Document
  http://people.w3.org/mike/diffs/html5/spec/Overview.1.1073.html#discard
  7.5.3.1. Ports and browsing contexts
  http://people.w3.org/mike/diffs/html5/spec/Overview.1.1073.html#ports
  7.5.3.2. Ports and garbage collection
  http://people.w3.org/mike/diffs/html5/spec/Overview.1.1073.html#ports0

Current content per affected section: 
  http://dev.w3.org/html5/spec/Overview.html#close2
  http://dev.w3.org/html5/spec/Overview.html#unentangling
  http://dev.w3.org/html5/spec/Overview.html#reactivate
  http://dev.w3.org/html5/spec/Overview.html#onunload0
  http://dev.w3.org/html5/spec/Overview.html#discard
  http://dev.w3.org/html5/spec/Overview.html#unentangle
  http://dev.w3.org/html5/spec/Overview.html#ports
  http://dev.w3.org/html5/spec/Overview.html#ports0

Previously published WD content per affected section: 
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#close2
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#unentangling
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#reactivate
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#onunload0
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#discard
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#unentangle
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#ports
  http://www.w3.org/TR/2008/WD-html5-20080610/single-page/#ports0

Cumulative diff: http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1072&r2=1.1073&f=h

http://html5.org/tools/web-apps-tracker?from=1883&to=1884

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.1072
retrieving revision 1.1073
diff -u -d -r1.1072 -r1.1073
--- Overview.html 16 Jul 2008 21:11:52 -0000 1.1072
+++ Overview.html 17 Jul 2008 00:12:00 -0000 1.1073
@@ -19,7 +19,7 @@
     for HTML and XHTML</h2>
 
    <h2 class="no-num no-toc" id=editors0><!-- "W3C Working Draft" -->
-    Editor's Draft <!--ZZZ-->16 July 2008</h2>
+    Editor's Draft <!--ZZZ-->17 July 2008</h2>
 
    <dl><!-- ZZZ: update the month/day
     <dt>This Version:</dt>
@@ -167,7 +167,7 @@
 
   <p>The W3C <a href="http://www.w3.org/html/wg/">HTML Working Group</a> is
    the W3C working group responsible for this specification's progress along
-   the W3C Recommendation track. <!--ZZZ:--> This specification is the 16
+   the W3C Recommendation track. <!--ZZZ:--> This specification is the 17
    July 2008 <!--ZZZ "Working Draft"-->Editor's Draft. <!--:ZZZ--></p>
   <!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST -->
   <!-- relationship to other work (required) -->
@@ -1707,13 +1707,10 @@
        <li><a href="#message0"><span class=secno>7.5.3 </span>Message
         ports</a>
         <ul class=toc>
-         <li><a href="#unentangling"><span class=secno>7.5.3.1.
-          </span>Unentangling</a>
-
-         <li><a href="#ports"><span class=secno>7.5.3.2. </span>Ports and
+         <li><a href="#ports"><span class=secno>7.5.3.1. </span>Ports and
           browsing contexts</a>
 
-         <li><a href="#ports0"><span class=secno>7.5.3.3. </span>Ports and
+         <li><a href="#ports0"><span class=secno>7.5.3.2. </span>Ports and
           garbage collection</a>
         </ul>
       </ul>
@@ -35281,8 +35278,8 @@
    message ports</a>, if the document is the <a href="#active">active
    document</a>, or otherwise any ports in that document's <a
    href="#list-of3">list of message ports</a>, if the document is not the <a
-   href="#active">active document</a>, must be <span>unentangled with
-   prejudice</span>.
+   href="#active">active document</a>, must be <span>deactivated</span> and
+   unentangled..
 
   <p class=big-issue>Also, <code title=event-unload>unload</code> events
    should fire.
@@ -42827,9 +42824,27 @@
   <p>The <dfn id=close2
    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 <var title="">local port</var> to be
-   <span>unentangled with prejudice</span>. If the method is called on a port
-   that is not entangled, then the method must do nothing.
+   port, must cause the user agents to run the following steps:
+
+  <ol>
+   <li>
+    <p>Unentangle the two ports.
+
+   <li>
+    <p>Set both ports' <code title=dom-messageport-active><a
+     href="#active0">active</a></code> attribute to false.
+
+   <li>
+    <p>At the next available opportunity, after any scripts have finished
+     executing<!-- XXX queue -->, <a href="#firing2">fire a simple event</a>
+     called <code title=event-unload>unload</code> at each of the message
+     ports. If the two message ports are in the same <a href="#unit-of">unit
+     of related browsing contexts</a>, then the port on which the method was
+     called must receive the event first.
+  </ol>
+
+  <p>If the method is called on a port that is not entangled, then the method
+   must do nothing.
 
   <hr>
 
@@ -42879,32 +42894,7 @@
    object. Those features are intended for use with Workers. <a
    href="#references">[WORKERS]</a>
 
-  <h5 id=unentangling><span class=secno>7.5.3.1. </span>Unentangling</h5>
-
-  <p>A message port is entangled and unentangled as part of the normal
-   processing of message channels. When a channel is closed permanently but
-   in a controlled fashion, however, the user agent will be required to <dfn
-   id=unentangle title="unentangle with prejudice">unentangle a port with
-   prejudice</dfn>, which means it must run the following steps:
-
-  <ol>
-   <li>
-    <p>Unentangle the two ports.
-
-   <li>
-    <p>Set both ports' <code title=dom-messageport-active><a
-     href="#active0">active</a></code> attribute to false.
-
-   <li>
-    <p>At the next available opportunity, after any scripts have finished
-     executing<!-- XXX queue -->, <a href="#firing2">fire a simple event</a>
-     called <code title=event-unload>unload</code> at each of the message
-     ports. If the two message ports are in the same <a href="#unit-of">unit
-     of related browsing contexts</a>, then the port being unentangled with
-     prejudice must receive the event first.
-  </ol>
-
-  <h5 id=ports><span class=secno>7.5.3.2. </span>Ports and browsing contexts</h5>
+  <h5 id=ports><span class=secno>7.5.3.1. </span>Ports and browsing contexts</h5>
 
   <p>During <a href="#traverse" title="traverse the history">session history
    traversal</a> (e.g. when a user <a href="#navigate"
@@ -42937,7 +42927,7 @@
    href="#active0">active</a></code> attribute of the port's entangled port,
    not its own attribute.
 
-  <h5 id=ports0><span class=secno>7.5.3.3. </span>Ports and garbage
+  <h5 id=ports0><span class=secno>7.5.3.2. </span>Ports and garbage
    collection</h5>
 
   <p>User agents must act as if <code><a
@@ -42959,7 +42949,7 @@
   </div>
 
   <p>When an entangled message port is about to be garbage collected, it must
-   be <span>unentangled with prejudice</span>, so that the two ports are no
+   be <span>deactivated</span> and unentangled, so that the two ports are no
    longer related and so that the other port's <code
    title=dom-MessagePort-active><a href="#active0">active</a></code>
    attribute is set to false.

Received on Thursday, 17 July 2008 01:31:27 UTC