Short URL: http://html5.org/r/2082
| SVN | Bug | Comment | Time (UTC) |
|---|---|---|---|
| 2082 | Further work on the event loop front. | 2008-08-19 06:52 |
Index: source
===================================================================
--- source (revision 2081)
+++ source (revision 2082)
@@ -16714,14 +16714,14 @@
<li>
<p>While the fetching process is progressing, the user agent must
- <span>fire a progress event</span> called <code
- title="event-progress">progress</code> at the element every 350ms
- (±200ms) or for every byte received, whichever is
+ <span>queue a task</span> to <span>fire a progress event</span>
+ called <code title="event-progress">progress</code> at the element
+ every 350ms (±200ms) or for every byte received, whichever is
<em>least</em> frequent.</p>
<p>If at any point the user agent has received no data for more
- than about three seconds, the user agent must <span>fire a
- progress event</span> called <code
+ than about three seconds, the user agent must <span>queue a
+ task</span> to <span>fire a progress event</span> called <code
title="event-stalled">stalled</code> at the element.</p>
<p>User agents may allow users to selectively block or slow
@@ -16737,6 +16737,11 @@
switching to a streaming protocol. The user agent must consider a
resource erroneous only if it has given up trying to fetch it.</p>
+ <p>The <span>networking task source</span> <span
+ title="concept-task">tasks</span> to process the data as it is
+ being fetched must, when appropriate, include the relevant
+ substeps from the following list:</p>
+
<dl class="switch">
<dt>If the <span>media data</span> cannot be fetched at all, due
@@ -16761,7 +16766,8 @@
title="dom-MediaError-MEDIA_ERR_NETWORK">MEDIA_ERR_NETWORK</code>.</li>
<li>The <span>begun flag</span> must be set to false and the
- user agent must <span>fire a progress event</span> called <code
+ user agent must <span>queue a task</span> to <span>fire a
+ progress event</span> called <code
title="event-error">error</code> at the <span>media
element</span>.</li>
@@ -16769,8 +16775,9 @@
title="dom-media-networkState">networkState</code> attribute
must be switched to the <span
title="dom-media-EMPTY">EMPTY</span> value and the user agent
- must <span>fire a simple event</span> called <code
- title="event-emptied">emptied</code> at the element.</li>
+ must <span>queue a task</span> to <span>fire a simple
+ event</span> called <code title="event-emptied">emptied</code>
+ at the element.</li>
<li>These steps must be aborted.</li>
@@ -16804,7 +16811,8 @@
title="dom-MediaError-MEDIA_ERR_DECODE">MEDIA_ERR_DECODE</code>.</li>
<li>The <span>begun flag</span> must be set to false and the
- user agent must <span>fire a progress event</span> called <code
+ user agent must <span>queue a task</span> to <span>fire a
+ progress event</span> called <code
title="event-error">error</code> at the <span>media
element</span>.</li>
@@ -16812,8 +16820,9 @@
title="dom-media-networkState">networkState</code> attribute
must be switched to the <span
title="dom-media-EMPTY">EMPTY</span> value and the user agent
- must <span>fire a simple event</span> called <code
- title="event-emptied">emptied</code> at the element.</li>
+ must <span>queue a task</span> to <span>fire a simple
+ event</span> called <code title="event-emptied">emptied</code>
+ at the element.</li>
<li>These steps must be aborted.</li>
@@ -16844,7 +16853,8 @@
title="dom-MediaError-MEDIA_ERR_ABORT">MEDIA_ERR_ABORT</code>.</li>
<li>The <span>begun flag</span> must be set to false and the
- user agent must <span>fire a progress event</span> called <code
+ user agent must <span>queue a task</span> to <span>fire a
+ progress event</span> called <code
title="event-abort">abort</code> at the <span>media
element</span>.</li>
@@ -16855,10 +16865,11 @@
title="dom-media-networkState">networkState</code> attribute
must be switched to the <span
title="dom-media-EMPTY">EMPTY</span> value and the user agent
- must <span>fire a simple event</span> called <code
- title="event-emptied">emptied</code> at the element. (If the
- <code title="dom-media-networkState">networkState</code>
- attribute has a value greater than <code
+ must <span>queue a task</span> to <span>fire a simple
+ event</span> called <code title="event-emptied">emptied</code>
+ at the element. (If the <code
+ title="dom-media-networkState">networkState</code> attribute
+ has a value greater than <code
title="dom-media-LOADING">LOADING</code>, then this doesn't
happen; the available data, if any, will be playable.)</li>
@@ -16914,14 +16925,15 @@
available.</p></li>
<li><p class="note">The user agent <a
- href="#durationUpdate">will</a> <span>fire a simple
- event</span> called <code
+ href="#durationUpdate">will</a> <span>queue a task</span> to
+ <span>fire a simple event</span> called <code
title="event-durationchange">durationchange</code> at the
element at this point.</li>
- <li><p>The user agent must <span>fire a simple event</span>
- called <code title="event-loadedmetadata">loadedmetadata</code>
- at the element.</li>
+ <li><p>The user agent must <span>queue a task</span> to
+ <span>fire a simple event</span> called <code
+ title="event-loadedmetadata">loadedmetadata</code> at the
+ element.</li>
</ol>
@@ -16951,13 +16963,13 @@
<li><p>The <span>loaded-first-frame flag</span> must be set to
true.</p></li>
- <li><p>The user agent must <span>fire a simple event</span>
- called <code
- title="event-loadedfirstframe">loadedfirstframe</code> at
- the element.</li>
+ <li><p>The user agent must <span>queue a task</span> to
+ <span>fire a simple event</span> called <code
+ title="event-loadedfirstframe">loadedfirstframe</code> at the
+ element.</li>
- <li><p>The user agent must <span>fire a simple event</span>
- called <code
+ <li><p>The user agent must <span>queue a task</span> to
+ <span>fire a simple event</span> called <code
title="event-canshowcurrentframe">canshowcurrentframe</code> at
the element.</li>
@@ -16976,8 +16988,9 @@
<span>begun flag</span> must be set to false, the <code
title="dom-media-networkState">networkState</code> attribute must
be set to <code title="dom-media-LOADED">LOADED</code>, and the
- user agent must <span>fire a progress event</span> called <code
- title="event-load">load</code> at the element.</p></li>
+ user agent must <span>queue a task</span> to <span>fire a progress
+ event</span> called <code title="event-load">load</code> at the
+ element.</p></li>
</ol>
@@ -17477,9 +17490,7 @@
title="dom-media-playCount">playCount</code>-1</span> and the
<span>current playback position</span> reaches the <var>effective
loop end</var>, then the user agent must increase <code
- title="dom-media-currentLoop">currentLoop</code> by 1, <span>queue a
- task</span> to <span>fire a simple event</span> called <code
- title="event-timeupdate">timeupdate</code>, and <span
+ title="dom-media-currentLoop">currentLoop</code> by 1 and <span
title="dom-media-seek">seek</span> to the <var>effective loop
start</var>.</p>
@@ -17564,9 +17575,10 @@
start</var>.</p>
<p class="note">If this involved a seek, the user agent <a
- href="#seekUpdate">will</a> <span>fire a simple event</span>
- called <code title="event-timeupdate">timeupdate</code> at the
- <span>media element</span>.</p>
+ href="#seekUpdate">will</a> <span>queue a task</span> to
+ <span>fire a simple event</span> called <code
+ title="event-timeupdate">timeupdate</code> at the <span>media
+ element</span>.</p>
</li>
@@ -17580,9 +17592,9 @@
<p class="note">If this caused the <code
title="dom-media-playbackRate">playbackRate</code> attribute to
change value, the user agent <a href="#rateUpdate">will</a>
- <span>fire a simple event</span> called <code
- title="event-ratechange">ratechange</code> at the <span>media
- element</span>.</p>
+ <span>queue a task</span> to <span>fire a simple event</span>
+ called <code title="event-ratechange">ratechange</code> at the
+ <span>media element</span>.</p>
</li>
@@ -17596,13 +17608,10 @@
<li><p>The method must then return.</p></li>
<li><p>If the fourth step above changed the value of <code
- title="dom-media-paused">paused</code>, the user agent must, after
- any running scripts have finished executing, and after any other
- events triggered by this algorithm (specifically <code
- title="event-timeupdate">timeupdate</code> and <code
- title="event-ratechange">ratechange</code>) have fired, <span>fire
- a simple event</span> called <code title="event-pause">play</code>
- at the element.</p></li><!-- xxx queue -->
+ title="dom-media-paused">paused</code>, the user agent must
+ <span>queue a task</span> to <span>fire a simple event</span>
+ called <code title="event-pause">play</code> at the
+ element.</p></li>
</ol>