hixie: Revamp how <img> loading works. (whatwg r5639)

hixie: Revamp how <img> loading works. (whatwg r5639)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4515&r2=1.4516&f=h
http://html5.org/tools/web-apps-tracker?from=5638&to=5639

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4515
retrieving revision 1.4516
diff -u -d -r1.4515 -r1.4516
--- Overview.html 18 Oct 2010 05:57:54 -0000 1.4515
+++ Overview.html 19 Oct 2010 00:09:44 -0000 1.4516
@@ -321,7 +321,7 @@
 
    <h1>HTML5</h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
-   <h2 class="no-num no-toc" id="editor-s-draft-18-october-2010">Editor's Draft 18 October 2010</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-19-october-2010">Editor's Draft 19 October 2010</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/html5/">http://www.w3.org/TR/html5/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -436,7 +436,7 @@
   Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation
   track.
-  This specification is the 18 October 2010 Editor's Draft.
+  This specification is the 19 October 2010 Editor's Draft.
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>Work on this specification is also done at the <a href="http://www.whatwg.org/">WHATWG</a>. The W3C HTML working group
   actively pursues convergence with the WHATWG, as required by the <a href="http://www.w3.org/2007/03/HTML-WG-charter">W3C HTML working
   group charter</a>.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- required patent boilerplate --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
@@ -17717,29 +17717,84 @@
   precludes SVG files with script, multipage PDF files, interactive
   MNG files, HTML documents, plain text documents, and so forth.<p>The requirements on the <code title="attr-img-alt"><a href="#attr-img-alt">alt</a></code>
   attribute's value are described <a href="#alt">in the next
-  section</a>.
-  <p>The <code><a href="#the-img-element">img</a></code> must not be used as a layout tool. In
+  section</a>.<p>The <code><a href="#the-img-element">img</a></code> must not be used as a layout tool. In
   particular, <code><a href="#the-img-element">img</a></code> elements should not be used to display
   transparent images, as they rarely convey meaning and rarely add
   anything useful to the document.<div class="impl">
 
-  <hr><p>Unless the user agent cannot support images, or its support for
-  images has been disabled, or the user agent only fetches elements on
-  demand, then, when an <code><a href="#the-img-element">img</a></code> is created with a <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute, and whenever the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute is set subsequently, the
-  user agent must run the following steps:</p> <!-- Note how this does
-  NOT happen when the base URL changes. -->
+  <hr><p>An <code><a href="#the-img-element">img</a></code> is always in one of the following states:</p>
 
