- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Sun, 18 Oct 2009 23:40:09 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv13227
Modified Files:
Overview.html
Log Message:
Get rid of a potential race condition in the cache update process. (whatwg r4172)
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.3318
retrieving revision 1.3319
diff -u -d -r1.3318 -r1.3319
--- Overview.html 18 Oct 2009 22:59:09 -0000 1.3318
+++ Overview.html 18 Oct 2009 23:40:06 -0000 1.3319
@@ -45431,26 +45431,31 @@
than the processing of <code>Document</code> objects already
associated with an <a href="#application-cache">application cache</a> in the <var title="">cache group</var>.</li>
+ <li><p>Let <var title="">task list</var> be an empty list of
+ <a href="#concept-task" title="concept-task">tasks</a>.</p>
+
<li><p>For each <a href="#cache-host">cache host</a> associated with an
<a href="#application-cache">application cache</a> in <var title="">cache
- group</var>, <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
- event</a> named <code title="event-appcache-obsolete"><a href="#event-appcache-obsolete">obsolete</a></code> that is
+ group</var>, create a <a href="#concept-task" title="concept-task">task</a> to
+ <a href="#fire-a-simple-event">fire a simple event</a> named <code title="event-appcache-obsolete"><a href="#event-appcache-obsolete">obsolete</a></code> that is
cancelable at the <code><a href="#applicationcache">ApplicationCache</a></code> singleton of the
- <a href="#cache-host">cache host</a>. The default action of these events must
- be, if the user agent <a href="#shows-caching-progress">shows caching progress</a>, the
- display of some sort of user interface indicating to the user
- that the application is no longer available for offline
- use.</li>
+ <a href="#cache-host">cache host</a>, and add it to <var title="">task
+ list</var>. The default action of these events must be, if the
+ user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of
+ some sort of user interface indicating to the user that the
+ application is no longer available for offline use.</li>
<li><p>For each entry in <var title="">cache group</var>'s <a href="#concept-appcache-pending-masters" title="concept-appcache-pending-masters">list of pending master
- entries</a>, <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
- event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> (not <code title="event-appcache-obsolete"><a href="#event-appcache-obsolete">obsolete</a></code>!) at the
+ entries</a>, create a <a href="#concept-task" title="concept-task">task</a>
+ to <a href="#fire-a-simple-event">fire a simple event</a> that is cancelable named
+ <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> (not <code title="event-appcache-obsolete"><a href="#event-appcache-obsolete">obsolete</a></code>!) at the
<code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
host</a> the <code>Document</code> for this entry, if there
- still is one. The default action of this event must be, if the
- user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of
- some sort of user interface indicating to the user that the user
- agent failed to save the application for offline use.</li>
+ still is one, and add it to <var title="">task list</var>. The
+ default action of this event must be, if the user agent
+ <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
+ user interface indicating to the user that the user agent failed
+ to save the application for offline use.</li>
<li><p>If <var title="">cache group</var> has an
<a href="#application-cache">application cache</a> whose <a href="#concept-appcache-completeness" title="concept-appcache-completeness">completeness flag</a> is
@@ -45462,6 +45467,9 @@
<li><p>Let the <a href="#concept-appcache-status" title="concept-appcache-status">status</a> of <var title="">cache group</var> be <i>idle</i>.</li>
+ <li><p>For each <a href="#concept-task" title="concept-task">task</a> in <var title="">task list</var>, <a href="#queue-a-task" title="queue a task">queue</a>
+ that task.</li>
+
<li><p>Abort the <a href="#application-cache-download-process">application cache download
process</a>.</li>
@@ -45492,6 +45500,9 @@
<ol><li><p>Let <var title="">cache</var> be the <a href="#concept-appcache-newer" title="concept-appcache-newer">newest</a> <a href="#application-cache">application
cache</a> in <var title="">cache group</var>.</li>
+ <li><p>Let <var title="">task list</var> be an empty list of
+ <a href="#concept-task" title="concept-task">tasks</a>.</p>
+
<li>
<p>For each entry in <var title="">cache group</var>'s <a href="#concept-appcache-pending-masters" title="concept-appcache-pending-masters">list of pending master
@@ -45499,14 +45510,15 @@
either completely downloaded or failed.</p>
<p>If the download failed (e.g. the connection times out, or the
- user cancels the download), then <a href="#queue-a-task">queue a task</a> to
- <a href="#fire-a-simple-event">fire a simple event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
+ user cancels the download), then create a <a href="#concept-task" title="concept-task">task</a> to <a href="#fire-a-simple-event">fire a simple
+ event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
<code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
host</a> the <code>Document</code> for this entry, if there
- still is one. The default action of this event must be, if the
- user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of
- some sort of user interface indicating to the user that the user
- agent failed to save the application for offline use.</p>
+ still is one, and add it to <var title="">task list</var>. The
+ default action of this event must be, if the user agent
+ <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
+ user interface indicating to the user that the user agent failed
+ to save the application for offline use.</p>
<p>Otherwise, associate the <code>Document</code> for this entry
with <var title="">cache</var>; store the resource for this
@@ -45524,13 +45536,14 @@
<li><p>For each <a href="#cache-host">cache host</a> associated with an
<a href="#application-cache">application cache</a> in <var title="">cache
- group</var>, <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
- event</a> that is cancelable named <code title="event-appcache-noupdate"><a href="#event-appcache-noupdate">noupdate</a></code> at the
+ group</var>, create a <a href="#concept-task" title="concept-task">task</a> to
+ <a href="#fire-a-simple-event">fire a simple event</a> that is cancelable named <code title="event-appcache-noupdate"><a href="#event-appcache-noupdate">noupdate</a></code> at the
<code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
- host</a>. The default action of these events must be, if the
- user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of
- some sort of user interface indicating to the user that the
- application is up to date.</li>
+ host</a>, and add it to <var title="">task list</var>. The
+ default action of these events must be, if the user agent
+ <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
+ user interface indicating to the user that the application is up
+ to date.</li>
<li><p>Empty <var title="">cache group</var>'s <a href="#concept-appcache-pending-masters" title="concept-appcache-pending-masters">list of pending master
entries</a>.</li>
@@ -45540,6 +45553,9 @@
<li><p>Let the <a href="#concept-appcache-status" title="concept-appcache-status">status</a> of <var title="">cache group</var> be <i>idle</i>.</li>
+ <li><p>For each <a href="#concept-task" title="concept-task">task</a> in <var title="">task list</var>, <a href="#queue-a-task" title="queue a task">queue</a>
+ that task.</li>
+
<li><p>Abort the <a href="#application-cache-download-process">application cache download
process</a>.</li>
@@ -45837,31 +45853,32 @@
<li><p>Set the <a href="#concept-appcache-completeness" title="concept-appcache-completeness">completeness flag</a> of
<var title="">new cache</var> to <i>complete</i>.</li>
+ <li><p>Let <var title="">task list</var> be an empty list of <a href="#concept-task" title="concept-task">tasks</a>.</p>
+
<li>
<p>If this is a <a href="#concept-appcache-cache" title="concept-appcache-cache">cache
attempt</a>, then for each <a href="#cache-host">cache host</a> associated
with an <a href="#application-cache">application cache</a> in <var title="">cache
- group</var>, <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple
- event</a> that is cancelable named <code title="event-appcache-cached"><a href="#event-appcache-cached">cached</a></code> at the
+ group</var>, create a <a href="#concept-task" title="concept-task">task</a> to
+ <a href="#fire-a-simple-event">fire a simple event</a> that is cancelable named <code title="event-appcache-cached"><a href="#event-appcache-cached">cached</a></code> at the
<code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
- host</a>. The default action of these events must be, if the
- user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of
- some sort of user interface indicating to the user that the
- application has been cached and that they can now use it
- offline.</p>
+ host</a>, and add it to <var title="">task list</var>. The
+ default action of these events must be, if the user agent
+ <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
+ user interface indicating to the user that the application has
+ been cached and that they can now use it offline.</p>
<p>Otherwise, it is an <a href="#concept-appcache-upgrade" title="concept-appcache-upgrade">upgrade attempt</a>. For each
<a href="#cache-host">cache host</a> associated with an <a href="#application-cache">application
- cache</a> in <var title="">cache group</var>, <a href="#queue-a-task">queue a
- task</a> to <a href="#fire-a-simple-event">fire a simple event</a> that is cancelable
- named <code title="event-appcache-updateready"><a href="#event-appcache-updateready">updateready</a></code>
- at the <code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
- host</a>. The default action of these events must be, if the
- user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of
- some sort of user interface indicating to the user that a new
- version is available and that they can activate it by reloading
- the page.</p>
+ cache</a> in <var title="">cache group</var>, create a <a href="#concept-task" title="concept-task">task</a> to <a href="#fire-a-simple-event">fire a simple
+ event</a> that is cancelable named <code title="event-appcache-updateready"><a href="#event-appcache-updateready">updateready</a></code> at the
+ <code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
+ host</a>, and add it to <var title="">task list</var>. The
+ default action of these events must be, if the user agent
+ <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
+ user interface indicating to the user that a new version is
+ available and that they can activate it by reloading the page.</p>
</li>
@@ -45872,9 +45889,14 @@
status</a> of <var title="">cache group</var> to
<i>idle</i>.</li>
+ <li><p>For each <a href="#concept-task" title="concept-task">task</a> in <var title="">task list</var>, <a href="#queue-a-task" title="queue a task">queue</a>
+ that task.</li>
+
</ol><p>The <dfn id="cache-failure-steps">cache failure steps</dfn> are as follows:</p>
- <ol><li>
+ <ol><li><p>Let <var title="">task list</var> be an empty list of <a href="#concept-task" title="concept-task">tasks</a>.</p>
+
+ <li>
<p>For each entry in <var title="">cache group</var>'s <a href="#concept-appcache-pending-masters" title="concept-appcache-pending-masters">list of pending master
entries</a>, run the following further substeps. These steps
@@ -45886,26 +45908,28 @@
<li><p>Unassociate the <code>Document</code> for this entry from
its <a href="#application-cache">application cache</a>, if it has one.</li>
- <li><p><a href="#queue-a-task">Queue a task</a> to <a href="#fire-a-simple-event">fire a simple
- event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
+ <li><p>Create a <a href="#concept-task" title="concept-task">task</a> to
+ <a href="#fire-a-simple-event">fire a simple event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
<code><a href="#applicationcache">ApplicationCache</a></code> singleton of the
- <code>Document</code> for this entry, if there still is one. The
- default action of these events must be, if the user agent
- <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
- user interface indicating to the user that the user agent failed
- to save the application for offline use.</p>
+ <code>Document</code> for this entry, if there still is one, and
+ add it to <var title="">task list</var>. The default action of
+ these events must be, if the user agent <a href="#shows-caching-progress">shows caching
+ progress</a>, the display of some sort of user interface
+ indicating to the user that the user agent failed to save the
+ application for offline use.</p>
</ol></li>
<li><p>For each <a href="#cache-host">cache host</a> still associated with an
<a href="#application-cache">application cache</a> in <var title="">cache group</var>,
- <a href="#queue-a-task">queue a task</a> to <a href="#fire-a-simple-event">fire a simple event</a> that
- is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
+ create a <a href="#concept-task" title="concept-task">task</a> to <a href="#fire-a-simple-event">fire a
+ simple event</a> that is cancelable named <code title="event-appcache-error"><a href="#event-appcache-error">error</a></code> at the
<code><a href="#applicationcache">ApplicationCache</a></code> singleton of the <a href="#cache-host">cache
- host</a>. The default action of these events must be, if the
- user agent <a href="#shows-caching-progress">shows caching progress</a>, the display of some
- sort of user interface indicating to the user that the user agent
- failed to save the application for offline use.</li>
+ host</a>, and add it to <var title="">task list</var>. The
+ default action of these events must be, if the user agent
+ <a href="#shows-caching-progress">shows caching progress</a>, the display of some sort of
+ user interface indicating to the user that the user agent failed to
+ save the application for offline use.</li>
<li><p>Empty <var title="">cache group</var>'s <a href="#concept-appcache-pending-masters" title="concept-appcache-pending-masters">list of pending master
entries</a>.</li>
@@ -45925,6 +45949,9 @@
attempt</a>, discard <var title="">cache group</var>
altogether.</p>
+ <li><p>For each <a href="#concept-task" title="concept-task">task</a> in <var title="">task list</var>, <a href="#queue-a-task" title="queue a task">queue</a>
+ that task.</li>
+
<li><p>Abort the <a href="#application-cache-download-process">application cache download
process</a>.</li>
@@ -45941,6 +45968,7 @@
<p>The <a href="#task-source">task source</a> for these <a href="#concept-task" title="concept-task">tasks</a> is the <a href="#networking-task-source">networking task
source</a>.</p>
+
Received on Sunday, 18 October 2009 23:40:13 UTC