[html5] r6596 - [giow] (1) Specify multipart/x-mixed-replace Fixing http://www.w3.org/Bugs/Publi [...]
whatwg at whatwg.org
whatwg at whatwg.org
Wed Sep 28 17:21:16 PDT 2011
Author: ianh
Date: 2011-09-28 17:21:14 -0700 (Wed, 28 Sep 2011)
New Revision: 6596
Modified:
complete.html
index
source
Log:
[giow] (1) Specify multipart/x-mixed-replace
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=13060
Modified: complete.html
===================================================================
--- complete.html 2011-09-27 21:31:00 UTC (rev 6595)
+++ complete.html 2011-09-29 00:21:14 UTC (rev 6596)
@@ -239,7 +239,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1>Web Applications 1.0</h1>
- <h2 class="no-num no-toc">Living Standard — Last Updated 27 September 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — Last Updated 28 September 2011</h2>
</hgroup><dl><dt>Multiple-page version:</dt>
<dd><a href=http://www.whatwg.org/specs/web-apps/current-work/complete/>http://www.whatwg.org/specs/web-apps/current-work/complete/</a></dd>
<dt>One-page version:</dt>
@@ -877,17 +877,18 @@
<li><a href=#read-html><span class=secno>6.5.2 </span>Page load processing model for HTML files</a></li>
<li><a href=#read-xml><span class=secno>6.5.3 </span>Page load processing model for XML files</a></li>
<li><a href=#read-text><span class=secno>6.5.4 </span>Page load processing model for text files</a></li>
- <li><a href=#read-image><span class=secno>6.5.5 </span>Page load processing model for images</a></li>
- <li><a href=#read-plugin><span class=secno>6.5.6 </span>Page load processing model for content that uses plugins</a></li>
- <li><a href=#read-ua-inline><span class=secno>6.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>6.5.8 </span>Navigating to a fragment identifier</a></li>
- <li><a href=#history-traversal><span class=secno>6.5.9 </span>History traversal</a>
+ <li><a href=#read-multipart-x-mixed-replace><span class=secno>6.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>6.5.6 </span>Page load processing model for images</a></li>
+ <li><a href=#read-plugin><span class=secno>6.5.7 </span>Page load processing model for content that uses plugins</a></li>
+ <li><a href=#read-ua-inline><span class=secno>6.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>6.5.9 </span>Navigating to a fragment identifier</a></li>
+ <li><a href=#history-traversal><span class=secno>6.5.10 </span>History traversal</a>
<ol>
- <li><a href=#event-definitions><span class=secno>6.5.9.1 </span>Event definitions</a></ol></li>
- <li><a href=#unloading-documents><span class=secno>6.5.10 </span>Unloading documents</a>
+ <li><a href=#event-definitions><span class=secno>6.5.10.1 </span>Event definitions</a></ol></li>
+ <li><a href=#unloading-documents><span class=secno>6.5.11 </span>Unloading documents</a>
<ol>
- <li><a href=#event-definition><span class=secno>6.5.10.1 </span>Event definition</a></ol></li>
- <li><a href=#aborting-a-document-load><span class=secno>6.5.11 </span>Aborting a document load</a></ol></li>
+ <li><a href=#event-definition><span class=secno>6.5.11.1 </span>Event definition</a></ol></li>
+ <li><a href=#aborting-a-document-load><span class=secno>6.5.12 </span>Aborting a document load</a></ol></li>
<li><a href=#offline><span class=secno>6.6 </span>Offline Web applications</a>
<ol>
<li><a href=#introduction-6><span class=secno>6.6.1 </span>Introduction</a>
@@ -1342,16 +1343,17 @@
<ol>
<li><a href=#text/html><span class=secno>17.1 </span><code>text/html</code></a></li>
<li><a href=#text/html-sandboxed><span class=secno>17.2 </span><code>text/html-sandboxed</code></a></li>
- <li><a href=#application/xhtml+xml><span class=secno>17.3 </span><code>application/xhtml+xml</code></a></li>
- <li><a href=#application/x-www-form-urlencoded><span class=secno>17.4 </span><code>application/x-www-form-urlencoded</code></a></li>
- <li><a href=#text/cache-manifest><span class=secno>17.5 </span><code>text/cache-manifest</code></a></li>
- <li><a href=#text/ping><span class=secno>17.6 </span><code>text/ping</code></a></li>
- <li><a href=#text/vtt><span class=secno>17.7 </span><code>text/vtt</code></a></li>
- <li><a href=#application/microdata+json><span class=secno>17.8 </span><code>application/microdata+json</code></a></li>
- <li><a href=#application/html-peer-connection-data><span class=secno>17.9 </span><code>application/html-peer-connection-data</code></a></li>
- <li><a href=#ping-from><span class=secno>17.10 </span><code>Ping-From</code></a></li>
- <li><a href=#ping-to><span class=secno>17.11 </span><code>Ping-To</code></a></li>
- <li><a href=#web+-scheme-prefix><span class=secno>17.12 </span><code>web+</code> scheme prefix</a></ol></li>
+ <li><a href=#multipart/x-mixed-replace><span class=secno>17.3 </span><code>multipart/x-mixed-replace</code></a></li>
+ <li><a href=#application/xhtml+xml><span class=secno>17.4 </span><code>application/xhtml+xml</code></a></li>
+ <li><a href=#application/x-www-form-urlencoded><span class=secno>17.5 </span><code>application/x-www-form-urlencoded</code></a></li>
+ <li><a href=#text/cache-manifest><span class=secno>17.6 </span><code>text/cache-manifest</code></a></li>
+ <li><a href=#text/ping><span class=secno>17.7 </span><code>text/ping</code></a></li>
+ <li><a href=#text/vtt><span class=secno>17.8 </span><code>text/vtt</code></a></li>
+ <li><a href=#application/microdata+json><span class=secno>17.9 </span><code>application/microdata+json</code></a></li>
+ <li><a href=#application/html-peer-connection-data><span class=secno>17.10 </span><code>application/html-peer-connection-data</code></a></li>
+ <li><a href=#ping-from><span class=secno>17.11 </span><code>Ping-From</code></a></li>
+ <li><a href=#ping-to><span class=secno>17.12 </span><code>Ping-To</code></a></li>
+ <li><a href=#web+-scheme-prefix><span class=secno>17.13 </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>
@@ -12823,7 +12825,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
@@ -12873,7 +12875,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
@@ -22231,46 +22233,61 @@
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
ignored when determining the image's type and whether it is a valid
@@ -62511,17 +62528,21 @@
context</a> and its <a href="#script's-document" title="script's
document">document</a>.</p>
+ <!-- discard a document -->
<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>
@@ -64273,7 +64294,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
@@ -64446,11 +64472,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
@@ -64521,6 +64547,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>
@@ -64581,9 +64611,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 <a href=#as-a-download>as a
+ download</a>. 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
@@ -64842,8 +64873,35 @@
section must be the <a href=#networking-task-source>networking task source</a>.</p>
- <h4 id=read-image><span class=secno>6.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>6.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>6.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
<code>Document</code> object</a>, mark it as being an <a href=#html-documents title="HTML documents">HTML document</a>, set its <a href=#concept-document-media-type title=concept-document-media-type>media type</a> to the sniffed
@@ -64876,7 +64934,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>6.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>6.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
@@ -64919,7 +64977,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>6.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>6.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
@@ -64946,7 +65004,7 @@
- <h4 id=scroll-to-fragid><span class=secno>6.5.8 </span><dfn title=navigate-fragid>Navigating to a fragment identifier</dfn></h4>
+ <h4 id=scroll-to-fragid><span class=secno>6.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
@@ -65047,7 +65105,7 @@
- <h4 id=history-traversal><span class=secno>6.5.9 </span>History traversal</h4> <!-- session history -->
+ <h4 id=history-traversal><span class=secno>6.5.10 </span>History traversal</h4> <!-- session history -->
<div class=impl>
@@ -65227,7 +65285,7 @@
<a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
- <h5 id=event-definitions><span class=secno>6.5.9.1 </span>Event definitions</h5>
+ <h5 id=event-definitions><span class=secno>6.5.10.1 </span>Event definitions</h5>
</div>
@@ -65351,12 +65409,12 @@
- <h4 id=unloading-documents><span class=secno>6.5.10 </span>Unloading documents</h4>
+ <h4 id=unloading-documents><span class=secno>6.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>
@@ -65371,7 +65429,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>
@@ -65418,9 +65476,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>
@@ -65447,7 +65505,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
@@ -65474,14 +65532,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>
@@ -65498,7 +65556,7 @@
</p>
<p>If this affected any <code><a href=#websocket>WebSocket</a></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>
@@ -65509,17 +65567,17 @@
<code><a href=#peerconnection>PeerConnection</a></code> objects whose
<a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> is not
<code title=dom-PeerConnection-CLOSED><a href=#dom-peerconnection-closed>CLOSED</a></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>6.5.10.1 </span>Event definition</h5>
+ </ol><h5 id=event-definition><span class=secno>6.5.11.1 </span>Event definition</h5>
</div>
@@ -65553,7 +65611,7 @@
<div class=impl>
- <h4 id=aborting-a-document-load><span class=secno>6.5.11 </span>Aborting a document load</h4>
+ <h4 id=aborting-a-document-load><span class=secno>6.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
@@ -65572,6 +65630,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>
+
<!-- we could also stop all script, or stop animations -->
</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
@@ -70391,6 +70452,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>
@@ -72392,13 +72454,13 @@
</dd>
<!-- DND-v3:
- <dt><i>Blob</i></dt>
+ <dt><i title="">Blob</i></dt>
<dd>
<p>Binary data.</p>
</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>
@@ -80176,7 +80238,7 @@
</dd>
</dl></dd>
<dt>Encoding considerations:</dt>
- <dd>Always UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>
@@ -96816,8 +96878,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>
@@ -96988,13 +97052,78 @@
scripts.</p>
- <h3 id=application/xhtml+xml><span class=secno>17.3 </span><dfn><code>application/xhtml+xml</code></dfn></h3>
+ <h3 id=multipart/x-mixed-replace><span class=secno>17.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>
<!--
To: ietf-types at iana.org
+ Subject: Registration of media type multipart/x-mixed-replace
+ -->
+
+ <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 & email address to contact for further information:</dt>
+ <dd>Ian Hickson <ian at hixie.ch></dd>
+ <dt>Intended usage:</dt>
+ <dd>Common</dd>
+ <dt>Restrictions on usage:</dt>
+ <dd>No restrictions apply.</dd>
+ <dt>Author:</dt>
+ <dd>Ian Hickson <ian at hixie.ch></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.</p>
+
+
+ <h3 id=application/xhtml+xml><span class=secno>17.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>
+
+ <!--
+ To: ietf-types at iana.org
Subject: Registration of media type application/xhtml+xml
-->
@@ -97053,7 +97182,7 @@
type</a>. <a href=#refsRFC3023>[RFC3023]</a></p>
- <h3 id=application/x-www-form-urlencoded><span class=secno>17.4 </span><dfn><code>application/x-www-form-urlencoded</code></dfn></h3>
+ <h3 id=application/x-www-form-urlencoded><span class=secno>17.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>
@@ -97072,7 +97201,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>
@@ -97120,7 +97249,7 @@
identifiers.</p>
- <h3 id=text/cache-manifest><span class=secno>17.5 </span><dfn><code>text/cache-manifest</code></dfn></h3>
+ <h3 id=text/cache-manifest><span class=secno>17.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>
@@ -97139,7 +97268,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
@@ -97191,7 +97320,7 @@
<!--PING-->
- <h3 id=text/ping><span class=secno>17.6 </span><dfn><code>text/ping</code></dfn></h3>
+ <h3 id=text/ping><span class=secno>17.7 </span><dfn><code>text/ping</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>
@@ -97256,7 +97385,7 @@
<!--TTVTT-->
<div data-component="other Hixie drafts (editor: Ian Hickson)">
- <h3 id=text/vtt><span class=secno>17.7 </span><dfn><code>text/vtt</code></dfn></h3>
+ <h3 id=text/vtt><span class=secno>17.8 </span><dfn><code>text/vtt</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>
@@ -97275,7 +97404,7 @@
<dt>Optional parameters:</dt>
<dd>No parameters</dd>
<dt>Encoding considerations:</dt>
- <dd>Must always be UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>
<p>Text track files themselves pose no immediate risk unless
@@ -97337,7 +97466,7 @@
<!--MD-->
- <h3 id=application/microdata+json><span class=secno>17.8 </span><dfn><code>application/microdata+json</code></dfn></h3>
+ <h3 id=application/microdata+json><span class=secno>17.9 </span><dfn><code>application/microdata+json</code></dfn></h3>
<p>This registration is for community review and will be submitted
@@ -97357,7 +97486,7 @@
<dt>Optional parameters:</dt>
<dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
<dt>Encoding considerations:</dt>
- <dd>Always UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
<dt>Interoperability considerations:</dt>
@@ -97409,7 +97538,7 @@
<!--PEERCONNECTION-->
- <h3 id=application/html-peer-connection-data><span class=secno>17.9 </span><dfn><code>application/html-peer-connection-data</code></dfn></h3>
+ <h3 id=application/html-peer-connection-data><span class=secno>17.10 </span><dfn><code>application/html-peer-connection-data</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>
@@ -97428,7 +97557,7 @@
<dt>Optional parameters:</dt>
<dd>No optional parameters</dd>
<dt>Encoding considerations:</dt>
- <dd>This MIME type defines a binary protocol format which uses UTF-8 for text encoding.</dd>
+ <dd>binary (this MIME type defines a binary protocol format which uses UTF-8 for text encoding)</dd>
<dt>Security considerations:</dt>
<dd>
@@ -97490,7 +97619,7 @@
<!--PING-->
- <h3 id=ping-from><span class=secno>17.10 </span><dfn title=http-ping-from><code>Ping-From</code></dfn></h3>
+ <h3 id=ping-from><span class=secno>17.11 </span><dfn title=http-ping-from><code>Ping-From</code></dfn></h3>
<p>This section describes a header field for registration in the
Permanent Message Header Field Registry. <a href=#refsRFC3864>[RFC3864]</a></p>
@@ -97509,7 +97638,7 @@
</dd>
<dt>Related information</dt>
<dd>None.</dd>
- </dl><h3 id=ping-to><span class=secno>17.11 </span><dfn title=http-ping-to><code>Ping-To</code></dfn></h3>
+ </dl><h3 id=ping-to><span class=secno>17.12 </span><dfn title=http-ping-to><code>Ping-To</code></dfn></h3>
<p>This section describes a header field for registration in the
Permanent Message Header Field Registry. <a href=#refsRFC3864>[RFC3864]</a></p>
@@ -97528,7 +97657,7 @@
</dd>
<dt>Related information</dt>
<dd>None.</dd>
- </dl><!--PING--><h3 id=web+-scheme-prefix><span class=secno>17.12 </span><dfn title=scheme-web><code>web+</code> scheme prefix</dfn></h3>
+ </dl><!--PING--><h3 id=web+-scheme-prefix><span class=secno>17.13 </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></p>
Modified: index
===================================================================
--- index 2011-09-27 21:31:00 UTC (rev 6595)
+++ index 2011-09-29 00:21:14 UTC (rev 6596)
@@ -243,7 +243,7 @@
<header class=head id=head><p><a class=logo href=http://www.whatwg.org/><img alt=WHATWG height=101 src=/images/logo width=101></a></p>
<hgroup><h1 class=allcaps>HTML</h1>
- <h2 class="no-num no-toc">Living Standard — Last Updated 27 September 2011</h2>
+ <h2 class="no-num no-toc">Living Standard — Last Updated 28 September 2011</h2>
</hgroup><dl><dt><strong>Web developer edition</strong></dt>
<dd><strong><a href=http://developers.whatwg.org/>http://developers.whatwg.org/</a></strong></dd>
<dt>Multiple-page version:</dt>
@@ -877,17 +877,18 @@
<li><a href=#read-html><span class=secno>6.5.2 </span>Page load processing model for HTML files</a></li>
<li><a href=#read-xml><span class=secno>6.5.3 </span>Page load processing model for XML files</a></li>
<li><a href=#read-text><span class=secno>6.5.4 </span>Page load processing model for text files</a></li>
- <li><a href=#read-image><span class=secno>6.5.5 </span>Page load processing model for images</a></li>
- <li><a href=#read-plugin><span class=secno>6.5.6 </span>Page load processing model for content that uses plugins</a></li>
- <li><a href=#read-ua-inline><span class=secno>6.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>6.5.8 </span>Navigating to a fragment identifier</a></li>
- <li><a href=#history-traversal><span class=secno>6.5.9 </span>History traversal</a>
+ <li><a href=#read-multipart-x-mixed-replace><span class=secno>6.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>6.5.6 </span>Page load processing model for images</a></li>
+ <li><a href=#read-plugin><span class=secno>6.5.7 </span>Page load processing model for content that uses plugins</a></li>
+ <li><a href=#read-ua-inline><span class=secno>6.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>6.5.9 </span>Navigating to a fragment identifier</a></li>
+ <li><a href=#history-traversal><span class=secno>6.5.10 </span>History traversal</a>
<ol>
- <li><a href=#event-definitions><span class=secno>6.5.9.1 </span>Event definitions</a></ol></li>
- <li><a href=#unloading-documents><span class=secno>6.5.10 </span>Unloading documents</a>
+ <li><a href=#event-definitions><span class=secno>6.5.10.1 </span>Event definitions</a></ol></li>
+ <li><a href=#unloading-documents><span class=secno>6.5.11 </span>Unloading documents</a>
<ol>
- <li><a href=#event-definition><span class=secno>6.5.10.1 </span>Event definition</a></ol></li>
- <li><a href=#aborting-a-document-load><span class=secno>6.5.11 </span>Aborting a document load</a></ol></li>
+ <li><a href=#event-definition><span class=secno>6.5.11.1 </span>Event definition</a></ol></li>
+ <li><a href=#aborting-a-document-load><span class=secno>6.5.12 </span>Aborting a document load</a></ol></li>
<li><a href=#offline><span class=secno>6.6 </span>Offline Web applications</a>
<ol>
<li><a href=#introduction-6><span class=secno>6.6.1 </span>Introduction</a>
@@ -1255,16 +1256,17 @@
<ol>
<li><a href=#text/html><span class=secno>15.1 </span><code>text/html</code></a></li>
<li><a href=#text/html-sandboxed><span class=secno>15.2 </span><code>text/html-sandboxed</code></a></li>
- <li><a href=#application/xhtml+xml><span class=secno>15.3 </span><code>application/xhtml+xml</code></a></li>
- <li><a href=#application/x-www-form-urlencoded><span class=secno>15.4 </span><code>application/x-www-form-urlencoded</code></a></li>
- <li><a href=#text/cache-manifest><span class=secno>15.5 </span><code>text/cache-manifest</code></a></li>
- <li><a href=#text/ping><span class=secno>15.6 </span><code>text/ping</code></a></li>
- <li><a href=#text/vtt><span class=secno>15.7 </span><code>text/vtt</code></a></li>
- <li><a href=#application/microdata+json><span class=secno>15.8 </span><code>application/microdata+json</code></a></li>
- <li><a href=#application/html-peer-connection-data><span class=secno>15.9 </span><code>application/html-peer-connection-data</code></a></li>
- <li><a href=#ping-from><span class=secno>15.10 </span><code>Ping-From</code></a></li>
- <li><a href=#ping-to><span class=secno>15.11 </span><code>Ping-To</code></a></li>
- <li><a href=#web+-scheme-prefix><span class=secno>15.12 </span><code>web+</code> scheme prefix</a></ol></li>
+ <li><a href=#multipart/x-mixed-replace><span class=secno>15.3 </span><code>multipart/x-mixed-replace</code></a></li>
+ <li><a href=#application/xhtml+xml><span class=secno>15.4 </span><code>application/xhtml+xml</code></a></li>
+ <li><a href=#application/x-www-form-urlencoded><span class=secno>15.5 </span><code>application/x-www-form-urlencoded</code></a></li>
+ <li><a href=#text/cache-manifest><span class=secno>15.6 </span><code>text/cache-manifest</code></a></li>
+ <li><a href=#text/ping><span class=secno>15.7 </span><code>text/ping</code></a></li>
+ <li><a href=#text/vtt><span class=secno>15.8 </span><code>text/vtt</code></a></li>
+ <li><a href=#application/microdata+json><span class=secno>15.9 </span><code>application/microdata+json</code></a></li>
+ <li><a href=#application/html-peer-connection-data><span class=secno>15.10 </span><code>application/html-peer-connection-data</code></a></li>
+ <li><a href=#ping-from><span class=secno>15.11 </span><code>Ping-From</code></a></li>
+ <li><a href=#ping-to><span class=secno>15.12 </span><code>Ping-To</code></a></li>
+ <li><a href=#web+-scheme-prefix><span class=secno>15.13 </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>
@@ -12687,7 +12689,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
@@ -12737,7 +12739,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
@@ -22095,46 +22097,61 @@
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
ignored when determining the image's type and whether it is a valid
@@ -62378,17 +62395,21 @@
context</a> and its <a href="#script's-document" title="script's
document">document</a>.</p>
+ <!-- discard a document -->
<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>
@@ -64140,7 +64161,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
@@ -64313,11 +64339,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
@@ -64388,6 +64414,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>
@@ -64448,9 +64478,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 <a href=#as-a-download>as a
+ download</a>. 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
@@ -64709,8 +64740,35 @@
section must be the <a href=#networking-task-source>networking task source</a>.</p>
- <h4 id=read-image><span class=secno>6.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>6.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>6.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
<code>Document</code> object</a>, mark it as being an <a href=#html-documents title="HTML documents">HTML document</a>, set its <a href=#concept-document-media-type title=concept-document-media-type>media type</a> to the sniffed
@@ -64743,7 +64801,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>6.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>6.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
@@ -64786,7 +64844,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>6.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>6.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
@@ -64813,7 +64871,7 @@
- <h4 id=scroll-to-fragid><span class=secno>6.5.8 </span><dfn title=navigate-fragid>Navigating to a fragment identifier</dfn></h4>
+ <h4 id=scroll-to-fragid><span class=secno>6.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
@@ -64914,7 +64972,7 @@
- <h4 id=history-traversal><span class=secno>6.5.9 </span>History traversal</h4> <!-- session history -->
+ <h4 id=history-traversal><span class=secno>6.5.10 </span>History traversal</h4> <!-- session history -->
<div class=impl>
@@ -65094,7 +65152,7 @@
<a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
- <h5 id=event-definitions><span class=secno>6.5.9.1 </span>Event definitions</h5>
+ <h5 id=event-definitions><span class=secno>6.5.10.1 </span>Event definitions</h5>
</div>
@@ -65218,12 +65276,12 @@
- <h4 id=unloading-documents><span class=secno>6.5.10 </span>Unloading documents</h4>
+ <h4 id=unloading-documents><span class=secno>6.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>
@@ -65238,7 +65296,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>
@@ -65285,9 +65343,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>
@@ -65314,7 +65372,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
@@ -65341,14 +65399,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>
@@ -65368,7 +65426,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>
@@ -65379,17 +65437,17 @@
<code><a href=#peerconnection>PeerConnection</a></code> objects whose
<a href=#peerconnection-readiness-state><code>PeerConnection</code> readiness state</a> is not
<code title=dom-PeerConnection-CLOSED><a href=#dom-peerconnection-closed>CLOSED</a></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>6.5.10.1 </span>Event definition</h5>
+ </ol><h5 id=event-definition><span class=secno>6.5.11.1 </span>Event definition</h5>
</div>
@@ -65423,7 +65481,7 @@
<div class=impl>
- <h4 id=aborting-a-document-load><span class=secno>6.5.11 </span>Aborting a document load</h4>
+ <h4 id=aborting-a-document-load><span class=secno>6.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
@@ -65442,6 +65500,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>
+
<!-- we could also stop all script, or stop animations -->
</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
@@ -70281,6 +70342,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>
@@ -72288,13 +72350,13 @@
</dd>
<!-- DND-v3:
- <dt><i>Blob</i></dt>
+ <dt><i title="">Blob</i></dt>
<dd>
<p>Binary data.</p>
</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>
@@ -92241,8 +92303,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>
@@ -92413,13 +92477,78 @@
scripts.</p>
- <h3 id=application/xhtml+xml><span class=secno>15.3 </span><dfn><code>application/xhtml+xml</code></dfn></h3>
+ <h3 id=multipart/x-mixed-replace><span class=secno>15.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>
<!--
To: ietf-types at iana.org
+ Subject: Registration of media type multipart/x-mixed-replace
+ -->
+
+ <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 & email address to contact for further information:</dt>
+ <dd>Ian Hickson <ian at hixie.ch></dd>
+ <dt>Intended usage:</dt>
+ <dd>Common</dd>
+ <dt>Restrictions on usage:</dt>
+ <dd>No restrictions apply.</dd>
+ <dt>Author:</dt>
+ <dd>Ian Hickson <ian at hixie.ch></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.</p>
+
+
+ <h3 id=application/xhtml+xml><span class=secno>15.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>
+
+ <!--
+ To: ietf-types at iana.org
Subject: Registration of media type application/xhtml+xml
-->
@@ -92478,7 +92607,7 @@
type</a>. <a href=#refsRFC3023>[RFC3023]</a></p>
- <h3 id=application/x-www-form-urlencoded><span class=secno>15.4 </span><dfn><code>application/x-www-form-urlencoded</code></dfn></h3>
+ <h3 id=application/x-www-form-urlencoded><span class=secno>15.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>
@@ -92497,7 +92626,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>
@@ -92545,7 +92674,7 @@
identifiers.</p>
- <h3 id=text/cache-manifest><span class=secno>15.5 </span><dfn><code>text/cache-manifest</code></dfn></h3>
+ <h3 id=text/cache-manifest><span class=secno>15.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>
@@ -92564,7 +92693,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
@@ -92616,7 +92745,7 @@
<!--PING-->
- <h3 id=text/ping><span class=secno>15.6 </span><dfn><code>text/ping</code></dfn></h3>
+ <h3 id=text/ping><span class=secno>15.7 </span><dfn><code>text/ping</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>
@@ -92681,7 +92810,7 @@
<!--TTVTT-->
<div data-component="other Hixie drafts (editor: Ian Hickson)">
- <h3 id=text/vtt><span class=secno>15.7 </span><dfn><code>text/vtt</code></dfn></h3>
+ <h3 id=text/vtt><span class=secno>15.8 </span><dfn><code>text/vtt</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>
@@ -92700,7 +92829,7 @@
<dt>Optional parameters:</dt>
<dd>No parameters</dd>
<dt>Encoding considerations:</dt>
- <dd>Must always be UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>
<p>Text track files themselves pose no immediate risk unless
@@ -92762,7 +92891,7 @@
<!--MD-->
- <h3 id=application/microdata+json><span class=secno>15.8 </span><dfn><code>application/microdata+json</code></dfn></h3>
+ <h3 id=application/microdata+json><span class=secno>15.9 </span><dfn><code>application/microdata+json</code></dfn></h3>
<p>This registration is for community review and will be submitted
@@ -92782,7 +92911,7 @@
<dt>Optional parameters:</dt>
<dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
<dt>Encoding considerations:</dt>
- <dd>Always UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>Same as for <code>application/json</code> <a href=#refsJSON>[JSON]</a></dd>
<dt>Interoperability considerations:</dt>
@@ -92834,7 +92963,7 @@
<!--PEERCONNECTION-->
- <h3 id=application/html-peer-connection-data><span class=secno>15.9 </span><dfn><code>application/html-peer-connection-data</code></dfn></h3>
+ <h3 id=application/html-peer-connection-data><span class=secno>15.10 </span><dfn><code>application/html-peer-connection-data</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>
@@ -92853,7 +92982,7 @@
<dt>Optional parameters:</dt>
<dd>No optional parameters</dd>
<dt>Encoding considerations:</dt>
- <dd>This MIME type defines a binary protocol format which uses UTF-8 for text encoding.</dd>
+ <dd>binary (this MIME type defines a binary protocol format which uses UTF-8 for text encoding)</dd>
<dt>Security considerations:</dt>
<dd>
@@ -92915,7 +93044,7 @@
<!--PING-->
- <h3 id=ping-from><span class=secno>15.10 </span><dfn title=http-ping-from><code>Ping-From</code></dfn></h3>
+ <h3 id=ping-from><span class=secno>15.11 </span><dfn title=http-ping-from><code>Ping-From</code></dfn></h3>
<p>This section describes a header field for registration in the
Permanent Message Header Field Registry. <a href=#refsRFC3864>[RFC3864]</a></p>
@@ -92934,7 +93063,7 @@
</dd>
<dt>Related information</dt>
<dd>None.</dd>
- </dl><h3 id=ping-to><span class=secno>15.11 </span><dfn title=http-ping-to><code>Ping-To</code></dfn></h3>
+ </dl><h3 id=ping-to><span class=secno>15.12 </span><dfn title=http-ping-to><code>Ping-To</code></dfn></h3>
<p>This section describes a header field for registration in the
Permanent Message Header Field Registry. <a href=#refsRFC3864>[RFC3864]</a></p>
@@ -92953,7 +93082,7 @@
</dd>
<dt>Related information</dt>
<dd>None.</dd>
- </dl><!--PING--><h3 id=web+-scheme-prefix><span class=secno>15.12 </span><dfn title=scheme-web><code>web+</code> scheme prefix</dfn></h3>
+ </dl><!--PING--><h3 id=web+-scheme-prefix><span class=secno>15.13 </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></p>
Modified: source
===================================================================
--- source 2011-09-27 21:31:00 UTC (rev 6595)
+++ source 2011-09-29 00:21:14 UTC (rev 6596)
@@ -23758,61 +23758,81 @@
attack, but unfortunately such policies are typically not
compatible with existing Web content.</p>
- </li>
+ <p>The first <span title="concept-task">task</span> that is <span
+ title="queue a task">queued</span> by the <span>networking task
+ source</span> while the image is being <span
+ title="fetch">fetched</span> must set the <code>img</code> element's
+ state to <span title="img-inc">partially available</span>.</p>
- </ol>
+ <p id="img-load">If the resource is in a supported image format,
+ then each <span title="concept-task">task</span> that is <span
+ title="queue a task">queued</span> by the <span>networking task
+ source</span> while the image is being <span
+ title="fetch">fetched</span> 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 <span title="concept-task">task</span> that is <span
+ title="queue a task">queued</span> by the <span>networking task
+ source</span> once the resource has been <span
+ title="fetch">fetched</span> must act as appropriate given the
+ following alternatives:</p>
- <p>Each <span title="concept-task">task</span> that is <span
- title="queue a task">queued</span> by the <span>networking task
- source</span> while the image is being <span
- title="fetch">fetched</span> must set the <code>img</code> element's
- state to <span title="img-inc">partially available</span> and update
- the presentation of the image appropriately.</p>
+ <dl class="switch">
- <p id="img-load">The <span title="concept-task">task</span> that is
- <span title="queue a task">queued</span> by the <span>networking
- task source</span> once the resource has been <span
- title="fetch">fetched</span> must act as appropriate given the
- following alternatives:</p>
+ <dt>If the download was successful</dt>
- <dl class="switch">
+ <dd>Set the <code>img</code> element to the <span
+ title="img-all">completely available</span> state, update the
+ presentation of the image appropriately, and <span>queue a
+ task</span> to <span>fire a simple event</span> named <code
+ title="event-load">load</code> at the <code>img</code>
+ element.</dd>
- <dt>If the download was successful</dt>
+ <dt>Otherwise</dt>
- <dd>Set the <code>img</code> element to the <span
- title="img-all">completely available</span> state, update the
- presentation of the image appropriately, and <span>queue a
- task</span> to <span>fire a simple event</span> named <code
- title="event-load">load</code> at the <code>img</code>
- element.</dd>
+ <dd>Set the <code>img</code> element to the <span
+ title="img-error">broken</span> state, and <span>queue a
+ task</span> to <span>fire a simple event</span> named <code
+ title="event-error">error</code> at the <code>img</code>
+ element.</dd>
- <dt>Otherwise</dt>
+ </dl>
- <dd>Set the <code>img</code> element to the <span
- title="img-error">broken</span> state, and <span>queue a
- task</span> to <span>fire a simple event</span> named <code
- title="event-error">error</code> at the <code>img</code>
- element.</dd>
+ <p>On the other hand, if the resource type is
+ <code>multipart/x-mixed-replace</code>, then each <span
+ title="concept-task">task</span> that is <span title="queue a
+ task">queued</span> by the <span>networking task source</span>
+ while the image is being <span title="fetch">fetched</span> 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>img</code> element to the <span title="img-all">completely
+ available</span> state and <span>queue a task</span> to <span>fire
+ a simple event</span> named <code title="event-load">load</code>
+ at the <code>img</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 data is not in a
+ supported file format, then the user agent must set the
+ <code>img</code> element to the <span
+ title="img-error">broken</span> state. If the <span
+ title="fetch">fetching</span> algorithm is still running for this
+ element, then the user agent must also abort that algorithm,
+ discarding any pending <span title="concept-task">tasks</span>
+ generated by that algorithm, and then <span>queue a task</span> to
+ <span>fire a simple event</span> named <code
+ title="event-error">error</code> at the <code>img</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 is not in a supported
- file format, then the user agent must set the <code>img</code>
- element to the <span title="img-error">broken</span> state. If the
- <span title="fetch">fetching</span> algorithm is still running for
- this element, then the user agent must also abort that algorithm,
- discarding any pending <span title="concept-task">tasks</span>
- generated by that algorithm, and then <span>queue a task</span> to
- <span>fire a simple event</span> named <code
- title="event-error">error</code> at the <code>img</code>
- element.</p>
+ </li>
+ </ol>
+
<p>When an <code>img</code> element is in the <span
title="img-all">completely available</span> state <em>and</em> the
- user agent can completely decode the media data without errors, then
- the <code>img</code> element is said to be <dfn
- title="img-good">fully decodable</dfn>.</p>
+ user agent can decode the media data without errors, then the
+ <code>img</code> element is said to be <dfn 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 <span
@@ -70964,6 +70984,7 @@
context</span> and its <span title="script's
document">document</span>.</p>
+ <!-- discard a document -->
<p>When a <span>browsing context</span> is to <dfn>discard a
<code>Document</code></dfn>, the user agent must run the following
steps:</p>
@@ -70978,6 +70999,9 @@
the <code>Document</code> that are defined by this specification
and <span>other applicable specifications</span>.</p></li>
+ <li><p><span title="abort a document">Abort the
+ <code>Document</code></span>.</p></li>
+
<li><p>Remove any <span title="concept-task">tasks</span>
associated with the <code>Document</code> in any <span>task
source</span>, without running those tasks.</p></li>
@@ -72974,7 +72998,13 @@
and abort these steps.</p></li>
<li><p>Cancel <em>any</em> preexisting attempt to navigate the
- <span>browsing context</span>.</p></li>
+ <span>browsing context</span>, including canceling any instances of
+ the <span>fetch</span> algorithm started by those attempts. If one
+ of those attempts has already <span title="create a document
+ object">created a new <code>Document</code> object</span>, <span
+ title="abort a document">Abort</span> that <code>Document</code>
+ also. (Previous navigation attempts whose <span>fetch</span>
+ requests have <em>finished</em> are unaffected, however.)</p></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
@@ -73160,11 +73190,12 @@
<li>
- <p>If the document's out-of-band metadata (e.g. HTTP headers), not
- counting any <span title="Content-Type">type information</span>
- (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 <span
+ title="Content-Type">type information</span> (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
@@ -73243,6 +73274,11 @@
title="navigate-text">plain text file</span> section, and abort
these steps.</dd>
+ <dt>"<code>multipart/x-mixed-replace</code>"</dt>
+ <dd>Follow the steps given in the <span
+ title="navigate-multipart-x-mixed-replace">multipart/x-mixed-replace</span>
+ section, and abort these steps.</dd>
+
<dt>A supported image type</dt>
<dd>Follow the steps given in the <span
title="navigate-image">image</span> section, and abort these
@@ -73314,9 +73350,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>
@@ -73615,6 +73652,33 @@
section must be the <span>networking task source</span>.</p>
+ <h4 id="read-multipart-x-mixed-replace"><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
+ <span>browsing context</span>, 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 <span>navigate</span> algorithm,
+ starting from the <i>resource handling</i> step, using the new body
+ part as the resource being navigated, with <span>replacement
+ enabled</span> if a previous body part from the same resource
+ resulted in a <code>Document</code> object being <span title="create
+ a document object">created</span>, and otherwise using the same
+ setup as the <span>navigate</span> 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"><dfn title="navigate-image">Page load processing model for images</dfn></h4>
<p>When an image resource is to be loaded in a <span>browsing
@@ -74213,9 +74277,9 @@
<div class="impl">
- <p>A <code>Document</code> has a <var
- title="concept-document-salvageable">salvageable</var> state, which
- is initially true.</p>
+ <p>A <code>Document</code> has a <dfn
+ title="concept-document-salvageable"><var>salvageable</var></dfn>
+ state, which is initially true.</p>
<p>When a user agent is to <dfn>prompt to unload a document</dfn>,
it must run the following steps.</p>
@@ -74485,6 +74549,10 @@
parser</span>, then <span title="abort a parser">abort that
parser</span>.</p></li>
+ <li><p>Set the <code>Document</code>'s <var
+ title="concept-document-salvageable">salvageable</var> state to
+ false.</p></li>
+
<!-- we could also stop all script, or stop animations -->
</ol>
@@ -80095,6 +80163,7 @@
<li><code>image/gif</code></li>
<li><code>image/jpeg</code></li>
<li><code>image/png</code></li>
+ <li><code>multipart/x-mixed-replace</code></li>
<li>All <span title="XML MIME type">XML MIME types</span></li>
<li>All types that the user agent supports displaying natively in a <span>browsing context</span> during <span title="navigate">navigation</span></li>
@@ -82402,13 +82471,13 @@
</dd>
<!-- DND-v3:
- <dt><i>Blob</i></dt>
+ <dt><i title="">Blob</i></dt>
<dd>
<p>Binary data.</p>
</dd>
-->
- <dt><i>File</i></dt>
+ <dt><i title="">File</i></dt>
<dd>
<p>Binary data with a file name.</p>
</dd>
@@ -90730,7 +90799,7 @@
</dl>
</dd>
<dt>Encoding considerations:</dt>
- <dd>Always UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>
@@ -109865,8 +109934,10 @@
</dl>
</dd>
<dt>Encoding considerations:</dt>
- <dd>See the section on <span title="character encoding
- declaration">character encoding declarations</span>.</dd>
+ <dd>
+ 8bit (see the section on <span title="character encoding
+ declaration">character encoding declarations</span>)
+ </dd>
<dt>Security considerations:</dt>
<dd>
@@ -110048,6 +110119,78 @@
scripts.</p>
+ <h3><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>
+
+ <!--
+ To: ietf-types at iana.org
+ Subject: Registration of media type multipart/x-mixed-replace
+ -->
+
+ <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>multipart/x-mixed-replace</code>
+ resource can be of any type, including types with non-trivial
+ security implications such as <code>text/html</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>multipart/x-mixed-replace</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 & email address to contact for further information:</dt>
+ <dd>Ian Hickson <ian at hixie.ch></dd>
+ <dt>Intended usage:</dt>
+ <dd>Common</dd>
+ <dt>Restrictions on usage:</dt>
+ <dd>No restrictions apply.</dd>
+ <dt>Author:</dt>
+ <dd>Ian Hickson <ian at hixie.ch></dd>
+ <dt>Change controller:</dt>
+ <dd>W3C</dd>
+ </dl>
+
+ <p>Fragment identifiers used with
+ <code>multipart/x-mixed-replace</code> resources apply to each body
+ part as defined by the type used by that body part.</p>
+
+
<h3><dfn><code>application/xhtml+xml</code></dfn></h3>
<p>This registration is for community review and will be submitted
@@ -110139,7 +110282,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 <span>ASCII-compatible character encoding</span></dd>
+ <dd>7bit (US-ASCII encoding of octets that themselves can be encoding text using any <span>ASCII-compatible character encoding</span>)</dd>
<dt>Security considerations:</dt>
<dd>
<p>In isolation, an <code>application/x-www-form-urlencoded</code>
@@ -110211,7 +110354,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
@@ -110358,7 +110501,7 @@
<dt>Optional parameters:</dt>
<dd>No parameters</dd>
<dt>Encoding considerations:</dt>
- <dd>Must always be UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>
<p>Text track files themselves pose no immediate risk unless
@@ -110450,7 +110593,7 @@
<dt>Optional parameters:</dt>
<dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
<dt>Encoding considerations:</dt>
- <dd>Always UTF-8.</dd>
+ <dd>8bit (always UTF-8)</dd>
<dt>Security considerations:</dt>
<dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
<dt>Interoperability considerations:</dt>
@@ -110529,7 +110672,7 @@
<dt>Optional parameters:</dt>
<dd>No optional parameters</dd>
<dt>Encoding considerations:</dt>
- <dd>This MIME type defines a binary protocol format which uses UTF-8 for text encoding.</dd>
+ <dd>binary (this MIME type defines a binary protocol format which uses UTF-8 for text encoding)</dd>
<dt>Security considerations:</dt>
<dd>
More information about the Commit-Watchers
mailing list