hixie: Specify multipart/x-mixed-replace (whatwg r6596)

hixie: Specify multipart/x-mixed-replace (whatwg r6596)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.5289&r2=1.5290&f=h
http://html5.org/tools/web-apps-tracker?from=6595&to=6596

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.5289
retrieving revision 1.5290
diff -u -d -r1.5289 -r1.5290
--- Overview.html 27 Sep 2011 21:33:39 -0000 1.5289
+++ Overview.html 29 Sep 2011 00:23:57 -0000 1.5290
@@ -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-27-september-2011">Editor's Draft 27 September 2011</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-28-september-2011">Editor's Draft 28 September 2011</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>
@@ -467,7 +467,7 @@
   Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation
   track.
-  This specification is the 27 September 2011 Editor's Draft.
+  This specification is the 28 September 2011 Editor's Draft.
   </p><!-- UNDER NO CIRCUMSTANCES IS THE PRECEDING PARAGRAPH TO BE REMOVED OR EDITED WITHOUT TALKING TO IAN FIRST --><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 --><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
@@ -1009,17 +1009,18 @@
      <li><a href="#read-html"><span class="secno">5.5.2 </span>Page load processing model for HTML files</a></li>
      <li><a href="#read-xml"><span class="secno">5.5.3 </span>Page load processing model for XML files</a></li>
      <li><a href="#read-text"><span class="secno">5.5.4 </span>Page load processing model for text files</a></li>
-     <li><a href="#read-image"><span class="secno">5.5.5 </span>Page load processing model for images</a></li>
-     <li><a href="#read-plugin"><span class="secno">5.5.6 </span>Page load processing model for content that uses plugins</a></li>
-     <li><a href="#read-ua-inline"><span class="secno">5.5.7 </span>Page load processing model for inline content that doesn't have a DOM</a></li>
-     <li><a href="#scroll-to-fragid"><span class="secno">5.5.8 </span>Navigating to a fragment identifier</a></li>
-     <li><a href="#history-traversal"><span class="secno">5.5.9 </span>History traversal</a>
+     <li><a href="#read-multipart-x-mixed-replace"><span class="secno">5.5.5 </span>Page load processing model for <code>multipart/x-mixed-replaced</code> resources</a></li>
+     <li><a href="#read-image"><span class="secno">5.5.6 </span>Page load processing model for images</a></li>
+     <li><a href="#read-plugin"><span class="secno">5.5.7 </span>Page load processing model for content that uses plugins</a></li>
+     <li><a href="#read-ua-inline"><span class="secno">5.5.8 </span>Page load processing model for inline content that doesn't have a DOM</a></li>
+     <li><a href="#scroll-to-fragid"><span class="secno">5.5.9 </span>Navigating to a fragment identifier</a></li>
+     <li><a href="#history-traversal"><span class="secno">5.5.10 </span>History traversal</a>
       <ol>
-       <li><a href="#event-definitions"><span class="secno">5.5.9.1 </span>Event definitions</a></ol></li>
-     <li><a href="#unloading-documents"><span class="secno">5.5.10 </span>Unloading documents</a>
+       <li><a href="#event-definitions"><span class="secno">5.5.10.1 </span>Event definitions</a></ol></li>
+     <li><a href="#unloading-documents"><span class="secno">5.5.11 </span>Unloading documents</a>
       <ol>
-       <li><a href="#event-definition"><span class="secno">5.5.10.1 </span>Event definition</a></ol></li>
-     <li><a href="#aborting-a-document-load"><span class="secno">5.5.11 </span>Aborting a document load</a></ol></li>
+       <li><a href="#event-definition"><span class="secno">5.5.11.1 </span>Event definition</a></ol></li>
+     <li><a href="#aborting-a-document-load"><span class="secno">5.5.12 </span>Aborting a document load</a></ol></li>
    <li><a href="#offline"><span class="secno">5.6 </span>Offline Web applications</a>
     <ol>
      <li><a href="#introduction-4"><span class="secno">5.6.1 </span>Introduction</a>
@@ -1350,10 +1351,11 @@
   <ol>
    <li><a href="#text-html"><span class="secno">12.1 </span><code>text/html</code></a></li>
    <li><a href="#text-html-sandboxed"><span class="secno">12.2 </span><code>text/html-sandboxed</code></a></li>
