[html5] r4770 - [giow] (2) Make timeouts and intervals survive a history traversal that unloads [...]

whatwg at whatwg.org whatwg at whatwg.org
Wed Feb 17 18:01:28 PST 2010


Author: ianh
Date: 2010-02-17 18:01:26 -0800 (Wed, 17 Feb 2010)
New Revision: 4770

Modified:
   complete.html
   index
   source
Log:
[giow] (2) Make timeouts and intervals survive a history traversal that unloads the document, but only if the document isn't actually disacarded.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8970

Modified: complete.html
===================================================================
--- complete.html	2010-02-18 01:56:39 UTC (rev 4769)
+++ complete.html	2010-02-18 02:01:26 UTC (rev 4770)
@@ -52849,7 +52849,10 @@
   <code>Document</code></dfn>, the user agent must run the following
   steps:</p>
 
-  <ol><li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
+  <ol><li><p>Set the <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false.</li>
+
+   <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
    the <code><a href=#document>Document</a></code> that are defined by this specification or
    any other relevant specifications.</li>
 
@@ -55343,8 +55346,8 @@
 
   <div class=impl>
 
-  <p>A <code><a href=#document>Document</a></code> has a <var title="">salvageable</var>
-  state, which is initially true.</p>
+  <p>A <code><a href=#document>Document</a></code> has a <var title=concept-document-salvageable>salvageable</var> state, which
+  is initially true.</p>
 
   <p>When a user agent is to <dfn id=prompt-to-unload-a-document>prompt to unload a document</dfn>,
   it must run the following steps.</p>
@@ -55359,7 +55362,8 @@
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>dispatch</i> step, then set the <code><a href=#document>Document</a></code>'s <var title="">salvageable</var> state to false.</li>
+   <i>dispatch</i> step, then set the <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false.</li>
 
    <li>
 
@@ -55405,10 +55409,10 @@
      document to be unloaded">refused to allow <em>this</em> document
      to be unloaded</a>; abort these steps.</p>
 
-     <li><p>If <var title="">salvageable</var> state of the
-     <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing context</a>
-     <var title="">b</var> is false, then set the <var title="">salvageable</var> state of <em>this</em> document to
-     false also.</li>
+     <li><p>If <var title=concept-document-salvageable>salvageable</var> state of
+     the <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
+     context</a> <var title="">b</var> is false, then set the <var title=concept-document-salvageable>salvageable</var> state of
+     <em>this</em> document to false also.</li>
 
     </ol></li>
 
@@ -55428,7 +55432,8 @@
 
    <li><p>If any event listeners were triggered by the earlier
    <i>unload event</i> step, then set the <code><a href=#document>Document</a></code>
-   object's <var title="">salvageable</var> state to false.</li>
+   object's <var title=concept-document-salvageable>salvageable</var> state to
+   false.</li>
 
    <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
    <code><a href=#document>Document</a></code> that are defined by this specification or any
@@ -55454,39 +55459,41 @@
      <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</li>
 
-     <li><p>If <var title="">salvageable</var> state of the
-     <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing context</a>
-     <var title="">b</var> is false, then set the <var title="">salvageable</var> state of <em>this</em> document to
-     false also.</li>
+     <li><p>If <var title=concept-document-salvageable>salvageable</var> state of
+     the <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
+     context</a> <var title="">b</var> is false, then set the <var title=concept-document-salvageable>salvageable</var> state of
+     <em>this</em> document to false also.</li>
 
     </ol></li>
 
-   <li><p>If <var title="">salvageable</var> and <var title="">recycle</var> are both false, then the
+   <li><p>If <var title=concept-document-salvageable>salvageable</var> and <var title="">recycle</var> are both false, then the
    <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> must <a href=#discard-a-document title="discard a document">discard the
    <code>Document</code></a>.</li>
 
   </ol><p>This specification defines the following <dfn id=unloading-document-cleanup-steps>unloading document
   cleanup steps</dfn>. Other specifications can define more.</p>
 
