hixie: Force merge recent changes -- something broke recently that stopped updates.

hixie: Force merge recent changes -- something broke recently that
stopped updates.

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.2668&r2=1.2669&f=h

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.2668
retrieving revision 1.2669
diff -u -d -r1.2668 -r1.2669
--- Overview.html 23 Jul 2009 04:37:40 -0000 1.2668
+++ Overview.html 26 Jul 2009 03:32:19 -0000 1.2669
@@ -169,13 +169,13 @@
    ul.domTree .t7 code, .domTree .t8 code { color: green; }
    ul.domTree .t10 code { color: teal; }
 
-  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20{%20display:%20none;%20}" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20{%20background:%20%23FFEEEE;%20}" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><div class="head">
+  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20{%20display:%20none;%20}" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20{%20background:%20%23FFEEEE;%20}" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><body onload="fixBrokenLink()"><div class="head">
    <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
    <h1>HTML 5</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>
    <!--ZZZ:-->
    <!--<h2 class="no-num no-toc">W3C Working Draft 23 April 2009</h2>-->
-   <h2 class="no-num no-toc" id="editor-s-draft-date-1-january-1970">Editor's Draft 21 July 2009</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-date-1-january-1970">Editor's Draft 26 July 2009</h2>
    <!--:ZZZ-->
    <dl><!-- ZZZ: update the month/day (twice), (un)comment out
     <dt>This Version:</dt>
@@ -197,7 +197,11 @@
    </dl><p>This specification is available in the following formats: 
     <a href="Overview.html">single page HTML</a>,
     <a href="spec.html">multipage HTML</a>.
+<<<<<<< Overview.html
     This is $Revision$.
+=======
+    This is $Revision$.
+>>>>>>> 1.2668
    </p>
    <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
    &copy; 2009 <a href="http://www.w3.org/"><abbr title="World Wide
@@ -273,7 +277,7 @@
   track.
   <!--ZZZ:-->
   <!--This specification is the 23 April 2009 Working Draft.-->
-  This specification is the 21 July 2009 Editor's Draft.
+  This specification is the 26 July 2009 Editor's Draft.
   <!--:ZZZ-->
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- relationship to other work (required) --><p>This specification is also being produced by the <a href="http://www.whatwg.org/">WHATWG</a>. The two specifications are
   identical from the table of contents onwards.</p><!-- UNDER NO CIRCUMSTANCES IS THE FOLLOWING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><!-- context and rationale (required) --><p>This specification is intended to replace (be a new version of)
@@ -1377,7 +1381,7 @@
   First, it should be read cover-to-cover, multiple times. Then, it
   should be read backwards at least once. Then it should be read by
   picking random sections from the contents list and following all the