-   <li><a href="#application-xhtml-xml"><span class="secno">12.3 </span><code>application/xhtml+xml</code></a></li>
-   <li><a href="#application-x-www-form-urlencoded"><span class="secno">12.4 </span><code>application/x-www-form-urlencoded</code></a></li>
-   <li><a href="#text-cache-manifest"><span class="secno">12.5 </span><code>text/cache-manifest</code></a></li>
-   <li><a href="#web-scheme-prefix"><span class="secno">12.6 </span><code>web+</code> scheme prefix</a></ol></li>
+   <li><a href="#multipart-x-mixed-replace"><span class="secno">12.3 </span><code>multipart/x-mixed-replace</code></a></li>
+   <li><a href="#application-xhtml-xml"><span class="secno">12.4 </span><code>application/xhtml+xml</code></a></li>
+   <li><a href="#application-x-www-form-urlencoded"><span class="secno">12.5 </span><code>application/x-www-form-urlencoded</code></a></li>
+   <li><a href="#text-cache-manifest"><span class="secno">12.6 </span><code>text/cache-manifest</code></a></li>
+   <li><a href="#web-scheme-prefix"><span class="secno">12.7 </span><code>web+</code> scheme prefix</a></ol></li>
  <li><a class="no-num" href="#index">Index</a>
   <ol>
    <li><a class="no-num" href="#elements-1">Elements</a></li>
@@ -10564,7 +10566,7 @@
 
    <li><p>Release the <a href="#storage-mutex">storage mutex</a>.</li>
 
-   <li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state to
+   <li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
    false.</li>
 
    <li><p><a href="#prompt-to-unload-a-document" title="prompt to unload a document">Prompt to
@@ -10609,7 +10611,7 @@
    flag</a> and set the <code><a href="#document">Document</a></code>'s <a href="#reload-override-buffer">reload
    override buffer</a> to the empty string.</li>
 
-   <li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state back
+   <li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state back
    to true.</li>
 
    <li><p>Change <a href="#the-document-s-address">the document's address</a> to the
@@ -18359,45 +18361,60 @@
     attack, but unfortunately such policies are typically not
     compatible with existing Web content.</p>
 
-   </li>
+    <p>The first <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>.</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 id="img-load">If the resource is in a supported image format,
+    then 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 (e.g. if the image is a progressive JPEG, each
+    packet can improve the resolution of the image); furthermore, the
+    last <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>
 
-  <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>
 
-  <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>
 
-   <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>
 
-   <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>
 
-   <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>On the other hand, if the resource type is
+    <code><a href="#multipart-x-mixed-replace">multipart/x-mixed-replace</a></code>, then 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
+    also update the presentation of the image, but as each new body
+    part comes in, it must replace the previous image. Once one body
+    part has been completely decoded, the user agent must 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 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.</p>
 
-  </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>If at any point the user agent discovers that the image data is
+    corrupted in some fatal way, or that the image data 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>
+   </li>
+
+  </ol><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 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
@@ -44331,17 +44348,21 @@
   context</a> and its <a href="#script-s-document" title="script's
   document">document</a>.</p>
 
+  
   <p>When a <a href="#browsing-context">browsing context</a> is to <dfn id="discard-a-document">discard a
   <code>Document</code></dfn>, the user agent must run the following
   steps:</p>
 
-  <ol><li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state to
+  <ol><li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
    false.</li>
 
    <li><p>Run any <a href="#unloading-document-cleanup-steps">unloading document cleanup steps</a> for
    the <code><a href="#document">Document</a></code> that are defined by this specification
    and <a href="#other-applicable-specifications">other applicable specifications</a>.</li>
 
+   <li><p><a href="#abort-a-document" title="abort a document">Abort the
+   <code>Document</code></a>.</li>
+
    <li><p>Remove any <a href="#concept-task" title="concept-task">tasks</a>
    associated with the <code><a href="#document">Document</a></code> in any <a href="#task-source">task
    source</a>, without running those tasks.</li>
@@ -45931,7 +45952,12 @@
    and abort these steps.</li>
 
    <li><p>Cancel <em>any</em> preexisting attempt to navigate the
-   <a href="#browsing-context">browsing context</a>.</li>
+   <a href="#browsing-context">browsing context</a>, including canceling any instances of
+   the <a href="#fetch">fetch</a> algorithm started by those attempts. If one
+   of those attempts has already <a href="#create-a-document-object" title="create a document
+   object">created a new <code>Document</code> object</a>, <a href="#abort-a-document" title="abort a document">Abort</a> that <code><a href="#document">Document</a></code>
+   also. (Previous navigation attempts whose <a href="#fetch">fetch</a>
+   requests have <em>finished</em> are unaffected, however.)</li>
 
    <li><p>If the new resource is to be handled using a mechanism that
    does not affect the browsing context, e.g. ignoring the navigation
