[html5] r2075 - [e] (0) Redefine img.complete in terms of tasks; Make it clearer why 'timeupdate [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Aug 15 18:29:12 PDT 2008


Author: ianh
Date: 2008-08-15 18:29:11 -0700 (Fri, 15 Aug 2008)
New Revision: 2075

Modified:
   index
   source
Log:
[e] (0) Redefine img.complete in terms of tasks; Make it clearer why 'timeupdate' is fired when seeking; add more XXX notes for queue-related fixes that are coming soon.

/home/ianh/svn/webapps/hooks/commit-email.pl: `/usr/bin/svnlook diff /home/ianh/svn/webapps -r 2075' failed with this output:
Modified: index
===================================================================
--- index	2008-08-16 00:52:20 UTC (rev 2074)
+++ index	2008-08-16 01:29:11 UTC (rev 2075)
@@ -16218,10 +16218,14 @@
    title=dom-img-complete><code>complete</code></dfn> must return true if the
    user agent has fetched the image specified in the <code
    title=attr-img-src><a href="#src">src</a></code> attribute, and it is a
-   valid image, and false otherwise.
+   valid image, even if the final <a href="#tasks"
+   title=concept-task>task</a> queued by the <a href="#networking">networking
+   task source</a> for the <a href="#fetch" title=fetch>fetching</a> of the
+   image resource has not yet been processed. Otherwise, the attribute must
+   return false.
 
   <p class=note>The value of <code title=dom-img-complete><a
-   href="#complete">complete</a></code> can change while a script is
+   href="#complete">complete</a></code> can thus change while a script is
    executing.
 
   <p>Three constructors are provided for creating <code><a
@@ -18650,7 +18654,8 @@
    agent must implicitly invoke the <code title=dom-media-load><a
    href="#load">load()</a></code> method on the <a href="#media7">media
    element</a> as soon as all other scripts have finished executing. Any
-   exceptions raised must be ignored.
+   exceptions raised must be ignored.</p>
+  <!-- XXX queue -->
 
   <p>The DOM attributes <dfn id=src6
    title=dom-source-src><code>src</code></dfn>, <dfn id=type9
@@ -18841,7 +18846,9 @@
    changed, or removed, the user agent must implicitly invoke the <code
    title=dom-media-load><a href="#load">load()</a></code> method on the <a
    href="#media7">media element</a> as soon as all other scripts have
-   finished executing. Any exceptions raised must be ignored.
+   finished executing. Any exceptions raised must be ignored.</p>
+  <!-- XXX queue
+  -->
 
   <p class=note>If a <code title=attr-media-src><a
    href="#src7">src</a></code> attribute is specified, the resource it
@@ -19407,8 +19414,8 @@
    document, user agents must implicitly invoke the <code
    title=dom-media-load><a href="#load">load()</a></code> method on the <a
    href="#media7">media element</a> as soon as all other scripts have
-   finished executing<!-- XXX phrase that better? -->. Any exceptions raised
-   must be ignored.
+   finished executing<!-- XXX queue; phrase that better? -->. Any exceptions
+   raised must be ignored.
 
   <p>The <dfn id=bufferingrate
    title=dom-media-bufferingRate><code>bufferingRate</code></dfn> attribute
@@ -19476,7 +19483,8 @@
    any running scripts have finished, <a href="#firing2">fire a simple
    event</a> called <code title=event-durationchange><a
    href="#durationchange">durationchange</a></code> at the <a
-   href="#media7">media element</a>.
+   href="#media7">media element</a>.</p>
+  <!-- xxx queue -->
 
   <p><a href="#media7" title="media element">Media elements</a> have a <dfn
    id=current0>current playback position</dfn>, which must initially be zero.
@@ -19919,14 +19927,16 @@
    title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at the
    element, and then must <a href="#firing2">fire a simple event</a> called
    <code title=event-waiting><a href="#waiting">waiting</a></code> at the
-   element.
+   element.</p>
+  <!-- xxx queue -->
 
   <p>When a <a href="#media7">media element</a> that is <a
    href="#actively">actively playing</a> stops playing because it has <a
    href="#paused0">paused for user interaction</a>, the user agent must <a
    href="#firing2">fire a simple event</a> called <code
    title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at the
-   element.
+   element.</p>
+  <!-- xxx queue -->
 
   <p>When <code title=dom-media-currentLoop><a
    href="#currentloop">currentLoop</a></code> is less than <span><code
@@ -19938,7 +19948,8 @@
    href="#effective0">effective loop start</a></var>, increase <code
    title=dom-media-currentLoop><a href="#currentloop">currentLoop</a></code>
    by 1, and <a href="#firing2">fire a simple event</a> called <code
-   title=event-timeupdate><a href="#timeupdate">timeupdate</a></code>.
+   title=event-timeupdate><a href="#timeupdate">timeupdate</a></code>.</p>
+  <!-- xxx queue -->
 
   <p>When <code title=dom-media-currentLoop><a
    href="#currentloop">currentLoop</a></code> is equal to the <span><code
@@ -19960,6 +19971,8 @@
     <p>The user agent must <a href="#firing2">fire a simple event</a> called
      <code title=event-timeupdate><a href="#timeupdate">timeupdate</a></code>
      at the element.
+   </li>
+   <!-- xxx queue -->
 
    <li>
     <p>The user agent must <a href="#firing2">fire a simple event</a> called
@@ -19997,7 +20010,8 @@
    running scripts have finished, <a href="#firing2">fire a simple event</a>
    called <code title=event-ratechange><a
    href="#ratechange">ratechange</a></code> at the <a href="#media7">media
-   element</a>.
+   element</a>.</p>
+  <!-- xxx queue -->
 
   <p>When the <dfn id=play title=dom-media-play><code>play()</code></dfn>
    method on a <a href="#media7">media element</a> is invoked, the user agent
@@ -20021,11 +20035,11 @@
      title=dom-media-seek>seek</a> to the <var><a href="#effective">effective
      start</a></var>.</p>
 
-    <p class=note>If this involved a seek, the user agent will<!--
-    XXX queued-->
-     <a href="#firing2">fire a simple event</a> called <code
-     title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at
-     the <a href="#media7">media element</a>.</p>
+    <p class=note>If this involved a seek, the user agent <a
+     href="#seekUpdate">will later</a> <a href="#firing2">fire a simple
+     event</a> called <code title=event-timeupdate><a
+     href="#timeupdate">timeupdate</a></code> at the <a href="#media7">media
+     element</a>.</p>
 
    <li>
     <p>The <code title=dom-media-playbackRate><a
@@ -20062,6 +20076,8 @@
      href="#ratechange">ratechange</a></code>) have fired, <a
      href="#firing2">fire a simple event</a> called <code
      title=event-pause><a href="#pause1">play</a></code> at the element.
+   </li>
+   <!-- xxx queue -->
   </ol>
 
   <p>When the <dfn id=pause0 title=dom-media-pause><code>pause()</code></dfn>
@@ -20099,6 +20115,8 @@
      the element, and then <a href="#firing2">fire a simple event</a> called
      <code title=event-pause><a href="#pause1">pause</a></code> at the
      element.
+   </li>
+   <!-- xxx queue -->
   </ol>
 
   <p>When a <a href="#media7">media element</a> is <span>removed from a
@@ -20200,11 +20218,13 @@
      attribute, then continue the script. The remainder of these steps must
      be run asynchronously.
 
-   <li>
+   <li id=seekUpdate>
     <p>Once any running scripts have finished executing, the user agent must
      <a href="#firing2">fire a simple event</a> called <code
      title=event-timeupdate><a href="#timeupdate">timeupdate</a></code> at
      the element.
+   </li>
+   <!-- xxx queue -->
 
    <li>
     <p>If the <a href="#media7">media element</a> was <a
@@ -20240,6 +20260,8 @@
     <p>Once any running scripts have finished executing, the user agent must
      <a href="#firing2">fire a simple event</a> called <code
      title=event-seeked><a href="#seeked">seeked</a></code> at the element.
+   </li>
+   <!-- xxx queue -->
   </ol>
 
   <p>The <dfn id=seekable
@@ -20374,6 +20396,8 @@
      the element. (In the other cases, such as explicit seeks, relevant
      events get fired as part of the overall process of changing the current
      playback position.)
+   </li>
+   <!-- xxx queue -->
 
    <li>
     <p>If the time was reached through the usual monotonic increase of the
@@ -20495,7 +20519,8 @@
    scripts have finished executing, the user agent must <a
    href="#firing2">fire a simple event</a> called <code
    title=event-volumechange><a href="#volumechange">volumechange</a></code>
-   at the <a href="#media7">media element</a>.
+   at the <a href="#media7">media element</a>.</p>
+  <!-- queue xxx -->
 
   <h5 id=time-ranges><span class=secno>4.7.10.11. </span>Time ranges</h5>
 
@@ -30814,8 +30839,8 @@
   <p>Once the DOM in question has been parsed, assuming that it indeed can be
    parsed and does so successfully, the user agent must wait for no scripts
    to be executing, and as soon as that opportunity
-   arises<!-- XXX xref to a strict definition of this -->, run the following
-   algorithm:
+   arises<!-- XXX queue; xref to a strict definition of this -->, run the
+   following algorithm:
 
   <ol><!-- precondition: the originalContent is null and the element
         contains its original content. -->
@@ -30940,8 +30965,8 @@
   <p>Once the DOM in question has been parsed, assuming that it indeed can be
    parsed and does so successfully, the user agent must wait for no scripts
    to be executing, and as soon as that opportunity
-   arises<!-- XXX xref to a strict definition of this -->, run the following
-   algorithm:
+   arises<!-- XXX; queue xref to a strict definition of this -->, run the
+   following algorithm:
 
   <ol>
    <li>
@@ -32721,7 +32746,8 @@
 
   <p>An <a href="#event3">event loop</a> has one or more <dfn id=task-queues
    title="task queue">task queues</dfn>. A <a href="#task-queues">task
-   queue</a> is an ordered list of:
+   queue</a> is an ordered list of <dfn id=tasks
+   title=concept-task>tasks</dfn>, which can be:
 
   <dl>
    <dt>Events
@@ -37546,13 +37572,14 @@
    a script running in one browsing context accesses a local storage area,
    the UA blocks scripts in other browsing contexts when they try to access
    the local storage area for the <a href="#same-origin">same origin</a>
-   until the first script has executed to completion. (Similarly, when a
-   script in one browsing context accesses its session storage area, any
-   scripts that have the same top level browsing context and the <a
-   href="#same-origin">same origin</a> would block when accessing their
-   session storage area until the first script has executed to completion.)
-   Another (potentially more efficient but probably more complex)
-   implementation strategy is to use optimistic transactional script
+   until the first script has executed to completion <!--
+  xxx queue -->.
+   (Similarly, when a script in one browsing context accesses its session
+   storage area, any scripts that have the same top level browsing context
+   and the <a href="#same-origin">same origin</a> would block when accessing
+   their session storage area until the first script has executed to
+   completion.) Another (potentially more efficient but probably more
+   complex) implementation strategy is to use optimistic transactional script
    execution. This specification does not require any particular
    implementation strategy, so long as the requirement above is met.
 

Modified: source
===================================================================



More information about the Commit-Watchers mailing list