-  <ol><li><p>If the element's <code title="attr-img-src"><a href="#attr-img-src">src</a></code>
-   attribute's value is the empty string, then <a href="#queue-a-task">queue a
+  <dl><dt><dfn id="img-none" title="img-none">Unavailable</dfn></dt>
+   <dd>The user agent hasn't obtained any image data.</dd>
+
+   <dt><dfn id="img-inc" title="img-inc">Partially available</dfn></dt>
+   <dd>The user agent has obtained some of the image data.</dd>
+
+   <dt><dfn id="img-all" title="img-all">Completely available</dfn></dt>
+   <dd>The user agent has obtained all of the image data.</dd>
+
+   <dt><dfn id="img-error" title="img-error">Broken</dfn></dt>
+   <dd>The user agent has obtained all of the image data that it can,
+   but it cannot decode the image (e.g. the image is corrupted, or the
+   format is not supported, or no data could be obtained).</dd>
+
+  </dl><p>When an <code><a href="#the-img-element">img</a></code> element is either in the <a href="#img-inc" title="img-inc">partially available</a> state or in the <a href="#img-all" title="img-all">completely available</a> state, it is said to be
+  <dfn id="img-yes" title="img-yes">available</dfn>.</p>
+
+  <p>An <code><a href="#the-img-element">img</a></code> element is initially <a href="#img-none" title="img-none">unavailable</a>.</p>
+
+  <p>User agents may obtain images immediately or on demand.</p>
+
+  <p>A user agent that obtains images immediately must synchronously
+  <a href="#update-the-image-data">update the image data</a> of an <code><a href="#the-img-element">img</a></code> element
+  whenever that element is either created with a <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute, or has its <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute set, changed, or
+  removed.</p> <!-- Note how this does NOT happen when the base URL
+  changes. -->
+
+  <p>A user agent that obtains images on demand must <a href="#update-the-image-data">update the
+  image data</a> of an <code><a href="#the-img-element">img</a></code> element whenever it needs
+  the image data (i.e. on demand), but only if the <code><a href="#the-img-element">img</a></code>
+  element has a <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute, and
+  if it has not <a href="#update-the-image-data" title="update the image data">updated the image
+  data</a> since the last time the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute was set. When an
+  <code><a href="#the-img-element">img</a></code> element's <code title="attr-img-src"><a href="#attr-img-src">src</a></code>
+  attribute is changed or removed, if the user agent only obtains
+  images on demand, the <code><a href="#the-img-element">img</a></code> element must return to the
+  <a href="#img-none" title="img-none">unavailable</a> state.</p> <!-- Note how
+  this does NOT happen when the base URL changes. -->
+
+  <p>When the user agent is to <dfn id="update-the-image-data">update the image data</dfn> of an
+  <code><a href="#the-img-element">img</a></code> element, it must run the following steps:</p>
+
+  <ol><li><p>Return the <code><a href="#the-img-element">img</a></code> element to the <a href="#img-none" title="img-none">unavailable</a> state.</p>
+
+   <li><p>If an instance of the <a href="#fetch" title="fetch">fetching</a>
+   algorithm is still running for this element, then abort that
+   algorithm, discarding any pending <a href="#concept-task" title="concept-task">tasks</a> generated by that
+   algorithm.</li>
+
+   <li><p>Forget the <code><a href="#the-img-element">img</a></code> element's current image data, if
+   any.</li>
+
+   <li><p>If the user agent cannot support images, or its support for
+   images has been disabled, then abort these steps.</li>
+
+   <li><p>If the element's <code title="attr-img-src"><a href="#attr-img-src">src</a></code>
+   attribute's value is the empty string, then set the element to the
+   <a href="#img-error" title="img-error">broken</a> state, <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-error">error</code> at the <code><a href="#the-img-element">img</a></code> element,
    and abort these steps.</li>
 
    <li>
 
     <p>Otherwise, <a href="#resolve-a-url" title="resolve a url">resolve</a> the value
-    of that attribute, relative to the element, and if that is
-    successful must then <a href="#fetch">fetch</a> that resource.</p> <!--
-    http-origin privacy sensitive -->
+    of the element's <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute,
+    relative to the element, and, if that is successful,
+    <a href="#fetch">fetch</a> that resource.</p> <!-- http-origin privacy
+    sensitive -->
+
+    <p>The resouce obtained in this fashion is the <code><a href="#the-img-element">img</a></code>
+    element's image data.</p>
 
     <!-- same text in <input type=image> section and similar text
     elsewhere --> <p>Fetching the image must <a href="#delay-the-load-event">delay the load
@@ -17752,25 +17807,48 @@
     conjunction with scripting, though scripting isn't actually
     necessary to carry out such an attack). User agents may implement
     <a href="#origin" title="origin">cross-origin</a> access control policies
-    that mitigate this attack.</p>
+    that mitigate this attack, but unfortunately such policies are
+    typically not compatible with existing Web content.</p>
 
    </li>
 
-  </ol><p>If the image is in a supported image type and its dimensions are
-  known, then the image is said to be <dfn id="img-available" title="img-available"><i>available</i></dfn> (this affects exactly
-  what the element represents, as defined below). This can be true
-  even before the image is completely downloaded, if the user agent
-  supports incremental rendering of images; in such cases, each <a href="#concept-task" title="concept-task">task</a> that is <a href="#queue-a-task" title="queue a
-  task">queued</a> by the <a href="#networking-task-source">networking task source</a> while
-  the image is being <a href="#fetch" title="fetch">fetched</a> must update
-  the presentation of the image appropriately. It can also stop being
-  true, e.g. if the user agent finds, after obtaining the image's
-  dimensions, that the image data is actually fatally corrupted.</p>
+  </ol><p>Each <a href="#concept-task" title="concept-task">task</a> that is <a href="#queue-a-task" title="queue a task">queued</a> by the <a href="#networking-task-source">networking task
+  source</a> while the image is being <a href="#fetch" title="fetch">fetched</a> must set the <code><a href="#the-img-element">img</a></code> element's
+  state to <a href="#img-inc" title="img-inc">partially available</a> and update
+  the presentation of the image appropriately.</p>
 