@@ -46091,11 +46117,11 @@
 
    <li>
 
-    <p>If the document's out-of-band metadata (e.g. HTTP headers), not
-    counting any <a href="#content-type" title="Content-Type">type information</a>
-    (such as the Content-Type HTTP header), requires some sort of
-    processing that will not affect the browsing context, then perform
-    that processing and abort these steps.</p>
+    <p><i>Resource handling</i>: If the resource's out-of-band
+    metadata (e.g. HTTP headers), not counting any <a href="#content-type" title="Content-Type">type information</a> (such as the
+    Content-Type HTTP header), requires some sort of processing that
+    will not affect the browsing context, then perform that processing
+    and abort these steps.</p>
 
     <div class="note">
      <p>Such processing might be triggered by, amongst other things, the
@@ -46157,6 +46183,10 @@
      <dd>Follow the steps given in the <a href="#read-text" title="navigate-text">plain text file</a> section, and abort
      these steps.</dd>
 
+     <dt>"<code><a href="#multipart-x-mixed-replace">multipart/x-mixed-replace</a></code>"</dt>
+     <dd>Follow the steps given in the <a href="#read-multipart-x-mixed-replace" title="navigate-multipart-x-mixed-replace">multipart/x-mixed-replace</a>
+     section, and abort these steps.</dd>
+
      <dt>A supported image type</dt>
      <dd>Follow the steps given in the <a href="#read-image" title="navigate-image">image</a> section, and abort these
      steps.</dd>
@@ -46217,9 +46247,10 @@
    </li>
 
    <li><p>Otherwise, the document's <var title="">type</var> is such
-   that the resource will not affect the browsing context,
-   e.g. because the resource is to be handed to an external
-   application. Process the resource appropriately.</p>
+   that the resource will not affect the browsing context, e.g.
+   because the resource is to be handed to an external application or
+   because it is an unknown type that will be processed <span>as a
+   download</span>. Process the resource appropriately.</p>
 
   </ol><hr><p>Some of the sections below, to which the above algorithm defers
   in certain cases, require the user agent to <dfn id="update-the-session-history-with-the-new-page">update the session
@@ -46468,7 +46499,34 @@
   section must be the <a href="#networking-task-source">networking task source</a>.</p>
 
 
-  <h4 id="read-image"><span class="secno">5.5.5 </span><dfn title="navigate-image">Page load processing model for images</dfn></h4>
+  <h4 id="read-multipart-x-mixed-replace"><span class="secno">5.5.5 </span><dfn title="navigate-multipart-x-mixed-replace">Page load processing model for <code>multipart/x-mixed-replaced</code> resources</dfn></h4>
+
+  <p>When a resource with the type
+  <code>multipart/x-mixed-replaced</code> is to be loaded in a
+  <a href="#browsing-context">browsing context</a>, the user agent must parse the
+  resource using the rules for multipart types. <a href="#refsRFC2046">[RFC2046]</a></p>
+
+  <p>For each body part obtained from the resource, the user agent
+  must run a new instance of the <a href="#navigate">navigate</a> algorithm,
+  starting from the <i>resource handling</i> step, using the new body
+  part as the resource being navigated, with <a href="#replacement-enabled">replacement
+  enabled</a> if a previous body part from the same resource
+  resulted in a <code><a href="#document">Document</a></code> object being <a href="#create-a-document-object" title="create
+  a document object">created</a>, and otherwise using the same
+  setup as the <a href="#navigate">navigate</a> attempt that caused this section
+  to be invoked in the first place.</p>
+
+  <p>For the purposes of algorithms processing these body parts as if
+  they were complete stand-alone resources, the user agent must act as
+  if there were no more bytes for those resources whenever the
+  boundary following the body part is reached.</p>
+
+  <p class="note">Thus, <code title="event-load">load</code> events
+  (and for that matter <code title="event-unload">unload</code>
+  events) do fire for each body part loaded.</p>
+
+
+  <h4 id="read-image"><span class="secno">5.5.6 </span><dfn title="navigate-image">Page load processing model for images</dfn></h4>
 
   <p>When an image resource is to be loaded in a <a href="#browsing-context">browsing
   context</a>, the user agent should <a href="#create-a-document-object">create a
