[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