-  <p>If the image was not fetched (e.g. because the UA's image support
-  is disabled, or because the <code title="attr-img-src"><a href="#attr-img-src">src</a></code>
-  attribute's value is the empty string, or if the conditions in the
-  previous paragraph are not met), then the image is <em>not</em> <i title="img-available"><a href="#img-available">available</a></i>.</p>
+  <p id="img-load">The <a href="#concept-task" title="concept-task">task</a> that is
+  <a href="#queue-a-task" title="queue a task">queued</a> by the <a href="#networking-task-source">networking
+  task source</a> once the resource has been <a href="#fetch" title="fetch">fetched</a> must act as appropriate given the
+  following alternatives:</p>
+
+  <dl class="switch"><dt>If the download was successful</dt>
+
+   <dd>Set the <code><a href="#the-img-element">img</a></code> element to the <a href="#img-all" title="img-all">completely available</a> state, update the
+   presentation of the image appropriately, and <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-load">load</code> at the <code><a href="#the-img-element">img</a></code>
+   element.</dd>
+
+   <dt>Otherwise</dt>
+
+   <dd>Set the <code><a href="#the-img-element">img</a></code> element to the <a href="#img-error" title="img-error">broken</a> state, and <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-error">error</code> at the <code><a href="#the-img-element">img</a></code>
+   element.</dd>
+
+  </dl><p>If at any point the user agent discovers that the image data is
+  corrupted in some fatal way, or that the image is not in a supported
+  file format, then the user agent must set the <code><a href="#the-img-element">img</a></code>
+  element to the <a href="#img-error" title="img-error">broken</a> state. If the
+  <a href="#fetch" title="fetch">fetching</a> algorithm is still running for
+  this element, then the user agent must also abort that algorithm,
+  discarding any pending <a href="#concept-task" title="concept-task">tasks</a>
+  generated by that algorithm, and then <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-error">error</code> at the <code><a href="#the-img-element">img</a></code>
+  element.</p>
+
+  <p>When an <code><a href="#the-img-element">img</a></code> element is in the <a href="#img-all" title="img-all">completely available</a> state <em>and</em> the
+  user agent can completely decode the media data without errors, then
+  the <code><a href="#the-img-element">img</a></code> element is said to be <dfn id="img-good" title="img-good">fully decodable</dfn>.</p>
 
   <p>Whether the image is fetched successfully or not (e.g. whether
   the response code was a 2xx code <a href="#concept-http-equivalent-codes" title="concept-http-equivalent-codes">or equivalent</a>) must be
@@ -17799,27 +17877,7 @@
   <p>This specification does not specify which image types are to be
   supported.</p>
 
-  <p id="img-load">The <a href="#concept-task" title="concept-task">task</a> that is
-  <a href="#queue-a-task" title="queue a task">queued</a> by the <a href="#networking-task-source">networking
-  task source</a> once the resource has been <a href="#fetch" title="fetch">fetched</a>, must act as appropriate given the
-  following alternatives:</p>
-
-  <dl class="switch"><dt>If the download was successful and the image is <i title="img-available"><a href="#img-available">available</a></i></dt>
-
-   <dd><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-load">load</code> at the <code><a href="#the-img-element">img</a></code>
-   element (this happens after <code title="dom-img-complete"><a href="#dom-img-complete">complete</a></code> starts returning
-   true).</dd>
-
-   <dt>Otherwise (the fetching process failed without a response from
-   the remote server, or completed but the image is not a supported
-   image)</dt>
-
-   <dd><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-error">error</code> on the
-   <code><a href="#the-img-element">img</a></code> element.</dd>
-
-  </dl><p>The <a href="#task-source">task source</a> for these <a href="#concept-task" title="concept-task">tasks</a> is the <a href="#dom-manipulation-task-source">DOM manipulation
+  <p>The <a href="#task-source">task source</a> for these <a href="#concept-task" title="concept-task">tasks</a> is the <a href="#dom-manipulation-task-source">DOM manipulation
   task source</a>.</p>
 
   <hr><p>What an <code><a href="#the-img-element">img</a></code> element represents depends on the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute and the <code title="attr-img-alt"><a href="#attr-img-alt">alt</a></code> attribute.</p>