@@ -46500,7 +46558,7 @@
   a script, to give the document a <code><a href="#the-title-element">title</a></code>, etc.</p>
 
 
-  <h4 id="read-plugin"><span class="secno">5.5.6 </span><dfn title="navigate-plugin">Page load processing model for content that uses plugins</dfn></h4>
+  <h4 id="read-plugin"><span class="secno">5.5.7 </span><dfn title="navigate-plugin">Page load processing model for content that uses plugins</dfn></h4>
 
   <p>When a resource that requires an external resource to be rendered
   is to be loaded in a <a href="#browsing-context">browsing context</a>, the user agent
@@ -46541,7 +46599,7 @@
   relevant <a href="#plugin">plugin</a> cannot be <a href="#concept-plugin-secure" title="concept-plugin-secure">secured</a>.</p>
 
 
-  <h4 id="read-ua-inline"><span class="secno">5.5.7 </span><dfn title="navigate-ua-inline">Page load processing model for inline content that doesn't have a DOM</dfn></h4>
+  <h4 id="read-ua-inline"><span class="secno">5.5.8 </span><dfn title="navigate-ua-inline">Page load processing model for inline content that doesn't have a DOM</dfn></h4>
 
   <p>When the user agent is to display a user agent page inline in a
   <a href="#browsing-context">browsing context</a>, the user agent should <a href="#create-a-document-object">create a
@@ -46566,7 +46624,7 @@
 
 
 
-  <h4 id="scroll-to-fragid"><span class="secno">5.5.8 </span><dfn title="navigate-fragid">Navigating to a fragment identifier</dfn></h4>
+  <h4 id="scroll-to-fragid"><span class="secno">5.5.9 </span><dfn title="navigate-fragid">Navigating to a fragment identifier</dfn></h4>
 
   <p>When a user agent is supposed to navigate to a fragment
   identifier, then the user agent must <a href="#queue-a-task">queue a task</a> to
@@ -46661,7 +46719,7 @@
   document</a>, if that is an element; otherwise there is no
   <i><a href="#target-element">target element</a></i>. <a href="#refsSELECTORS">[SELECTORS]</a></p>
 
-  </div><h4 id="history-traversal"><span class="secno">5.5.9 </span>History traversal</h4><div class="impl">
+  </div><h4 id="history-traversal"><span class="secno">5.5.10 </span>History traversal</h4><div class="impl">
 
   <p>When a user agent is required to <dfn id="traverse-the-history">traverse the history</dfn>
   to a <var title="">specified entry</var>, optionally with
@@ -46834,7 +46892,7 @@
   <a href="#dom-manipulation-task-source">DOM manipulation task source</a>.</p>
 
 
-  <h5 id="event-definitions"><span class="secno">5.5.9.1 </span>Event definitions</h5>
+  <h5 id="event-definitions"><span class="secno">5.5.10.1 </span>Event definitions</h5>
 
   </div><p>The <dfn id="event-popstate" title="event-popstate"><code>popstate</code></dfn> event
   is fired in certain cases when navigating to a <a href="#session-history-entry">session history
@@ -46934,10 +46992,10 @@
   object is created, this attribute must be initialized to false. It
   represents the context information for the event.</p>
 
-  </div><h4 id="unloading-documents"><span class="secno">5.5.10 </span>Unloading documents</h4><div class="impl">
+  </div><h4 id="unloading-documents"><span class="secno">5.5.11 </span>Unloading documents</h4><div class="impl">
 
-  <p>A <code><a href="#document">Document</a></code> has a <var title="concept-document-salvageable">salvageable</var> state, which
-  is initially true.</p>
+  <p>A <code><a href="#document">Document</a></code> has a <dfn id="concept-document-salvageable" title="concept-document-salvageable"><var>salvageable</var></dfn>
+  state, which is initially true.</p>
 
   <p>When a user agent is to <dfn id="prompt-to-unload-a-document">prompt to unload a document</dfn>,
   it must run the following steps.</p>
@@ -46952,7 +47010,7 @@
    <li><p>Release the <a href="#storage-mutex">storage mutex</a>.</li>
 
    <li><p>If any event listeners were triggered by the earlier
-   <i>dispatch</i> step, then set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state to
+   <i>dispatch</i> step, then set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
    false.</li>
 
    <li>