-  <ol><li><p>Empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s
-   <a href=#list-of-active-timeouts>list of active timeouts</a> and its <a href=#list-of-active-intervals>list of active
-   intervals</a>.</li> <!-- XXX Should this affect <var
-   title="">salvageable</var>? Should it happen at all? -->
-
-   <li><p>If there are any outstanding transactions that have
+  <ol><li><p>If there are any outstanding transactions that have
    callbacks that involve <a href=#concept-script title=concept-script>scripts</a>
    whose <a href="#script's-global-object" title="script's global object">global object</a> is
    the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object, roll them
-   back (without invoking any of the callbacks) and set <var title="">salvageable</var> to false.
-   <a href=#refsWEBSQL>[WEBSQL]</a>
-   </li>
+   back (without invoking any of the callbacks) and set the
+   <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false. <a href=#refsWEBSQL>[WEBSQL]</a> </li>
 
    <li><p><a href=#close-the-web-socket-connection>Close the Web Socket connection</a> of any
    <code><a href=#websocket>WebSocket</a></code> objects that were created by the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor visible on the
    <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object. If this
-   affected any <code><a href=#websocket>WebSocket</a></code> objects, set <var title="">salvageable</var> to false.
+   affected any <code><a href=#websocket>WebSocket</a></code> objects, the set
+   <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false.
    </li>
 
+   <li><p>If the <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state is
+   false, empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s
+   <a href=#list-of-active-timeouts>list of active timeouts</a> and its <a href=#list-of-active-intervals>list of active
+   intervals</a>.</li>
+
   </ol><h5 id=event-definition><span class=secno>6.5.10.1 </span>Event definition</h5>
 
   </div>

Modified: index
===================================================================
--- index	2010-02-18 01:56:39 UTC (rev 4769)
+++ index	2010-02-18 02:01:26 UTC (rev 4770)
@@ -52751,7 +52751,10 @@
   <code>Document</code></dfn>, the user agent must run the following
   steps:</p>
 
-  <ol><li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
+  <ol><li><p>Set the <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false.</li>
+
+   <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
    the <code><a href=#document>Document</a></code> that are defined by this specification or
    any other relevant specifications.</li>
 
@@ -55245,8 +55248,8 @@
 
   <div class=impl>
 
-  <p>A <code><a href=#document>Document</a></code> has a <var title="">salvageable</var>
-  state, which is initially true.</p>
+  <p>A <code><a href=#document>Document</a></code> has a <var title=concept-document-salvageable>salvageable</var> state, which
+  is initially true.</p>
 
   <p>When a user agent is to <dfn id=prompt-to-unload-a-document>prompt to unload a document</dfn>,
   it must run the following steps.</p>
@@ -55261,7 +55264,8 @@
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>dispatch</i> step, then set the <code><a href=#document>Document</a></code>'s <var title="">salvageable</var> state to false.</li>
+   <i>dispatch</i> step, then set the <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false.</li>
 
    <li>
 
@@ -55307,10 +55311,10 @@
      document to be unloaded">refused to allow <em>this</em> document
      to be unloaded</a>; abort these steps.</p>
 
-     <li><p>If <var title="">salvageable</var> state of the
-     <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing context</a>
-     <var title="">b</var> is false, then set the <var title="">salvageable</var> state of <em>this</em> document to
-     false also.</li>
+     <li><p>If <var title=concept-document-salvageable>salvageable</var> state of
+     the <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
+     context</a> <var title="">b</var> is false, then set the <var title=concept-document-salvageable>salvageable</var> state of
+     <em>this</em> document to false also.</li>
 
     </ol></li>
 
@@ -55330,7 +55334,8 @@
 
    <li><p>If any event listeners were triggered by the earlier
    <i>unload event</i> step, then set the <code><a href=#document>Document</a></code>
-   object's <var title="">salvageable</var> state to false.</li>
+   object's <var title=concept-document-salvageable>salvageable</var> state to
+   false.</li>
 
    <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
    <code><a href=#document>Document</a></code> that are defined by this specification or any
@@ -55356,42 +55361,44 @@
      <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</li>
 
