HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
659613060[Gecko] [Internet Explorer] [Opera] [Webkit] Specify multipart/x-mixed-replace2011-09-29 00:21
@@ -23751,75 +23751,95 @@ interface <dfn>HTMLImageElement</dfn> : <span>HTMLElement</span> {
 
     <p class="warning">This, unfortunately, can be used to perform a
     rudimentary port scan of the user's local network (especially in
     conjunction with scripting, though scripting isn't actually
     necessary to carry out such an attack). User agents may implement
     <span title="origin">cross-origin</span> access control policies
     that are stricter than those described above to mitigate this
     attack, but unfortunately such policies are typically not
     compatible with existing Web content.</p>
 
-   </li>
-
-  </ol>
+    <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>
+
+    <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>
+
+    <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>
 
-  </dl>
+   </li>
 
-  <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>
+  </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
   title="concept-http-equivalent-codes">or equivalent</span>) must be
   ignored when determining the image's type and whether it is a valid
   image.</p>
 
   <p class="note">This allows servers to return images with error
   responses, and have them displayed.</p>
 
@@ -70957,34 +70977,38 @@ interface <dfn>Window</dfn> : <span>EventTarget</span> {
   from other scripts to either of those objects will keep both
   alive. Similarly, both <code>Document</code> and <code>Window</code>
   objects have <span title="implied strong reference">implied strong
   references</span> to the <code>WindowProxy</code> object.</p>
 
   <p>Each <span title="concept-script">script</span> has a strong
   reference to its <span title="script's browsing context">browsing
   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>
 
   <ol>
 
    <li><p>Set the <code>Document</code>'s <var
    title="concept-document-salvageable">salvageable</var> state to
    false.</p></li>
 
    <li><p>Run any <span>unloading document cleanup steps</span> for
    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>
 
    <li><p><span title="a browsing context is discarded">Discard</span>
    all the <span title="child browsing context">child browsing
    contexts</span> of the <code>Document</code>.</p></li>
 
    <li><p>Lose the strong reference from the <code>Document</code>'s
    <span>browsing context</span> to the
@@ -72967,21 +72991,27 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
    title="url-fragment">&lt;fragment&gt;</span> components of those
    <span title="URL">URLs</span>, and the new resource is to be
    fetched using HTTP GET <span title="concept-http-equivalent-get">or
    equivalent</span>, and the <span>absolute URL</span> of the new
    resource has a <span title="url-fragment">&lt;fragment&gt;</span>
    component (even if it is empty), then <span
    title="navigate-fragid">navigate to that fragment identifier</span>
    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
    request altogether because the specified scheme is not one of the
    supported protocols, then abort these steps and proceed with that
    mechanism instead.</p></li>
 
    <li><p><span title="prompt to unload a document">Prompt to
    unload</span> the <code>Document</code> object. If the user
    <span>refused to allow the document to be unloaded</span>, then
@@ -73153,25 +73183,26 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
     resource. <span>The document's address</span>, if appropriate,
     will still be the originally requested URL, not the fallback URL,
     but the user agent may indicate to the user that the original page
     load failed, that the page used was a fallback resource, and what
     the URL of the fallback resource actually is.</p>
 
    </li>
 
    <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
      following:</p>
      <ul class="brief">
       <li>HTTP status codes (e.g. 204 No Content or 205 Reset Content)</li>
       <li>Network errors (e.g. the network interface being unavailable)</li>
       <li>Cryptographic protocol failures (e.g. an incorrect TLS certificate)</li>
       <!-- Other schemes are handled earlier -->
       <!-- Content-Disposition is handled below -->
@@ -73236,20 +73267,25 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
      document</span> section. If that section determines that the
      content is <em>not</em> to be displayed as a generic XML
      document, then proceed to the next step in this overall set of
      steps. Otherwise, abort these steps.</dd>
 
      <dt>"<code>text/plain</code>"</dt>
      <dd>Follow the steps given in the <span
      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
      steps.</dd>
 
      <dt>A type that will use an external application to render the
      content in the <span>browsing context</span></dt>
      <dd>Follow the steps given in the <span
      title="navigate-plugin">plugin</span> section, and abort these
      steps.</dd>
@@ -73307,23 +73343,24 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
     title="navigate-ua-inline">display the inline content</span> and
     abort these steps.</p>
 
     <p class="note">In the case of a registered handler being used,
     the algorithm will be reinvoked with a new URL to handle the
     request.</p>
 
    </li>
 
    <li><p>Otherwise, the document's <var title="">type</var> is such
-   that the resource will not affect the browsing context,
-   e.g. because the resource is to be handed to an external
-   application. Process the resource appropriately.</p>
+   that the resource will not affect the browsing context, e.g.
+   because the resource is to be handed to an external application or
+   because it is an unknown type that will be processed <span>as a
+   download</span>. Process the resource appropriately.</p>
 
   </ol>
 
   <hr>
 
   <p>Some of the sections below, to which the above algorithm defers
   in certain cases, require the user agent to <dfn>update the session
   history with the new page</dfn>. When a user agent is required to do
   this, it must <span>queue a task</span> (associated with the
   <code>Document</code> object of the <span>current entry</span>, not
@@ -73608,20 +73645,47 @@ State: &lt;OUTPUT NAME=I>1&lt;/OUTPUT> &lt;INPUT VALUE="Increment" TYPE=BUTTON O
   <p class="note">In particular, if the user agent supports the <code
   title="">Format=Flowed</code> feature of RFC 3676 then the user
   agent would need to apply extra styling to cause the text to wrap
   correctly and to handle the quoting feature. This could be performed
   using, e.g., an XBL binding or a CSS extension.</p>
 
   <p>The <span>task source</span> for the two tasks mentioned in this
   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
   context</span>, the user agent should <span>create a
   <code>Document</code> object</span>, mark it as being an <span
   title="HTML documents">HTML document</span>, set its <span
   title="concept-document-media-type">media type</span> to the sniffed
   MIME type of the resource (<var title="">type</var> in the
   <span>navigate</span> algorithm), append an <code>html</code>
   element to the <code>Document</code>, append a <code>head</code>
@@ -74206,23 +74270,23 @@ dictionary <dfn>PageTransitionEventInit</dfn> : <span>EventInit</span> {
   represents the context information for the event.</p>
 
   </div>
 
 
 
   <h4>Unloading documents</h4>
 
   <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>
 
   <ol>
 
    <li><p>Let <var title="">event</var> be a new
    <code>BeforeUnloadEvent</code> event object with the name <code
    title="event-beforeunload">beforeunload</code>, which does not
    bubble but is cancelable.</p></li>
@@ -74478,20 +74542,24 @@ dictionary <dfn>PageTransitionEventInit</dfn> : <span>EventInit</span> {
    <li><p>Cancel any instances of the <span title="fetch">fetch</span>
    algorithm in the context of this <code>Document</code>, discarding
    any <span title="concept-task">tasks</span> <span title="queue a
    task">queued</span> for them, and discarding any further data
    received from the network for them.</p></li>
 
    <li><p>If the <code>Document</code> has an <span>active
    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>
 
   <p>User agents may allow users to explicitly invoke the <span
   title="abort a document">abort a document</span> algorithm for a
   <code>Document</code>. If the user does so, then, if that
   <code>Document</code> is an <span>active document</span>, the user
   agent should <span>queue a task</span> to <span>fire a simple
   event</span> named <code title="event-abort">abort</code> at that
@@ -80088,20 +80156,21 @@ interface <dfn>NavigatorContentUtils</dfn> {
      <li><code>text/cache-manifest</code></li>
      <li><code>text/css</code></li>
      <li><code>text/html-sandboxed</code></li>
      <li><code>text/html</code></li>
      <li><code>text/ping</code></li>
      <li><code>text/plain</code></li>
      <li><code>application/x-www-form-urlencoded</code></li>
      <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>
 
     </ul>
 
     <p class="note">This list can be changed. If there are schemes
     that should be added, please send feedback.</p>
 
    </dd>
 
@@ -82395,27 +82464,27 @@ interface <dfn>NavigatorStorageUtils</dfn> {
       <p>The kind of data:</p>
 
       <dl>
 
        <dt><i>Plain Unicode string</i></dt>
        <dd>
         <p>Text.</p>
        </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>
 
 <!-- DND-v4:
        <dt><i>Structured object</i></dt>
        <dd>
         <p>An object that will be cloned using the <span>structured clone</span> algorithm.</p>
        </dd>
 -->
@@ -90723,21 +90792,21 @@ data:&nbsp;test
 
       <p>The <code title="">charset</code> parameter may be provided.
       The parameter's value must be "<code title="">utf-8</code>".
       This parameter serves no purpose; it is only allowed for
       compatibility with legacy servers.</p>
 
      </dd>
     </dl>
    </dd>
    <dt>Encoding considerations:</dt>
-   <dd>Always UTF-8.</dd>
+   <dd>8bit (always UTF-8)</dd>
    <dt>Security considerations:</dt>
    <dd>
 
     <p>An event stream from an origin distinct from the origin of the
     content consuming the event stream can result in information
     leakage. To avoid this, user agents are required to apply CORS
     semantics. <a href="#refsCORS">[CORS]</a></p>
 
     <p>Event streams can overwhelm a user agent; a user agent is
     expected to apply suitable restrictions to avoid depleting local
@@ -109858,22 +109927,24 @@ if (s = prompt('What is your name?')) {
       document. The parameter's value must be the name of the
       character encoding used to serialize the file, must be a valid
       character encoding name, and must be an <span>ASCII
       case-insensitive</span> match for the <span>preferred MIME
       name</span> for that encoding. <a
       href="#refsIANACHARSET">[IANACHARSET]</a></p>
      </dd>
     </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>
 
     <p>Entire novels have been written about the security
     considerations that apply to HTML documents. Many are listed in
     this document, to which the reader is referred for more
     details. Some general concerns bear mentioning here, however:</p>
 
     <p>HTML is scripted language, and has a large number of APIs (some
     of which are described in this document). Script can expose the
@@ -110041,20 +110112,92 @@ if (s = prompt('What is your name?')) {
    <dt>Change controller:</dt>
    <dd>W3C</dd>
   </dl>
 
   <p>Fragment identifiers used with <code>text/html-sandboxed</code>
   resources either refer to <span>the indicated part of the
   document</span> or provide state information for in-page
   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@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 &amp; email address to contact for further information:</dt>
+   <dd>Ian Hickson &lt;ian@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 &lt;ian@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
   to the IESG for review, approval, and registration with IANA.</p>
 
   <!--
    To: ietf-types@iana.org
    Subject: Registration of media type application/xhtml+xml
   -->
 
@@ -110132,21 +110275,21 @@ if (s = prompt('What is your name?')) {
   <dl>
    <dt>Type name:</dt>
    <dd>application</dd>
    <dt>Subtype name:</dt>
    <dd>x-www-form-urlencoded</dd>
    <dt>Required parameters:</dt>
    <dd>No parameters</dd>
    <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>
     payload poses no security risks. However, as this type is usually
     used as part of a form submission, all the risks that apply to
     HTML forms need to be considered in the context of this type.</p>
    </dd>
    <dt>Interoperability considerations:</dt>
    <dd>
     Rules for generating and processing
@@ -110204,21 +110347,21 @@ if (s = prompt('What is your name?')) {
   <dl>
    <dt>Type name:</dt>
    <dd>text</dd>
    <dt>Subtype name:</dt>
    <dd>cache-manifest</dd>
    <dt>Required parameters:</dt>
    <dd>No parameters</dd>
    <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
     sensitive information is included within the
     manifest. Implementations, however, are required to follow
     specific rules when populating a cache based on a cache manifest,
     to ensure that certain origin-based restrictions are
     honored. Failure to correctly implement these rules can result in
     information leakage, cross-site scripting attacks, and the
     like.</p>
@@ -110351,21 +110494,21 @@ if (s = prompt('What is your name?')) {
   <dl>
    <dt>Type name:</dt>
    <dd>text</dd>
    <dt>Subtype name:</dt>
    <dd>vtt</dd>
    <dt>Required parameters:</dt>
    <dd>No parameters</dd>
    <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
     sensitive information is included within the
     data. Implementations, however, are required to follow specific
     rules when processing text tracks, to ensure that certain
     origin-based restrictions are honored. Failure to correctly
     implement these rules can result in information leakage,
     cross-site scripting attacks, and the like.</p>
    </dd>
@@ -110443,21 +110586,21 @@ if (s = prompt('What is your name?')) {
   <dl>
    <dt>Type name:</dt>
    <dd>application</dd>
    <dt>Subtype name:</dt>
    <dd>microdata+json</dd>
    <dt>Required parameters:</dt>
    <dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
    <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>
    <dd>Same as for <code>application/json</code> <a href="#refsJSON">[JSON]</a></dd>
    <dt>Published specification:</dt>
    <dd>
 
     Labeling a resource with the
     <code>application/microdata+json</code> type asserts that the
     resource is a JSON text that consists of an object with a single
@@ -110522,21 +110665,21 @@ if (s = prompt('What is your name?')) {
   <dl>
    <dt>Type name:</dt>
    <dd>application</dd>
    <dt>Subtype name:</dt>
    <dd>html-peer-connection-data</dd>
    <dt>Required parameters:</dt>
    <dd>No required parameters</dd>
    <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>
 
     <p>This format is used for encoding UDP packets transmitted by
     potentially hostile Web page content via a trusted user agent to a
     destination selected by a potentially hostile remote server. To
     prevent this mechanism from being abused for cross-protocol
     attacks, all the data in these packets is masked so as to appear
     to be random noise. The intent of this masking is to reduce the
     potential attack scenarios to those already possible

|