@@ -46999,9 +47057,9 @@
      document to be unloaded">refused to allow <em>this</em> document
      to be unloaded</a>; abort these steps.</p>
 
-     <li><p>If <var title="concept-document-salvageable">salvageable</var> state of
+     <li><p>If <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state of
      the <a href="#active-document">active document</a> of the <a href="#browsing-context">browsing
-     context</a> <var title="">b</var> is false, then set the <var title="concept-document-salvageable">salvageable</var> state of
+     context</a> <var title="">b</var> is false, then set the <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state of
      <em>this</em> document to false also.</li>
 
     </ol></li>
@@ -47028,7 +47086,7 @@
 
    <li><p>If any event listeners were triggered by the earlier
    <i>unload event</i> step, then set the <code><a href="#document">Document</a></code>
-   object's <var title="concept-document-salvageable">salvageable</var> state to
+   object's <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
    false.</li>
 
    <li><p>Run any <a href="#unloading-document-cleanup-steps">unloading document cleanup steps</a> for
@@ -47055,14 +47113,14 @@
      <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</li>
 
-     <li><p>If <var title="concept-document-salvageable">salvageable</var> state of
+     <li><p>If <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state of
      the <a href="#active-document">active document</a> of the <a href="#browsing-context">browsing
-     context</a> <var title="">b</var> is false, then set the <var title="concept-document-salvageable">salvageable</var> state of
+     context</a> <var title="">b</var> is false, then set the <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state of
      <em>this</em> document to false also.</li>
 
     </ol></li>
 
-   <li><p>If <var title="concept-document-salvageable">salvageable</var> and <var title="">recycle</var> are both false, then the
+   <li><p>If <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> and <var title="">recycle</var> are both false, then the
    <code><a href="#document">Document</a></code>'s <a href="#browsing-context">browsing context</a> must <a href="#discard-a-document" title="discard a document">discard the
    <code>Document</code></a>.</li>
 
@@ -47082,7 +47140,7 @@
     </p>
 
     <p>If this affected any <code>WebSocket</code> objects, the set
-    <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state to
+    <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
     false.</p>
 
    </li>
@@ -47093,17 +47151,17 @@
     <code>PeerConnection</code> objects whose
     <span><code>PeerConnection</code> readiness state</span> is not
     <code title="dom-PeerConnection-CLOSED">CLOSED</code>, then set
-    <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state to
+    <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
     false.</p>
 
    </li>
 
-   <li><p>If the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable">salvageable</var> state is
+   <li><p>If the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state is
    false, empty the <code><a href="#document">Document</a></code>'s <code><a href="#window">Window</a></code>'s
    <a href="#list-of-active-timeouts">list of active timeouts</a> and its <a href="#list-of-active-intervals">list of active
    intervals</a>.</li>
 