@@ -17834,9 +17892,9 @@
     the content, redundant with some other information in the
     document.</p>
 
-    <p>If the image is <i title="img-available"><a href="#img-available">available</a></i> and the
+    <p>If the image is <a href="#img-yes" title="img-yes">available</a> and the
     user agent is configured to display that image, then the element
-    <a href="#represents">represents</a> the image specified by the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute.</p>
+    <a href="#represents">represents</a> the element's image data.</p>
 
     <p>Otherwise, the element <a href="#represents">represents</a> nothing, and may
     be omitted completely from the rendering. User agents may provide
@@ -17854,9 +17912,9 @@
     <p>The image is a key part of the content; the <code title="attr-img-alt"><a href="#attr-img-alt">alt</a></code> attribute gives a textual
     equivalent or replacement for the image.</p>
 
-    <p>If the image is <i title="img-available"><a href="#img-available">available</a></i> and the
+    <p>If the image is <a href="#img-yes" title="img-yes">available</a> and the
     user agent is configured to display that image, then the element
-    <a href="#represents">represents</a> the image specified by the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute.</p>
+    <a href="#represents">represents</a> the element's image data.</p>
 
     <p>Otherwise, the element <a href="#represents">represents</a> the text given
     by the <code title="attr-img-alt"><a href="#attr-img-alt">alt</a></code> attribute. User
@@ -17877,16 +17935,15 @@
     is a key part of the content but that a textual replacement for
     the image was not available when the image was generated.</p>
 
-    <p>If the image is <i title="img-available"><a href="#img-available">available</a></i>, the
-    element <a href="#represents">represents</a> the image specified by the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute.</p>
+    <p>If the image is <a href="#img-yes" title="img-yes">available</a> and the
+    user agent is configured to display that image, then the element
+    <a href="#represents">represents</a> the element's image data.</p>
 
-    <p>If the image is not <i title="img-available"><a href="#img-available">available</a></i> or
-    if the user agent is not configured to display the image, then the
-    user agent should display some sort of indicator that there is an
-    image that is not being rendered, and may, if requested by the
-    user, or if so configured, or when required to provide contextual
-    information in response to navigation, provide caption information
-    for the image, derived as follows:</p>
+    <p>Otherwise, the user agent should display some sort of indicator
+    that there is an image that is not being rendered, and may, if
+    requested by the user, or if so configured, or when required to
+    provide contextual information in response to navigation, provide
+    caption information for the image, derived as follows:</p>
 
     <ol><!-- when editing this list, search for the two other occurrences
      of 'critical-no-alt' --><li><p>If the image has a <code title="attr-title"><a href="#the-title-attribute">title</a></code>
@@ -17990,9 +18047,8 @@
 
    <dd>
 
-    <p>Returns true if the image has been downloaded, decoded, and
-    found to be valid, or if no image is specified; otherwise, returns
-    false.</p>
+    <p>Returns true if the image has been completely downloaded or if
+    no image is specified; otherwise, returns false.</p>
 
    </dd>
 
@@ -18011,9 +18067,9 @@
   rendered width and height of the image, in CSS pixels, if the image
   is <a href="#being-rendered">being rendered</a>, and is being rendered to a visual
   medium; or else the intrinsic width and height of the image, in CSS
-  pixels, if the image is <i title="img-available"><a href="#img-available">available</a></i> but
+  pixels, if the image is <i title="img-available">available</i> but
   not being rendered to a visual medium; or else 0, if the image is
-  not <i title="img-available"><a href="#img-available">available</a></i>. <a href="#refsCSS">[CSS]</a></p>
+  not <i title="img-available">available</i>. <a href="#refsCSS">[CSS]</a></p>
 
   <p>On setting, they must act as if they <a href="#reflect" title="reflect">reflected</a> the respective content attributes
   of the same name.</p>
@@ -18021,17 +18077,16 @@
   <p>The IDL attributes <dfn id="dom-img-naturalwidth" title="dom-img-naturalWidth"><code>naturalWidth</code></dfn> and
   <dfn id="dom-img-naturalheight" title="dom-img-naturalHeight"><code>naturalHeight</code></dfn>
   must return the intrinsic width and height of the image, in CSS