-     <li><p>If <var title="">salvageable</var> state of the
-     <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing context</a>
-     <var title="">b</var> is false, then set the <var title="">salvageable</var> state of <em>this</em> document to
-     false also.</li>
+     <li><p>If <var title=concept-document-salvageable>salvageable</var> state of
+     the <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing
+     context</a> <var title="">b</var> is false, then set the <var title=concept-document-salvageable>salvageable</var> state of
+     <em>this</em> document to false also.</li>
 
     </ol></li>
 
-   <li><p>If <var title="">salvageable</var> and <var title="">recycle</var> are both false, then the
+   <li><p>If <var title=concept-document-salvageable>salvageable</var> and <var title="">recycle</var> are both false, then the
    <code><a href=#document>Document</a></code>'s <a href=#browsing-context>browsing context</a> must <a href=#discard-a-document title="discard a document">discard the
    <code>Document</code></a>.</li>
 
   </ol><p>This specification defines the following <dfn id=unloading-document-cleanup-steps>unloading document
   cleanup steps</dfn>. Other specifications can define more.</p>
 
-  <ol><li><p>Empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s
-   <a href=#list-of-active-timeouts>list of active timeouts</a> and its <a href=#list-of-active-intervals>list of active
-   intervals</a>.</li> <!-- XXX Should this affect <var
-   title="">salvageable</var>? Should it happen at all? -->
-
-   <li><p>If there are any outstanding transactions that have
+  <ol><li><p>If there are any outstanding transactions that have
    callbacks that involve <a href=#concept-script title=concept-script>scripts</a>
    whose <a href="#script's-global-object" title="script's global object">global object</a> is
    the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object, roll them
-   back (without invoking any of the callbacks) and set <var title="">salvageable</var> to false.
-   <a href=#refsWEBSQL>[WEBSQL]</a>
-   </li>
+   back (without invoking any of the callbacks) and set the
+   <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false. <a href=#refsWEBSQL>[WEBSQL]</a> </li>
 
    <li><p><span>Close the Web Socket connection</span> of any
    <code>WebSocket</code> objects that were created by the <code title=dom-WebSocket>WebSocket()</code> constructor visible on the
    <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object. If this
-   affected any <code>WebSocket</code> objects, set <var title="">salvageable</var> to false.
+   affected any <code>WebSocket</code> objects, the set
+   <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state to
+   false.
    
    <a href=#refsWEBSOCKET>[WEBSOCKET]</a>
    
    </li>
 
+   <li><p>If the <code><a href=#document>Document</a></code>'s <var title=concept-document-salvageable>salvageable</var> state is
+   false, empty the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code>'s
+   <a href=#list-of-active-timeouts>list of active timeouts</a> and its <a href=#list-of-active-intervals>list of active
+   intervals</a>.</li>
+
   </ol><h5 id=event-definition><span class=secno>6.5.10.1 </span>Event definition</h5>
 
   </div>

Modified: source
===================================================================
--- source	2010-02-18 01:56:39 UTC (rev 4769)
+++ source	2010-02-18 02:01:26 UTC (rev 4770)
@@ -59487,6 +59487,10 @@
 
   <ol>
 
+   <li><p>Set the <code>Document</code>'s <var
+   title="concept-document-salvageable">salvageable</var> state to
+   false.</p></li>
+
    <li><p>Run any <span>unloading document cleanup steps</span> for
    the <code>Document</code> that are defined by this specification or
    any other relevant specifications.</p></li>
@@ -62349,8 +62353,9 @@
 
   <div class="impl">
 
-  <p>A <code>Document</code> has a <var title="">salvageable</var>
-  state, which is initially true.</p>
+  <p>A <code>Document</code> has a <var
+  title="concept-document-salvageable">salvageable</var> state, which
+  is initially true.</p>
 
   <p>When a user agent is to <dfn>prompt to unload a document</dfn>,
   it must run the following steps.</p>
@@ -62369,7 +62374,8 @@
 
    <li><p>If any event listeners were triggered by the earlier
    <i>dispatch</i> step, then set the <code>Document</code>'s <var
-   title="">salvageable</var> state to false.</p></li>
+   title="concept-document-salvageable">salvageable</var> state to
+   false.</p></li>
 
    <li>
 