-  cross-references.<h4 id="typographic-conventions"><span class="secno">1.8.2 </span>Typographic conventions</h4><p>This is a definition, requirement, or explanation.<p class="note">This is a note.<p class="example">This is an example.<p class="XXX">This is an open issue.<p class="warning">This is a warning.<pre class="idl">interface <dfn title="">Example</dfn> {
+  cross-references.<h4 id="typographic-conventions"><span class="secno">1.8.2 </span>Typographic conventions</h4><p>This is a definition, requirement, or explanation.<p class="note">This is a note.<p class="example">This is an example.<p class="XXX">This is an open issue.<p class="warning">This is a warning.<pre class="idl extract">interface <dfn title="">Example</dfn> {
   // this is an IDL definition
 };</pre><dl class="domintro"><dt><var title="">variable</var> = <var title="">object</var> . <code title="">method</code>( [ <var title="">optionalArgument</var> ] )</dt>
 
@@ -4178,7 +4182,7 @@
 
   </dl></div><h4 id="interfaces-for-url-manipulation"><span class="secno">2.5.3 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-attributes">URL decomposition
   attributes</dfn> will have seven attributes with the following
-  definitions:<pre class="idl">
+  definitions:<pre class="idl extract">
            attribute DOMString <a href="#dom-uda-protocol" title="dom-uda-protocol">protocol</a>;
            attribute DOMString <a href="#dom-uda-host" title="dom-uda-host">host</a>;
            attribute DOMString <a href="#dom-uda-hostname" title="dom-uda-hostname">hostname</a>;
@@ -10504,11 +10508,11 @@
 space         = %x0020 ; U+0020 SPACE
 star          = %x002A ; U+002A ASTERISK
 slash         = %x002F ; U+002F SOLIDUS
-not-newline   = %x0000-0009 / %x000B-%10FFFF
+not-newline   = %x0000-0009 / %x000B-10FFFF
                 ; a Unicode character other than U+000A LINE FEED
-not-star      = %x0000-0029 / %x002B-%10FFFF
+not-star      = %x0000-0029 / %x002B-10FFFF
                 ; a Unicode character other than U+002A ASTERISK
-not-slash     = %x0000-002E / %x0030-%10FFFF
+not-slash     = %x0000-002E / %x0030-10FFFF
                 ; a Unicode character other than U+002F SOLIDUS</pre><div class="example">
 
    <p>This allows authors to include documentation, such as license
@@ -17596,6 +17600,13 @@
   <a href="#media-resource">media resource</a> is useful to the user before fetching
   it. Its value must be a valid <a href="#mq">media query</a>. <a href="#references">[MQ]</a><div class="impl">
 
+  <p>If a <code><a href="#the-source-element">source</a></code> element is inserted as a child of a
+  <a href="#media-element">media element</a> that is <a href="#in-a-document">in a
+  <code>Document</code></a> and whose <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> has the value
+  <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>, the user
+  agent must invoke the <a href="#media-element">media element</a>'s <a href="#concept-media-load-algorithm" title="concept-media-load-algorithm">resource selection
+  algorithm</a>.</p>
+
   <p>The DOM attributes <dfn id="dom-source-src" title="dom-source-src"><code>src</code></dfn>, <dfn id="dom-source-type" title="dom-source-type"><code>type</code></dfn>, and <dfn id="dom-source-media" title="dom-source-media"><code>media</code></dfn> must
   <a href="#reflect">reflect</a> the respective content attributes of the same
   name.</p>
@@ -17781,6 +17792,14 @@
   the address of the media resource (video, audio) to show. The
   attribute, if present, must contain a <a href="#valid-url">valid URL</a>.<div class="impl">
 
+  <p>If a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute of a
+  <a href="#media-element">media element</a> that is <a href="#in-a-document">in a
+  <code>Document</code></a> and whose <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> has the value
+  <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code> is set or
+  changed, the user agent must invoke the <a href="#media-element">media element</a>'s
+  <a href="#concept-media-load-algorithm" title="concept-media-load-algorithm">resource selection
+  algorithm</a>.</p>
+
   <p>The <dfn id="dom-media-src" title="dom-media-src"><code>src</code></dfn> DOM
   attribute on <a href="#media-element" title="media element">media elements</a> must
   <a href="#reflect">reflect</a> the respective content attribute of the same
@@ -18027,75 +18046,66 @@
   remaining steps asynchronously, meaning that it runs in the
   background with scripts and other <a href="#concept-task" title="concept-task">tasks</a> running in parallel.</p>
 
-  <ol><li>
-
-    <p>If the <a href="#media-element">media element</a> has neither a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute nor any
-    <code><a href="#the-source-element">source</a></code> element children, run these substeps:</p>
-
-    <ol><li><p>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_NO_SOURCE"><a href="#dom-media-network_no_source">NETWORK_NO_SOURCE</a></code>.</li>
-
-     <li><p>Run the remainder of the <a href="#concept-media-load-algorithm" title="concept-media-load-algorithm">resource selection
-     algorithm</a> steps asynchronously, allowing the <a href="#concept-task" title="concept-task">task</a> that invoked this algorithm to
-     continue.</li>
-
-     <li><p>While the <a href="#media-element">media element</a> has neither a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute nor any
-     <code><a href="#the-source-element">source</a></code> element children, wait. (This step might wait
-     forever.)</li>
-
-     <li><p>Before the <a href="#concept-task" title="concept-task">task</a> that set
-     the <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute or inserted
-     the <code><a href="#the-source-element">source</a></code> element has a chance to complete, set the
-     <a href="#media-element">media element</a>'s <a href="#delaying-the-load-event-flag">delaying-the-load-event
-     flag</a> to true (this <a href="#delay-the-load-event" title="delay the load
-     event">delays the load event</a>), and set its <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>.</li>
+  <ol><li><p>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_NO_SOURCE"><a href="#dom-media-network_no_source">NETWORK_NO_SOURCE</a></code>.</li>
 
-     <li><p>If a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute was
-     set before a <code><a href="#the-source-element">source</a></code> element was inserted, let <var title="">src</var> equal the first value that was assigned to the
-     <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute after this
-     algorithm was invoked.</li>
+   <li><p>Asynchronously <a href="#await-a-stable-state">await a stable state</a>, allowing
+   the <a href="#concept-task" title="concept-task">task</a> that invoked this
+   algorithm to continue. The <a href="#synchronous-section">synchronous section</a>
+   consists of all the remaining steps of this algorithm until the
+   algorithm says the <a href="#synchronous-section">synchronous section</a> has
+   ended. (Steps in <a href="#synchronous-section" title="synchronous section">synchronous
+   sections</a> are marked with &#8987;.)</li>
 
-    </ol><p>Otherwise, run these substeps:</p>
+   <li>
 
-    <ol><li><p>Set the <a href="#media-element">media element</a>'s
-     <a href="#delaying-the-load-event-flag">delaying-the-load-event flag</a> to true (this <a href="#delay-the-load-event" title="delay the load event">delays the load event</a>), and
-     set its <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code>
-     to <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>.</li>
+    <p>&#8987; If the <a href="#media-element">media element</a> has a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute, then let <var title="">mode</var> be <i title="">attribute</i>.</p>
 
-     <li><p>If the <a href="#media-element">media element</a> has a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute, let <var title="">src</var> equal the value of that attribute.</li>
+    <p>&#8987; Otherwise, if the <a href="#media-element">media element</a> does not
+    have a <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute but has a
+    <code><a href="#the-source-element">source</a></code> element child, then let <var title="">mode</var> be <i title="">children</i> and let <var title="">candidate</var> be the first such <code><a href="#the-source-element">source</a></code>
+    element child in <a href="#tree-order">tree order</a>.</p>
 
-     <li><p>Run the remainder of the <a href="#concept-media-load-algorithm" title="concept-media-load-algorithm">resource selection
-     algorithm</a> steps asynchronously, allowing the <a href="#concept-task" title="concept-task">task</a> that invoked this algorithm to
-     continue.</li>
+    <p>&#8987; Otherwise the <a href="#media-element">media element</a> has neither a
+    <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute nor a
+    <code><a href="#the-source-element">source</a></code> element child: set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_EMPTY"><a href="#dom-media-network_empty">NETWORK_EMPTY</a></code>, and abort
+    these steps; the <a href="#synchronous-section">synchronous section</a> ends.</p>
 
-    </ol></li>
+   </li>
 
-   <li><p class="note">By this point, the algorithm is running
-   asynchronously.</li>
+   <li><p>&#8987; Set the <a href="#media-element">media element</a>'s
+   <a href="#delaying-the-load-event-flag">delaying-the-load-event flag</a> to true (this <a href="#delay-the-load-event" title="delay the load event">delays the load event</a>), and set
+   its <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to
+   <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>.</li>
 
-   <li><p><a href="#queue-a-task">Queue a task</a> to <a href="#fire-a-progress-event">fire a progress
+   <li><p>&#8987; <a href="#queue-a-task">Queue a task</a> to <a href="#fire-a-progress-event">fire a progress
    event</a> called <code title="event-loadstart"><a href="#event-loadstart">loadstart</a></code>
    at the <a href="#media-element">media element</a>.</li>
 
    <li>
 
-    <p>If <var title="">src</var> was given a value in the earlier
-    steps, then run these substeps:</p>
+    <p>If <var title="">mode</var> is <i title="">attribute</i>, then
+    run these substeps:</p>
 
-    <ol><li><p>Let <var title="">absolute URL</var> be the <a href="#absolute-url">absolute
-     URL</a> that would have resulted from <a href="#resolve-a-url" title="resolve a
-     url">resolving</a> the <a href="#url">URL</a> given by <var title="">src</var> relative to the <a href="#media-element">media element</a>
-     when the <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute was
-     set to <var title="">src</var>.</p> <!-- i.e. changing xml:base
-     or <base> after src="" has no effect -->
+    <ol><li><p>&#8987; Let <var title="">absolute URL</var> be the
+     <a href="#absolute-url">absolute URL</a> that would have resulted from <a href="#resolve-a-url" title="resolve a url">resolving</a> the <a href="#url">URL</a>
+     specified by the <code title="attr-media-src"><a href="#attr-media-src">src</a></code>
+     attribute's value relative to the <a href="#media-element">media element</a> when
+     the <code title="attr-media-src"><a href="#attr-media-src">src</a></code> attribute was last
+     changed.</p> <!-- i.e. changing xml:base or <base> after src=""
+     has no effect -->
 
-     <li><p>If <var title="">absolute URL</var> was successfully
-     obtained, then run the <a href="#concept-media-load-resource" title="concept-media-load-resource">resource fetch
+     <li><p>End the <a href="#synchronous-section">synchronous section</a>, continuing the
+     remaining steps asynchronously.</li>
+
+     <li><p>If <var title="">absolute URL</var> was obtained
+     successfully, run the <a href="#concept-media-load-resource" title="concept-media-load-resource">resource fetch
      algorithm</a> with <var title="">absolute URL</var>. If that
      algorithm returns without aborting <em>this</em> one, then the
      load failed.</li>
 
-     <li><p>Reaching this step indicates that either the URL failed to
-     resolve, or the media resource failed to load. Set the <code title="dom-media-error"><a href="#dom-media-error">error</a></code> attribute to a new
+     <li><p>Reaching this step indicates that the media resource
+     failed to load or that the given <a href="#url">URL</a> could not be
+     <a href="#resolve-a-url" title="resolve a url">resolved</a>. Set the <code title="dom-media-error"><a href="#dom-media-error">error</a></code> attribute to a new
      <code><a href="#mediaerror">MediaError</a></code> object whose <code title="dom-MediaError-code"><a href="#dom-mediaerror-code">code</a></code> attribute is set to <code title="dom-MediaError-MEDIA_ERR_SRC_NOT_SUPPORTED"><a href="#dom-mediaerror-media_err_src_not_supported">MEDIA_ERR_SRC_NOT_SUPPORTED</a></code>.</li>
 
      <li><p>Set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
@@ -18119,16 +18129,14 @@
 
     <ol><li>
 
-      <p>Let <var title="">pointer</var> be a position defined by two
-      adjacent nodes in the <a href="#media-element">media element</a>'s child list,
-      treating the start of the list (before the first child in the
-      list, if any) and end of the list (after the last child in the
-      list, if any) as nodes in their own right. One node is the node
-      before <var title="">pointer</var>, and the other node is the
-      node after <var title="">pointer</var>. Initially, let <var title="">pointer</var> be the position between the start of the
-      list and the next node (either the first child node of the
-      <a href="#media-element">media element</a>, if there are any, or the end of the
-      list, if it is empty).</p>
+      <p>&#8987; Let <var title="">pointer</var> be a position
+      defined by two adjacent nodes in the <a href="#media-element">media
+      element</a>'s child list, treating the start of the list
+      (before the first child in the list, if any) and end of the list
+      (after the last child in the list, if any) as nodes in their own
+      right. One node is the node before <var title="">pointer</var>,
+      and the other node is the node after <var title="">pointer</var>. Initially, let <var title="">pointer</var> be the position between the <var title="">candidate</var> node and the next node, if there are
+      any, or the end of the list, if it is the last node.</p>
 
       <p>As elements are inserted and removed into the <a href="#media-element">media
       element</a>, <var title="">pointer</var> must be updated as
@@ -18161,104 +18169,98 @@
 
      </li>
 
-     <li>
-
-      <p><i>Search loop</i>: <a href="#queue-a-task">Queue a task</a> to run the
-      following steps (so that no other tasks are running that could
-      make the DOM change while these steps are running):</p>
-
-      <ol><li><p>Let <var title="">candidate</var> be null.</li>
-
-       <li><p>If the node after <var title="">pointer</var> is the end
-       of the list, then abort the task.</li>
-
-       <li><p>If the node after <var title="">pointer</var> is a
-       <code><a href="#the-source-element">source</a></code> element, let <var title="">candidate</var>
-       be that element.</li>
-
-       <li><p>Advance <var title="">pointer</var> so that the node
-       before <var title="">pointer</var> is now the node that was
-       after <var title="">pointer</var>, and the node after <var title="">pointer</var> is the node after the node that used to
-       be after <var title="">pointer</var>.</li>
-
-       <li><p>If <var title="">candidate</var> is null, restart these
-       substeps from the first substep.</li>
-
-       <li><p><a href="#resolve-a-url" title="resolve a url">Resolve</a> the
-       <a href="#url">URL</a> given by the <var title="">candidate</var>
-       element's <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute
-       relative to <var title="">candidate</var>.</li>
+     <li><p>&#8987; <i>Process candidate</i>: If <var title="">candidate</var> does not have a <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute, then end the
+     <a href="#synchronous-section">synchronous section</a>, and jump down to the <i title="">failed</i> step below.</li>
 
-      </ol><p>Wait for the task to run. When the task ends, if <var title="">candidate</var> is null, then jump to the step below
-      labeled <i>waiting</i>. Otherwise, continue with the next
-      step.</p>
+     <li><p>&#8987; Let <var title="">absolute URL</var> be the
+     <a href="#absolute-url">absolute URL</a> that would have resulted from <a href="#resolve-a-url" title="resolve a url">resolving</a> the <a href="#url">URL</a>
+     specified by <var title="">candidate</var>'s <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute's value relative to
+     the <var title="">candidate</var> when the <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute was last
+     changed.</p> <!-- i.e. changing xml:base or <base> after src=""
+     has no effect -->
 
-     </li>
+     <li><p>&#8987; If <var title="">absolute URL</var> was not
+     obtained successfully, then end the <a href="#synchronous-section">synchronous
+     section</a>, and jump down to the <i title="">failed</i> step
+     below.</li>
 
-     <li>
+     <li><p>&#8987; If <var title="">candidate</var> has a <code title="attr-source-type"><a href="#attr-source-type">type</a></code> attribute whose value, when
+     parsed as a MIME type (including any codecs described by the
+     <code title="">codec</code> parameter), represents <a href="#a-type-that-the-user-agent-knows-it-cannot-render">a type
+     that the user agent knows it cannot render</a>, then end the
+     <a href="#synchronous-section">synchronous section</a>, and jump down to the <i title="">failed</i> step below.</li>
 
-      <p>If any of the following conditions are true, then <a href="#queue-a-task">queue
-      a task</a> to <a href="#fire-a-simple-event">fire a simple event</a> called <code title="event-error"><a href="#event-error">error</a></code> at the <var title="">candidate</var> element and then jump back to the step
-      labelled <i>search loop</i>:</p>
+     <li><p>&#8987; If <var title="">candidate</var> has a <code title="attr-source-media"><a href="#attr-source-media">media</a></code> attribute whose value,
+     when processed according to the rules for <a href="#mq">media
+     queries</a>, does not match the current environment, then end the
+     <a href="#synchronous-section">synchronous section</a>, and jump down to the <i title="">failed</i> step below. <a href="#references">[MQ]</a></li>
 
-      <ul><li>The <var title="">candidate</var> element does not have a
-       <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute.</li>
+     <li><p>End the <a href="#synchronous-section">synchronous section</a>, continuing the
+     remaining steps asynchronously.</li>
 
-       <li><a href="#resolve-a-url" title="resolve a url">Resolving</a> the
-       <a href="#url">URL</a> given by the <var title="">candidate</var>
-       element's <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute
-       relative to <var title="">candidate</var> failed.</li>
+     <li><p>Run the <a href="#concept-media-load-resource" title="concept-media-load-resource">resource
+     fetch algorithm</a> with <var title="">absolute URL</var>. If
+     that algorithm returns without aborting <em>this</em> one, then
+     the load failed.</li>
 
-       <li>The <var title="">candidate</var> element has a <code title="attr-source-type"><a href="#attr-source-type">type</a></code> attribute whose value,
-       when parsed as a MIME type (including any codecs described by
-       the <code title="">codec</code> parameter), represents <a href="#a-type-that-the-user-agent-knows-it-cannot-render">a
-       type that the user agent knows it cannot render</a>.</li>
+     <li><p><i title="">Failed</i>: <a href="#queue-a-task">Queue a task</a> to
+     <a href="#fire-a-simple-event">fire a simple event</a> called <code title="event-error"><a href="#event-error">error</a></code> at the <var title="">candidate</var> element.</li>
 
-       <li>The <var title="">candidate</var> element has a <code title="attr-source-media"><a href="#attr-source-media">media</a></code> attribute whose value,
-       when processed according to the rules for <a href="#mq">media
-       queries</a>, does not match the current environment. <a href="#references">[MQ]</a></li>
+     <li><p>Asynchronously <a href="#await-a-stable-state">await a stable state</a>. The
+     <a href="#synchronous-section">synchronous section</a> consists of all the remaining
+     steps of this algorithm until the algorithm says the
+     <a href="#synchronous-section">synchronous section</a> has ended. (Steps in <a href="#synchronous-section" title="synchronous section">synchronous sections</a> are
+     marked with &#8987;.)</li>
 
-      </ul></li>
+     <li><p>&#8987; <i title="">Find next candidate</i>: Let <var title="">candidate</var> be null.</li>
 
-     <li><p>Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> to <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code> again,
-     in case it was set to <code title="dom-media-NETWORK_NO_SOURCE"><a href="#dom-media-network_no_source">NETWORK_NO_SOURCE</a></code>
-     above.</li>
+     <li><p>&#8987; <i title="">Search loop</i>: If the node after
+     <var title="">pointer</var> is the end of the list, then jump o
+     the <i title="">waiting</i> step below.</li>
 
-     <li><p>Run the <a href="#concept-media-load-resource" title="concept-media-load-resource">resource fetch
-     algorithm</a> with the <a href="#absolute-url">absolute URL</a> that resulted
-     from <a href="#resolve-a-url" title="resolve a url">resolving</a> the
-     <a href="#url">URL</a> given by the <var title="">candidate</var>
-     element's <code title="attr-source-src"><a href="#attr-source-src">src</a></code> attribute
-     relative to <var title="">candidate</var>. If that algorithm
-     returns without aborting <em>this</em> one, then the load
-     failed.</li>
+     <li><p>&#8987; If the node after <var title="">pointer</var> is
+     a <code><a href="#the-source-element">source</a></code> element, let <var title="">candidate</var>
+     be that element.</li>
 
-     <li><p><a href="#queue-a-task">Queue a task</a> to <a href="#fire-a-simple-event">fire a simple
-     event</a> called <code title="event-error"><a href="#event-error">error</a></code> at the
-     <var title="">candidate</var> element.</li>
+     <li><p>&#8987; Advance <var title="">pointer</var> so that the
+     node before <var title="">pointer</var> is now the node that was
+     after <var title="">pointer</var>, and the node after <var title="">pointer</var> is the node after the node that used to be
+     after <var title="">pointer</var>, if any.</li>
 
-     <li><p>Return to the step labeled <i>search loop</i>.</li>
+     <li><p>&#8987; If <var title="">candidate</var> is null, jump
+     back to the <i title="">search loop</i> step. Otherwise, jump
+     back to the <i title="">process candidate</i> step.</li>
 
-     <li><p><i>Waiting</i>: Set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
+     <li><p>&#8987; <i title="">Waiting</i>: Set the element's <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> attribute to
      the <a href="#dom-media-network_no_source" title="dom-media-NETWORK_NO_SOURCE">NETWORK_NO_SOURCE</a>
-     value</li>
+     value.</li>
 
-     <li><p>Set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event flag</a>
-     to false. This stops <a href="#delay-the-load-event" title="delay the load event">delaying
-     the load event</a>.</li>
+     <li><p>&#8987; Set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event
+     flag</a> to false. This stops <a href="#delay-the-load-event" title="delay the load
+     event">delaying the load event</a>.</li>
+
+     <li><p>End the <a href="#synchronous-section">synchronous section</a>, continuing the
+     remaining steps asynchronously.</li>
 
      <li><p>Wait until the node after <var title="">pointer</var> is a
      node other than the end of the list. (This step might wait
      forever.)</li>
 
-     <li><p>Before the <a href="#concept-task" title="concept-task">task</a> that
-     inserted the <code><a href="#the-source-element">source</a></code> element has a chance to
-     complete, set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event
-     flag</a> back to true. This <a href="#delay-the-load-event" title="delay the load
+     <li><p>Asynchronously <a href="#await-a-stable-state">await a stable state</a>. The
+     <a href="#synchronous-section">synchronous section</a> consists of all the remaining
+     steps of this algorithm until the algorithm says the
+     <a href="#synchronous-section">synchronous section</a> has ended. (Steps in <a href="#synchronous-section" title="synchronous section">synchronous sections</a> are
+     marked with &#8987;.)</li>
+
+     <li><p>&#8987; Set the element's <a href="#delaying-the-load-event-flag">delaying-the-load-event
+     flag</a> back to true (this <a href="#delay-the-load-event" title="delay the load
      event">delays the load event</a> again, in case it hasn't been
-     fired yet.</li>
+     fired yet).</p>
 
-     <li><p>Jump back to the step labeled <i>search loop</i>.</li>
+     <li><p>&#8987; Set the <code title="dom-media-networkState"><a href="#dom-media-networkstate">networkState</a></code> back to <code title="dom-media-NETWORK_LOADING"><a href="#dom-media-network_loading">NETWORK_LOADING</a></code>.</li>
+
+     <li><p>&#8987; Jump back to the <i title="">find next
+     candidate</i> step above.</li>
 
     </ol></li>
 
@@ -42466,6 +42468,17 @@
 
    <li><p>Remove that task from its <a href="#task-queue">task queue</a>.</li>
 
+   <li><p>If any asynchronously-running algorithms are <dfn id="await-a-stable-state" title="await a stable state">awaiting a stable state</dfn>, then
+   run their <dfn id="synchronous-section">synchronous section</dfn> and then resume running
+   their asynchronous algorithm.</p>
+
+   <p class="note">A <a href="#synchronous-section">synchronous section</a> never mutates
+   the DOM, runs any script, or have any other side-effects.</p>
+
+   <p class="note">Steps in <a href="#synchronous-section" title="synchronous
+   section">synchronous sections</a> are marked with
+   &#8987;.</li>
+
    <li><p>If necessary, update the rendering or user interface of any
    <code>Document</code> or <a href="#browsing-context">browsing context</a> to reflect
    the current state.</li>
@@ -49133,7 +49146,7 @@
   --><h4 id="textFieldSelection"><span class="secno">7.7.2 </span>APIs for the text field selections</h4><!-- v2 idea: DOM Range APIs to expose the textarea/input edited
   value (ack martijnw) --><p>The <code><a href="#the-input-element">input</a></code> and <code><a href="#the-textarea-element">textarea</a></code> elements define
   the following members in their DOM interfaces for handling their
-  text selection:<pre class="idl">  void <a href="#dom-textarea-input-select" title="dom-textarea/input-select">select</a>();
+  text selection:<pre class="idl extract">  void <a href="#dom-textarea-input-select" title="dom-textarea/input-select">select</a>();
            attribute unsigned long <a href="#dom-textarea-input-selectionstart" title="dom-textarea/input-selectionStart">selectionStart</a>;
            attribute unsigned long <a href="#dom-textarea-input-selectionend" title="dom-textarea/input-selectionEnd">selectionEnd</a>;
   void <a href="#dom-textarea-input-setselectionrange" title="dom-textarea/input-setSelectionRange">setSelectionRange</a>(in unsigned long start, in unsigned long end);</pre><!-- XXX also add textLength? it seems to be widely used --><p>These methods and attributes expose and control the selection of
@@ -64599,8 +64612,8 @@
            attribute <a href="#function">Function</a> <a href="#handler-marquee-onfinish" title="handler-marquee-onfinish">onfinish</a>;
            attribute <a href="#function">Function</a> <a href="#handler-marquee-onstart" title="handler-marquee-onstart">onstart</a>;
 
-  void <a href="#dom-marquee-start" title="dom-marquee-start">start</a>()
-  void <a href="#dom-marquee-stop" title="dom-marquee-stop">stop</a>()
+  void <a href="#dom-marquee-start" title="dom-marquee-start">start</a>();
+  void <a href="#dom-marquee-stop" title="dom-marquee-stop">stop</a>();
 };</pre>
 
   <p>A <code><a href="#the-marquee-element-0">marquee</a></code> element can be <dfn id="concept-marquee-on" title="concept-marquee-on">turned on</dfn> or <dfn id="concept-marquee-off" title="concept-marquee-off">turned off</dfn>. When it is created, it
@@ -65751,6 +65764,7 @@
   Dimitri Glazkov,
   Dimitry Golubovsky,
   dolphinling,
+  Dominique Haza&euml;l-Massieux,
   Doron Rosenberg,
   Doug Kramer,
   Drew Wilson,

Received on Sunday, 26 July 2009 03:33:37 UTC