-  </ol><h5 id="event-definition"><span class="secno">5.5.10.1 </span>Event definition</h5>
+  </ol><h5 id="event-definition"><span class="secno">5.5.11.1 </span>Event definition</h5>
 
   </div><pre class="idl">interface <dfn id="beforeunloadevent">BeforeUnloadEvent</dfn> : <a href="#event">Event</a> {
            attribute DOMString <a href="#dom-beforeunloadevent-returnvalue" title="dom-BeforeUnloadEvent-returnValue">returnValue</a>;
@@ -47128,7 +47186,7 @@
 
   </div><div class="impl">
 
-  <h4 id="aborting-a-document-load"><span class="secno">5.5.11 </span>Aborting a document load</h4>
+  <h4 id="aborting-a-document-load"><span class="secno">5.5.12 </span>Aborting a document load</h4>
 
   <p>If a <code><a href="#document">Document</a></code> is <dfn id="abort-a-document" title="abort a
   document">aborted</dfn>, the user agent must run the following
@@ -47147,6 +47205,9 @@
    parser</a>, then <a href="#abort-a-parser" title="abort a parser">abort that
    parser</a>.</li>
 
+   <li><p>Set the <code><a href="#document">Document</a></code>'s <var title="concept-document-salvageable"><a href="#concept-document-salvageable">salvageable</a></var> state to
+   false.</li>
+
    
 
   </ol><p>User agents may allow users to explicitly invoke the <a href="#abort-a-document" title="abort a document">abort a document</a> algorithm for a
@@ -51489,6 +51550,7 @@
      <li><code>image/gif</code></li>
      <li><code>image/jpeg</code></li>
      <li><code>image/png</code></li>
+     <li><code><a href="#multipart-x-mixed-replace">multipart/x-mixed-replace</a></code></li>
      <li>All <a href="#xml-mime-type" title="XML MIME type">XML MIME types</a></li>
      <li>All types that the user agent supports displaying natively in a <a href="#browsing-context">browsing context</a> during <a href="#navigate" title="navigate">navigation</a></li>
 
@@ -53172,7 +53234,7 @@
        </dd>
 
 
-       <dt><i><a href="#file">File</a></i></dt>
+       <dt><i title="">File</i></dt>
        <dd>
         <p>Binary data with a file name.</p>
        </dd>
@@ -68677,8 +68739,10 @@
      </dd>
     </dl></dd>
    <dt>Encoding considerations:</dt>
-   <dd>See the section on <a href="#character-encoding-declaration" title="character encoding
-   declaration">character encoding declarations</a>.</dd>
+   <dd>
+    8bit (see the section on <a href="#character-encoding-declaration" title="character encoding
+    declaration">character encoding declarations</a>)
+   </dd>
    <dt>Security considerations:</dt>
    <dd>
 
@@ -68834,7 +68898,60 @@
   </dl><p>Fragment identifiers used with <code><a href="#text-html-sandboxed">text/html-sandboxed</a></code>
   resources either refer to <a href="#the-indicated-part-of-the-document">the indicated part of the
   document</a> or provide state information for in-page
-  scripts.<h3 id="application-xhtml-xml"><span class="secno">12.3 </span><dfn><code>application/xhtml+xml</code></dfn></h3><p>This registration is for community review and will be submitted
+  scripts.<h3 id="multipart-x-mixed-replace"><span class="secno">12.3 </span><dfn><code>multipart/x-mixed-replace</code></dfn></h3><p>This registration is for community review and will be submitted
+  to the IESG for review, approval, and registration with IANA.</p><dl><dt>Type name:</dt>
+   <dd>multipart</dd>
+   <dt>Subtype name:</dt>
+   <dd>x-mixed-replace</dd>
+   <dt>Required parameters:</dt>
+   <dd>
+    <ul class="brief"><li><code title="">boundary</code> (defined in RFC2046) <a href="#refsRFC2046">[RFC2046]</a>
+    </ul></dd>
+   <dt>Optional parameters:</dt>
+   <dd>No optional parameters.</dd>
+   <dt>Encoding considerations:</dt>
+   <dd>binary</dd>
+   <dt>Security considerations:</dt>
+   <dd>
+    Subresources of a <code><a href="#multipart-x-mixed-replace">multipart/x-mixed-replace</a></code>
+    resource can be of any type, including types with non-trivial
+    security implications such as <code><a href="#text-html">text/html</a></code>.
+   </dd>
+   <dt>Interoperability considerations:</dt>
+   <dd>
+    None.
+   </dd>
+   <dt>Published specification:</dt>
+   <dd>
+    This specification describes processing rules for Web browsers.
+    Conformance requirements for generating resources with this type are the same as for <code>multipart/mixed</code>. <a href="#refsRFC2046">[RFC2046]</a>
+   </dd>
+   <dt>Applications that use this media type:</dt>
+   <dd>
+    This type is intended to be used in resources generated by Web servers, for consumption by Web browsers.
+   </dd>
+   <dt>Additional information:</dt>
+   <dd>
+    <dl><dt>Magic number(s):</dt>
+     <dd>No sequence of bytes can uniquely identify a <code><a href="#multipart-x-mixed-replace">multipart/x-mixed-replace</a></code> resource.</dd>
+     <dt>File extension(s):</dt>
+     <dd>No specific file extensions are recommended for this type.</dd>
+     <dt>Macintosh file type code(s):</dt>
+     <dd>No specific Macintosh file type codes are recommended for this type.</dd>
+    </dl></dd>
+   <dt>Person &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Intended usage:</dt>
+   <dd>Common</dd>
+   <dt>Restrictions on usage:</dt>
+   <dd>No restrictions apply.</dd>
+   <dt>Author:</dt>
+   <dd>Ian Hickson &lt;ian@hixie.ch&gt;</dd>
+   <dt>Change controller:</dt>
+   <dd>W3C</dd>
+  </dl><p>Fragment identifiers used with
+  <code><a href="#multipart-x-mixed-replace">multipart/x-mixed-replace</a></code> resources apply to each body
+  part as defined by the type used by that body part.<h3 id="application-xhtml-xml"><span class="secno">12.4 </span><dfn><code>application/xhtml+xml</code></dfn></h3><p>This registration is for community review and will be submitted
   to the IESG for review, approval, and registration with IANA.</p><dl><dt>Type name:</dt>
    <dd>application</dd>
    <dt>Subtype name:</dt>
@@ -68882,7 +68999,7 @@
    <dd>W3C</dd>
   </dl><p>Fragment identifiers used with <code><a href="#application-xhtml-xml">application/xhtml+xml</a></code>
   resources have the same semantics as with any <a href="#xml-mime-type">XML MIME
-  type</a>. <a href="#refsRFC3023">[RFC3023]</a><h3 id="application-x-www-form-urlencoded"><span class="secno">12.4 </span><dfn><code>application/x-www-form-urlencoded</code></dfn></h3><p>This registration is for community review and will be submitted
+  type</a>. <a href="#refsRFC3023">[RFC3023]</a><h3 id="application-x-www-form-urlencoded"><span class="secno">12.5 </span><dfn><code>application/x-www-form-urlencoded</code></dfn></h3><p>This registration is for community review and will be submitted
   to the IESG for review, approval, and registration with IANA.</p><dl><dt>Type name:</dt>
    <dd>application</dd>
    <dt>Subtype name:</dt>
@@ -68892,7 +69009,7 @@
    <dt>Optional parameters:</dt>
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
-   <dd>7bit US-ASCII encoding of octets that themselves can be encoding text using any <a href="#ascii-compatible-character-encoding">ASCII-compatible character encoding</a></dd>
+   <dd>7bit (US-ASCII encoding of octets that themselves can be encoding text using any <a href="#ascii-compatible-character-encoding">ASCII-compatible character encoding</a>)</dd>
    <dt>Security considerations:</dt>
    <dd>
     <p>In isolation, an <code><a href="#application-x-www-form-urlencoded">application/x-www-form-urlencoded</a></code>
@@ -68937,7 +69054,7 @@
   </dl><p>Fragment identifiers have no meaning with the
   <code><a href="#application-x-www-form-urlencoded">application/x-www-form-urlencoded</a></code> type as this type is
   only used for uploaded payloads that do not have <a href="#url">URL</a>
-  identifiers.<h3 id="text-cache-manifest"><span class="secno">12.5 </span><dfn><code>text/cache-manifest</code></dfn></h3><p>This registration is for community review and will be submitted
+  identifiers.<h3 id="text-cache-manifest"><span class="secno">12.6 </span><dfn><code>text/cache-manifest</code></dfn></h3><p>This registration is for community review and will be submitted
   to the IESG for review, approval, and registration with IANA.</p><dl><dt>Type name:</dt>
    <dd>text</dd>
    <dt>Subtype name:</dt>
@@ -68947,7 +69064,7 @@
    <dt>Optional parameters:</dt>
    <dd>No parameters</dd>
    <dt>Encoding considerations:</dt>
-   <dd>Always UTF-8.</dd>
+   <dd>8bit (always UTF-8)</dd>
    <dt>Security considerations:</dt>
    <dd>
     <p>Cache manifests themselves pose no immediate risk unless
@@ -68995,7 +69112,7 @@
    <dt>Change controller:</dt>
    <dd>W3C</dd>
   </dl><p>Fragment identifiers have no meaning with
-  <code><a href="#text-cache-manifest">text/cache-manifest</a></code> resources.<h3 id="web-scheme-prefix"><span class="secno">12.6 </span><dfn title="scheme-web"><code>web+</code> scheme prefix</dfn></h3><p>This section describes a convention for use with the IANA URI
+  <code><a href="#text-cache-manifest">text/cache-manifest</a></code> resources.<h3 id="web-scheme-prefix"><span class="secno">12.7 </span><dfn title="scheme-web"><code>web+</code> scheme prefix</dfn></h3><p>This section describes a convention for use with the IANA URI
   scheme registry. It does not itself register a specific scheme. <a href="#refsRFC4395">[RFC4395]</a><dl><dt>URI scheme name</dt>
    <dd>
     Schemes starting with the four characters "<code title="">web+</code>" followed by one or more letters in the range

Received on Thursday, 29 September 2011 00:24:36 UTC