@@ -62419,11 +62425,12 @@
      document to be unloaded">refused to allow <em>this</em> document
      to be unloaded</span>; abort these steps.</p>
 
-     <li><p>If <var title="">salvageable</var> state of the
-     <span>active document</span> of the <span>browsing context</span>
-     <var title="">b</var> is false, then set the <var
-     title="">salvageable</var> state of <em>this</em> document to
-     false also.</p></li>
+     <li><p>If <var
+     title="concept-document-salvageable">salvageable</var> state of
+     the <span>active document</span> of the <span>browsing
+     context</span> <var title="">b</var> is false, then set the <var
+     title="concept-document-salvageable">salvageable</var> state of
+     <em>this</em> document to false also.</p></li>
 
     </ol>
 
@@ -62452,7 +62459,9 @@
 
    <li><p>If any event listeners were triggered by the earlier
    <i>unload event</i> step, then set the <code>Document</code>
-   object's <var title="">salvageable</var> state to false.</p></li>
+   object's <var
+   title="concept-document-salvageable">salvageable</var> state to
+   false.</p></li>
 
    <li><p>Run any <span>unloading document cleanup steps</span> for
    <code>Document</code> that are defined by this specification or any
@@ -62480,17 +62489,19 @@
      <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</p></li>
 
-     <li><p>If <var title="">salvageable</var> state of the
-     <span>active document</span> of the <span>browsing context</span>
-     <var title="">b</var> is false, then set the <var
-     title="">salvageable</var> state of <em>this</em> document to
-     false also.</p></li>
+     <li><p>If <var
+     title="concept-document-salvageable">salvageable</var> state of
+     the <span>active document</span> of the <span>browsing
+     context</span> <var title="">b</var> is false, then set the <var
+     title="concept-document-salvageable">salvageable</var> state of
+     <em>this</em> document to false also.</p></li>
 
     </ol>
 
    </li>
 
-   <li><p>If <var title="">salvageable</var> and <var
+   <li><p>If <var
+   title="concept-document-salvageable">salvageable</var> and <var
    title="">recycle</var> are both false, then the
    <code>Document</code>'s <span>browsing context</span> must <span
    title="discard a document">discard the
@@ -62503,31 +62514,34 @@
 
   <ol>
 
-   <li><p>Empty the <code>Document</code>'s <code>Window</code>'s
-   <span>list of active timeouts</span> and its <span>list of active
-   intervals</span>.</p></li> <!-- XXX Should this affect <var
-   title="">salvageable</var>? Should it happen at all? -->
-
    <li><p>If there are any outstanding transactions that have
    callbacks that involve <span title="concept-script">scripts</span>
    whose <span title="script's global object">global object</span> is
    the <code>Document</code>'s <code>Window</code> object, roll them
-   back (without invoking any of the callbacks) and set <var
-   title="">salvageable</var> to false.
-   <a href="#refsWEBSQL">[WEBSQL]</a>
-   </p></li>
+   back (without invoking any of the callbacks) and set the
+   <code>Document</code>'s <var
+   title="concept-document-salvageable">salvageable</var> state to
+   false. <a href="#refsWEBSQL">[WEBSQL]</a> </p></li>
 
    <li><p><span>Close the Web Socket connection</span> of any
    <code>WebSocket</code> objects that were created by the <code
    title="dom-WebSocket">WebSocket()</code> constructor visible on the
    <code>Document</code>'s <code>Window</code> object. If this
-   affected any <code>WebSocket</code> objects, set <var
-   title="">salvageable</var> to false.
+   affected any <code>WebSocket</code> objects, the set
+   <code>Document</code>'s <var
+   title="concept-document-salvageable">salvageable</var> state to
+   false.
    <!--END complete-->
    <a href="#refsWEBSOCKET">[WEBSOCKET]</a>
    <!--START complete-->
    </p></li>
 
+   <li><p>If the <code>Document</code>'s <var
+   title="concept-document-salvageable">salvageable</var> state is
+   false, empty the <code>Document</code>'s <code>Window</code>'s
+   <span>list of active timeouts</span> and its <span>list of active
+   intervals</span>.</p></li>
+
   </ol>
 
 




More information about the Commit-Watchers mailing list