-  pixels, if the image is <i title="img-available"><a href="#img-available">available</a></i>, or
+  pixels, if the image is <i title="img-available">available</i>, or
   else 0. <a href="#refsCSS">[CSS]</a></p>
 
   <p>The IDL attribute <dfn id="dom-img-complete" title="dom-img-complete"><code>complete</code></dfn> must return
-  true if either the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute
-  is omitted, or its value is the empty string, or if the user agent
-  has fetched the image specified in the <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute and it is in a supported
-  image type (i.e. it was decoded without fatal errors), even if the
-  final <a href="#concept-task" title="concept-task">task</a> queued by the
-  <a href="#networking-task-source">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>
+  true if any of the following conditions is true:</p>
+  <ul class="brief"><li>The <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute is omitted.
+   <li>The <code title="attr-img-src"><a href="#attr-img-src">src</a></code> attribute's value is the empty string.
+   <li>The final <a href="#concept-task" title="concept-task">task</a> that is <a href="#queue-a-task" title="queue a task">queued</a> by the <a href="#networking-task-source">networking task source</a> once the resource has been <a href="#fetch" title="fetch">fetched</a> has been <a href="#queue-a-task" title="queue a task">queued</a>, but has not yet been run, and the <code><a href="#the-img-element">img</a></code> element is not in the <a href="#img-error" title="img-error">broken</a> state.
+   <li>The <code><a href="#the-img-element">img</a></code> element is <a href="#img-all" title="img-all">completely available</a>.
+  </ul><p>Otherwise, the attribute must return false.</p>
 
   <p class="note">The value of <code title="dom-img-complete"><a href="#dom-img-complete">complete</a></code> can thus change while a
   <a href="#concept-script" title="concept-script">script</a> is executing.</p>
@@ -18372,7 +18427,7 @@
 at least that would look good on the cover of a blue book.&lt;/p&gt;</pre>
 
    <p>This example shows how the alternative text should be written
-   such that if the image isn't <i title="img-available"><a href="#img-available">available</a></i>, and the text is used instead,
+   such that if the image isn't <i title="img-available">available</i>, and the text is used instead,
    the text flows seamlessly into the surrounding text, as if the
    image had never been there in the first place.</p>
 
@@ -21208,7 +21263,7 @@
  ...
 &lt;/video&gt;</pre>
 
-  </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><h4 id="the-track-element"><span class="secno">4.8.9 </span>The <dfn><code>track</code></dfn> element</h4><dl class="element"><dt>Categories</dt>
+  </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><h4 id="the-track-element"><span class="secno">4.8.9 </span>The <dfn><code>track</code></dfn> element</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/9">ISSUE-9</a> (video-accessibility) blocks progress to Last Call</span><dl class="element"><dt>Categories</dt>
    <dd>None.</dd>
    <dt>Contexts in which this element can be used:</dt>
    <dd>As a child of a <a href="#media-element">media element</a>, before any <a href="#flow-content">flow content</a>.</dd>
@@ -23579,7 +23634,7 @@
   <a href="#current-playback-position">current playback position</a> changes in a discontinuous
   fashion (so that the relevant events fire).</p>
 
-  </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><h5 id="timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</h5><h6 id="timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</h6><p>A <a href="#media-element">media element</a> can have a group of associated <dfn id="timed-track" title="timed track">timed tracks</dfn>, known as the <a href="#media-element">media
+  </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><h5 id="timed-tracks"><span class="secno">4.8.10.10 </span>Timed tracks</h5><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/9">ISSUE-9</a> (video-accessibility) blocks progress to Last Call</span><h6 id="timed-track-model"><span class="secno">4.8.10.10.1 </span>Timed track model</h6><p>A <a href="#media-element">media element</a> can have a group of associated <dfn id="timed-track" title="timed track">timed tracks</dfn>, known as the <a href="#media-element">media
   element</a>'s <dfn id="list-of-timed-tracks">list of timed tracks</dfn>. The <a href="#timed-track" title="timed track">timed tracks</a> are sorted as follows:<ol class="brief"><li>The <a href="#timed-track" title="timed track">timed tracks</a> corresponding
    to <code><a href="#the-track-element">track</a></code> element children of the <a href="#media-element">media
    element</a>, in <a href="#tree-order">tree order</a>.</li>
@@ -38843,10 +38898,9 @@
    </li>
 
    <li><p>If the <var title="">icon</var> argument is present and not
-   null, but the given <code>img</code> element's <code
-   title="dom-img-complete">complete</code> attribute is false or its
-   <code title="attr-img-src">src</code> attribute is omitted or
-   empty, then let <var title="">icon</var> be null.</p></li>
+   null, but the given <code>img</code> element is not in the <span
+   title="img-all">completely available</span> state, then let <var
+   title="">icon</var> be null.</p></li>
 
    <li><p>If the <var title="">icon</var> argument is present and not
    null, then copy the image data from that <code>img</code> element,
@@ -39520,10 +39574,8 @@
       only two entries, or there are three, and the third entry is
       an <code>img</code> element.</p>
 
-      <p>If there is an <code>img</code> element specified, its <code
-      title="dom-img-complete">complete</code> attribute is true and
-      its <code title="attr-img-src">src</code> attribute is neither
-      omitted nor empty.</p>
+      <p>If there is an <code>img</code> element specified, it is in
+      the <span title="img-all">completely available</span> state.</p>
 
      </dd>
 
@@ -39536,10 +39588,8 @@
       entries, or there are four, and the fourth entry is an
       <code>img</code> element.</p>
 
-      <p>If there is an <code>img</code> element specified, its <code
-      title="dom-img-complete">complete</code> attribute is true and
-      its <code title="attr-img-src">src</code> attribute is neither
-      omitted nor empty.</p>
+      <p>If there is an <code>img</code> element specified, it is in
+      the <span title="img-all">completely available</span> state.</p>
 
      </dd>
 
@@ -39552,10 +39602,8 @@
       entries, or there are five, and the fifth entry is an
       <code>img</code> element.</p>
 
-      <p>If there is an <code>img</code> element specified, its <code
-      title="dom-img-complete">complete</code> attribute is true and
-      its <code title="attr-img-src">src</code> attribute is neither
-      omitted nor empty.</p>
+      <p>If there is an <code>img</code> element specified, it is in
+      the <span title="img-all">completely available</span> state.</p>
 
      </dd>
 
@@ -39567,10 +39615,8 @@
       entries, or there are four, and the fourth entry is an
       <code>img</code> element.</p>
 
-      <p>If there is an <code>img</code> element specified, its <code
-      title="dom-img-complete">complete</code> attribute is true and
-      its <code title="attr-img-src">src</code> attribute is neither
-      omitted nor empty.</p>
+      <p>If there is an <code>img</code> element specified, it is in
+      the <span title="img-all">completely available</span> state.</p>
 
      </dd>
 
@@ -64412,7 +64458,7 @@
 
   </div><!--KEEP-END w3c-html--><!--TT--><!--<div data-component="other Hixie drafts (editor: Ian Hickson)">--><div class="impl">
 
-  <h4 id="timed-tracks-0"><span class="secno">10.3.2 </span>Timed tracks</h4>
+  <h4 id="timed-tracks-0"><span class="secno">10.3.2 </span>Timed tracks</h4><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/9">ISSUE-9</a> (video-accessibility) blocks progress to Last Call</span></p>
 
   <p class="note">This section is intended to be moved to its own CSS
   module once an editor is found to run with it.</p>
@@ -65284,7 +65330,7 @@
   does not <a href="#represents" title="represents">represent</a> an image, but the
   element already has intrinsic dimensions (e.g. from the
   <a href="#dimension-attributes">dimension attributes</a> or CSS rules), and either the user
-  agent has reason to believe that the image will become <i title="img-available"><a href="#img-available">available</a></i><!--input-img-available also-->
+  agent has reason to believe that the image will become <i title="img-available">available</i><!--input-img-available also-->
   and be rendered in due course or the <code><a href="#document">Document</a></code> is in
   <a href="#quirks-mode">quirks mode</a>, the element is expected to be treated as a
   replaced element whose content is the text that the element

Received on Tuesday, 19 October 2010 00:10:47 UTC