[html5] r7695 - [e] (0) Cleanup

whatwg at whatwg.org whatwg at whatwg.org
Tue Feb 5 14:23:47 PST 2013


Author: ianh
Date: 2013-02-05 14:23:45 -0800 (Tue, 05 Feb 2013)
New Revision: 7695

Modified:
   complete.html
   index
   source
Log:
[e] (0) Cleanup

Modified: complete.html
===================================================================
--- complete.html	2013-02-05 20:33:00 UTC (rev 7694)
+++ complete.html	2013-02-05 22:23:45 UTC (rev 7695)
@@ -12394,24 +12394,23 @@
 
   <h3 id=interactions-with-xpath-and-xslt><span class=secno>3.3 </span>Interactions with XPath and XSLT</h3>
 
-  <p id=xpath-1.0-processors>Implementations of XPath 1.0 that
-  operate on <a href=#html-documents>HTML documents</a> parsed or created in the
-  manners described in this specification (e.g. as part of the <code title="">document.evaluate()</code> API) must act as if the
-  following edit was applied to the XPath 1.0 specification.</p>
+  <p id=xpath-1.0-processors>Implementations of XPath 1.0 that operate on <a href=#html-documents>HTML
+  documents</a> parsed or created in the manners described in this specification (e.g. as part of
+  the <code title="">document.evaluate()</code> API) must act as if the following edit was applied
+  to the XPath 1.0 specification.</p>
 
   <p>First, remove this paragraph:</p>
 
   <blockquote cite=http://www.w3.org/TR/1999/REC-xpath-19991116#node-tests>
 
-   <p>A <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> in the
-   node test is expanded into an <a href=http://www.w3.org/TR/1999/REC-xpath-19991116#dt-expanded-name>expanded-name</a>
-   using the namespace declarations from the expression context.  This
-   is the same way expansion is done for element type names in start
-   and end-tags except that the default namespace declared with <code title="">xmlns</code> is not used: if the <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> does
-   not have a prefix, then the namespace URI is null (this is the same
-   way attribute names are expanded).  It is an error if the <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> has a
-   prefix for which there is no namespace declaration in the
-   expression context.</p>
+   <p>A <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> in the node test is expanded
+   into an <a href=http://www.w3.org/TR/1999/REC-xpath-19991116#dt-expanded-name>expanded-name</a>
+   using the namespace declarations from the expression context. This is the same way expansion is
+   done for element type names in start and end-tags except that the default namespace declared with
+   <code title="">xmlns</code> is not used: if the <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> does not have a prefix, then the
+   namespace URI is null (this is the same way attribute names are expanded). It is an error if the
+   <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> has a prefix for which there is
+   no namespace declaration in the expression context.</p>
 
   </blockquote>
 
@@ -12419,87 +12418,68 @@
 
   <blockquote cite="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7059#c37">
 
-   <p>A QName in the node test is expanded into an expanded-name using
-   the namespace declarations from the expression context. If the
-   QName has a prefix, then there must be a<!-- added 2009-10-27 -
-   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8062 --> namespace
-   declaration for this prefix in the expression context, and the
-   corresponding<!-- typo fixed 2009-10-27 -
-   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8063 --> namespace
-   URI is the one that is associated with this prefix.  It is an error
-   if the QName has a prefix for which there is no namespace
-   declaration in the expression context. </p>
+   <p>A QName in the node test is expanded into an expanded-name using the namespace declarations
+   from the expression context. If the QName has a prefix, then there must be a<!-- added 2009-10-27
+   - http://www.w3.org/Bugs/Public/show_bug.cgi?id=8062 --> namespace declaration for this prefix in
+   the expression context, and the corresponding<!-- typo fixed 2009-10-27 -
+   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8063 --> namespace URI is the one that is
+   associated with this prefix. It is an error if the QName has a prefix for which there is no
+   namespace declaration in the expression context. </p>
 
-   <p>If the QName has no prefix and the principal node type of the
-   axis is element, then the default element namespace is
-   used. Otherwise if the QName has no prefix, the namespace URI is
-   null. The default element namespace is a member of the context for
-   the XPath expression. The value of the default element namespace
-   when executing an XPath expression through the DOM3 XPath API is
-   determined in the following way:</p>
+   <p>If the QName has no prefix and the principal node type of the axis is element, then the
+   default element namespace is used. Otherwise if the QName has no prefix, the namespace URI is
+   null. The default element namespace is a member of the context for the XPath expression. The
+   value of the default element namespace when executing an XPath expression through the DOM3 XPath
+   API is determined in the following way:</p>
 
-   <ol><li>If the context node is from an HTML DOM, the default element
-    namespace is "http://www.w3.org/1999/xhtml".</li>
+   <ol><li>If the context node is from an HTML DOM, the default element namespace is
+    "http://www.w3.org/1999/xhtml".</li>
 
     <li>Otherwise, the default element namespace URI is null.</li>
 
-   </ol><p class=note>This is equivalent to adding the default element
-   namespace feature of XPath 2.0 to XPath 1.0, and using the HTML
-   namespace as the default element namespace for HTML documents. It
-   is motivated by the desire to have implementations be compatible
-   with legacy HTML content while still supporting the changes that
-   this specification introduces to HTML regarding the namespace used
-   for HTML elements, and by the desire to use XPath 1.0 rather than
-   XPath 2.0.</p>
+   </ol><p class=note>This is equivalent to adding the default element namespace feature of XPath 2.0
+   to XPath 1.0, and using the HTML namespace as the default element namespace for HTML documents.
+   It is motivated by the desire to have implementations be compatible with legacy HTML content
+   while still supporting the changes that this specification introduces to HTML regarding the
+   namespace used for HTML elements, and by the desire to use XPath 1.0 rather than XPath 2.0.</p>
 
   </blockquote>
 
-  <p class=note>This change is a <a href=#willful-violation>willful violation</a> of
-  the XPath 1.0 specification, motivated by desire to have
-  implementations be compatible with legacy content while still
-  supporting the changes that this specification introduces to HTML
-  regarding which namespace is used for HTML elements. <a href=#refsXPATH10>[XPATH10]</a></p> <!-- note: version matters for
+  <p class=note>This change is a <a href=#willful-violation>willful violation</a> of the XPath 1.0 specification,
+  motivated by desire to have implementations be compatible with legacy content while still
+  supporting the changes that this specification introduces to HTML regarding which namespace is
+  used for HTML elements. <a href=#refsXPATH10>[XPATH10]</a></p> <!-- note: version matters for
   this ref -->
 
-  <hr><p id=dom-based-xslt-1.0-processors>XSLT 1.0 processors outputting
-  to a DOM when the output method is "html" (either explicitly or via
-  the defaulting rule in XSLT 1.0) are affected as follows:</p>
+  <hr><p id=dom-based-xslt-1.0-processors>XSLT 1.0 processors outputting to a DOM when the output
+  method is "html" (either explicitly or via the defaulting rule in XSLT 1.0) are affected as
+  follows:</p>
 
-  <p>If the transformation program outputs an element in no namespace,
-  the processor must, prior to constructing the corresponding DOM
-  element node, change the namespace of the element to the <a href=#html-namespace-0>HTML
-  namespace</a>, <a href=#converted-to-ascii-lowercase title="converted to ASCII
-  lowercase">ASCII-lowercase</a> the element's local name, and
-  <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">ASCII-lowercase</a>
-  the names of any non-namespaced attributes on the element.</p>
+  <p>If the transformation program outputs an element in no namespace, the processor must, prior to
+  constructing the corresponding DOM element node, change the namespace of the element to the
+  <a href=#html-namespace-0>HTML namespace</a>, <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">ASCII-lowercase</a> the
+  element's local name, and <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">ASCII-lowercase</a> the
+  names of any non-namespaced attributes on the element.</p>
 
-  <p class=note>This requirement is a <a href=#willful-violation>willful violation</a>
-  of the XSLT 1.0 specification, required because this specification
-  changes the namespaces and case-sensitivity rules of HTML in a
-  manner that would otherwise be incompatible with DOM-based XSLT
-  transformations. (Processors that serialize the output are
-  unaffected.) <a href=#refsXSLT10>[XSLT10]</a></p> <!-- note:
-  version matters for this ref -->
+  <p class=note>This requirement is a <a href=#willful-violation>willful violation</a> of the XSLT 1.0
+  specification, required because this specification changes the namespaces and case-sensitivity
+  rules of HTML in a manner that would otherwise be incompatible with DOM-based XSLT
+  transformations. (Processors that serialize the output are unaffected.) <a href=#refsXSLT10>[XSLT10]</a></p> <!-- note: version matters for this ref -->
 
-  <hr><p>This specification does not specify precisely how XSLT processing
-  interacts with the <a href=#html-parser>HTML parser</a> infrastructure (for
-  example, whether an XSLT processor acts as if it puts any elements
-  into a <a href=#stack-of-open-elements>stack of open elements</a>). However, XSLT
-  processors must <a href=#stop-parsing>stop parsing</a> if they successfully
-  complete, and must set the <a href=#current-document-readiness>current document readiness</a>
-  first to "<code title="">interactive</code>"<!-- this synchronously
-  fires an event --> and then to "<code title="">complete</code>"<!--
-  this also synchronously fires an event --> if they are aborted.</p>
+  <hr><p>This specification does not specify precisely how XSLT processing interacts with the <a href=#html-parser>HTML
+  parser</a> infrastructure (for example, whether an XSLT processor acts as if it puts any
+  elements into a <a href=#stack-of-open-elements>stack of open elements</a>). However, XSLT processors must <a href=#stop-parsing>stop
+  parsing</a> if they successfully complete, and must set the <a href=#current-document-readiness>current document
+  readiness</a> first to "<code title="">interactive</code>"<!-- this synchronously fires an
+  event --> and then to "<code title="">complete</code>"<!-- this also synchronously fires an event
+  --> if they are aborted.</p>
 
-  <hr><p>This specification does not specify how XSLT interacts with the
-  <a href=#navigate title=navigate>navigation</a> algorithm, how it fits in
-  with the <a href=#event-loop>event loop</a>, nor how error pages are to be
-  handled (e.g. whether XSLT errors are to replace an incremental XSLT
+  <hr><p>This specification does not specify how XSLT interacts with the <a href=#navigate title=navigate>navigation</a> algorithm, how it fits in with the <a href=#event-loop>event loop</a>, nor
+  how error pages are to be handled (e.g. whether XSLT errors are to replace an incremental XSLT
   output, or are rendered inline, etc).</p>
 
-  <p class=note>There are also additional non-normative comments
-  regarding the interaction of XSLT and HTML <a href=#scriptTagXSLT>in the <code>script</code> element
-  section</a>.</p>
+  <p class=note>There are also additional non-normative comments regarding the interaction of XSLT
+  and HTML <a href=#scriptTagXSLT>in the <code>script</code> element section</a>.</p>
 
   </div>
 
@@ -12740,27 +12720,25 @@
 
   </dl><div class=impl>
 
-  <p>The <dfn id=dom-document-close title=dom-document-close><code>close()</code></dfn>
-  method must run the following steps:</p>
+  <p>The <dfn id=dom-document-close title=dom-document-close><code>close()</code></dfn> method must run the following
+  steps:</p>
 
-  <ol><li><p>If the <code><a href=#document>Document</a></code> object is not flagged as an
-   <a href=#html-documents title="HTML documents">HTML document</a>, throw an
-   <code><a href=#invalidstateerror>InvalidStateError</a></code> exception and abort these
+  <ol><li><p>If the <code><a href=#document>Document</a></code> object is not flagged as an <a href=#html-documents title="HTML documents">HTML
+   document</a>, throw an <code><a href=#invalidstateerror>InvalidStateError</a></code> exception and abort these
    steps.</li>
 
-   <li><p>If there is no <a href=#script-created-parser>script-created parser</a> associated
-   with the document, then abort these steps.</li>
+   <li><p>If there is no <a href=#script-created-parser>script-created parser</a> associated with the document, then abort
+   these steps.</li>
 
-   <li><p>Insert an <a href=#explicit-eof-character>explicit "EOF" character</a> at the end
-   of the parser's <a href=#input-stream>input stream</a>.</li>
+   <li><p>Insert an <a href=#explicit-eof-character>explicit "EOF" character</a> at the end of the parser's <a href=#input-stream>input
+   stream</a>.</li>
 
-   <li><p>If there is a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>,
-   then abort these steps.</li>
+   <li><p>If there is a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>, then abort these
+   steps.</li>
 
-   <li><p>Run the tokenizer, processing resulting tokens as they are
-   emitted, and stopping when the tokenizer reaches the <a href=#explicit-eof-character>explicit
-   "EOF" character</a> or <a href=#spin-the-event-loop title="spin the event loop">spins
-   the event loop</a>.</li>
+   <li><p>Run the tokenizer, processing resulting tokens as they are emitted, and stopping when the
+   tokenizer reaches the <a href=#explicit-eof-character>explicit "EOF" character</a> or <a href=#spin-the-event-loop title="spin the event
+   loop">spins the event loop</a>.</li>
 
   </ol></div>
 
@@ -14715,14 +14693,12 @@
 
   <h4 id=styling><span class=secno>4.2.7 </span><dfn title="styling processing model">Styling</dfn></h4>
 
-  <p>The <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements can provide
-  styling information for the user agent to use when rendering the
-  document. The CSS and CSSOM specifications specify what styling
-  information is to be used by the user agent and how it is to be
-  used. <a href=#refsCSS>[CSS]</a> <a href=#refsCSSOM>[CSSOM]</a></p>
+  <p>The <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements can provide styling information for the
+  user agent to use when rendering the document. The CSS and CSSOM specifications specify what
+  styling information is to be used by the user agent and how it is to be used. <a href=#refsCSS>[CSS]</a> <a href=#refsCSSOM>[CSSOM]</a></p>
 
-  <p>The <code><a href=#the-style-element>style</a></code> and <code><a href=#the-link-element>link</a></code> elements implement
-  the <code><a href=#linkstyle>LinkStyle</a></code> interface. <a href=#refsCSSOM>[CSSOM]</a></p>
+  <p>The <code><a href=#the-style-element>style</a></code> and <code><a href=#the-link-element>link</a></code> elements implement the <code><a href=#linkstyle>LinkStyle</a></code>
+  interface. <a href=#refsCSSOM>[CSSOM]</a></p>
 
   <div class=impl>
 
@@ -14745,126 +14721,98 @@
 
   <dl><dt>The style sheet type</dt>
 
-   <dd><p>The style sheet type must be the same as the style's specified
-   type. For <code><a href=#the-style-element>style</a></code> elements, this is the same as the
-   <code title=attr-style-type><a href=#attr-style-type>type</a></code> content attribute's
-   value, or <code title="">text/css</code> if that is omitted. For
-   <code><a href=#the-link-element>link</a></code> elements, this is the <a href=#content-type title=Content-Type>Content-Type metadata of the specified
-   resource</a>.</dd>
+   <dd><p>The style sheet type must be the same as the style's specified type. For
+   <code><a href=#the-style-element>style</a></code> elements, this is the same as the <code title=attr-style-type><a href=#attr-style-type>type</a></code>
+   content attribute's value, or <code title="">text/css</code> if that is omitted. For
+   <code><a href=#the-link-element>link</a></code> elements, this is the <a href=#content-type title=Content-Type>Content-Type metadata of the
+   specified resource</a>.</dd>
 
    <dt>The style sheet location</dt>
 
-   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, the location must be the
-   result of <a href=#resolve-a-url title="resolve a url">resolving</a> the
-   <a href=#url>URL</a> given by the element's <code title=attr-link-href><a href=#attr-link-href>href</a></code> content attribute, relative to
-   the element, or the empty string if that fails. For
-   <code><a href=#the-style-element>style</a></code> elements, there is no location.</dd> <!--
-   note that this might not match the style sheet URL, if the base URL
-   has changed for instance -->
+   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, the location must be the result of <a href=#resolve-a-url title="resolve a
+   url">resolving</a> the <a href=#url>URL</a> given by the element's <code title=attr-link-href><a href=#attr-link-href>href</a></code> content attribute, relative to the element, or the empty
+   string if that fails. For <code><a href=#the-style-element>style</a></code> elements, there is no location.</dd> <!-- note
+   that this might not match the style sheet URL, if the base URL has changed for instance -->
 
    <dt>The style sheet media</dt>
 
-   <dd><p>The media must be the same as the value of the element's
-   <code title="">media</code> content attribute, or the empty string,
-   if the attribute is omitted.</dd>
+   <dd><p>The media must be the same as the value of the element's <code title="">media</code>
+   content attribute, or the empty string, if the attribute is omitted.</dd>
 
    <dt>The style sheet title</dt>
 
-   <dd><p>The title must be the same as the value of the element's
-   <code title=dom-title><a href=#dom-title>title</a></code> content attribute, if the
-   attribute is present and has a non-empty value. If the attribute is
-   absent or its value is the empty string, then the style sheet does
-   not have a title (it is the empty string). The title is used for
-   defining <a href=#alternative-style-sheet-sets>alternative style sheet sets</a>.</dd>
+   <dd><p>The title must be the same as the value of the element's <code title=dom-title><a href=#dom-title>title</a></code> content attribute, if the attribute is present and has a non-empty
+   value. If the attribute is absent or its value is the empty string, then the style sheet does not
+   have a title (it is the empty string). The title is used for defining <a href=#alternative-style-sheet-sets>alternative style
+   sheet sets</a>.</dd>
 
    <dt>The style sheet alternate flag</dt>
 
-   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, true if <a href=#the-link-is-an-alternative-stylesheet>the link is an
-   alternative stylesheet</a>. In all other cases, false.</dd>
+   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, true if <a href=#the-link-is-an-alternative-stylesheet>the link is an alternative
+   stylesheet</a>. In all other cases, false.</dd>
 
 <!--
-   <dt>The style sheet disabled flag</dt>
-   (not included, because I assume CSSOM will change to not require
-   this spec to initialise the value, but will instead initialise it
-   based on the other values)
+   <dt>The style sheet disabled flag</dt> (not included, because I assume CSSOM will change to not
+   require this spec to initialise the value, but will instead initialise it based on the other
+   values)
 -->
 
   </dl><p>The same object must be returned each time.</p>
 
-  <p>The <dfn id=dom-linkstyle-disabled title=dom-LinkStyle-disabled><code>disabled</code></dfn> IDL
-  attribute on <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements must
-  return false and do nothing on setting, if the <code title=dom-linkstyle-sheet><a href=#dom-linkstyle-sheet>sheet</a></code> attribute of their
-  <code><a href=#linkstyle>LinkStyle</a></code> interface is null. Otherwise, it must return
-  the value of the <code><a href=#stylesheet>StyleSheet</a></code> interface's <code title=dom-stylesheet-disabled><a href=#dom-stylesheet-disabled>disabled</a></code> attribute on
-  getting, and forward the new value to that same attribute on
-  setting.</p>
+  <p>The <dfn id=dom-linkstyle-disabled title=dom-LinkStyle-disabled><code>disabled</code></dfn> IDL attribute on
+  <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements must return false and do nothing on setting, if
+  the <code title=dom-linkstyle-sheet><a href=#dom-linkstyle-sheet>sheet</a></code> attribute of their <code><a href=#linkstyle>LinkStyle</a></code>
+  interface is null. Otherwise, it must return the value of the <code><a href=#stylesheet>StyleSheet</a></code> interface's
+  <code title=dom-stylesheet-disabled><a href=#dom-stylesheet-disabled>disabled</a></code> attribute on getting, and forward the new
+  value to that same attribute on setting.</p>
 
-  <!-- [CSSOM] covers the following: the term "alternative style sheet
-  sets", the term "default style sheet set", preferred stylesheets,
-  alternative stylesheets, persistent stylesheets, ordering of
-  stylesheets, dynamic additions/removals, window.styleSheets, style
-  sheets given by HTTP Link: headers, and the alternative style sheet
-  API -->
+  <!-- [CSSOM] covers the following: the term "alternative style sheet sets", the term "default
+  style sheet set", preferred stylesheets, alternative stylesheets, persistent stylesheets, ordering
+  of stylesheets, dynamic additions/removals, window.styleSheets, style sheets given by HTTP Link:
+  headers, and the alternative style sheet API -->
 
-  <p id=alternate-style-sheets>The rules for handling alternative
-  style sheets are defined in the CSS object model specification. <a href=#refsCSSOM>[CSSOM]</a></p>
+  <p id=alternate-style-sheets>The rules for handling alternative style sheets are defined in the
+  CSS object model specification. <a href=#refsCSSOM>[CSSOM]</a></p>
 
-  <hr><p>Style sheets, whether added by a <code><a href=#the-link-element>link</a></code> element, a
-  <code><a href=#the-style-element>style</a></code> element, an <code><?xml-stylesheet></code> PI,
-  an HTTP <code title=http-link>Link:</code> header, or some other
-  mechanism, have a <dfn id=style-sheet-ready>style sheet ready</dfn> flag, which is
-  initially unset.</p>
+  <hr><p>Style sheets, whether added by a <code><a href=#the-link-element>link</a></code> element, a <code><a href=#the-style-element>style</a></code> element, an
+  <code><?xml-stylesheet></code> PI, an HTTP <code title=http-link>Link:</code> header, or some
+  other mechanism, have a <dfn id=style-sheet-ready>style sheet ready</dfn> flag, which is initially unset.</p>
 
-  <p>When a style sheet is ready to be applied, its <a href=#style-sheet-ready>style sheet
-  ready</a> flag must be set. If the style sheet referenced no
-  other resources (e.g. it was an internal style sheet given by a
-  <code><a href=#the-style-element>style</a></code> element with no <code title="">@import</code>
-  rules), then the style rules must be synchronously made available to
-  script; otherwise, the style rules must only be made available to
-  script once the <a href=#event-loop>event loop</a> reaches its "update the
-  rendering" step.</p>
+  <p>When a style sheet is ready to be applied, its <a href=#style-sheet-ready>style sheet ready</a> flag must be set.
+  If the style sheet referenced no other resources (e.g. it was an internal style sheet given by a
+  <code><a href=#the-style-element>style</a></code> element with no <code title="">@import</code> rules), then the style rules must
+  be synchronously made available to script; otherwise, the style rules must only be made available
+  to script once the <a href=#event-loop>event loop</a> reaches its "update the rendering" step.</p>
 
-  <p>A style sheet in the context of the <code><a href=#document>Document</a></code> of an
-  <a href=#html-parser>HTML parser</a> or <a href=#xml-parser>XML parser</a> is said to be
-  <dfn id=a-style-sheet-that-is-blocking-scripts>a style sheet that is blocking scripts</dfn> if the element was
-  created by that <code><a href=#document>Document</a></code>'s parser, and the element is
-  either a <code><a href=#the-style-element>style</a></code> element or a <code><a href=#the-link-element>link</a></code> element
-  that was an <a href=#link-type-stylesheet title=rel-stylesheet>external resource link that
-  contributes to the styling processing model</a> when the element
-  was created by the parser, and the element's style sheet was enabled
-  when the element was created by the parser, and the element's
-  <a href=#style-sheet-ready>style sheet ready</a> flag is not yet set, and, the last
-  time the <a href=#event-loop>event loop</a> reached step 1, the element was
-  <a href=#in-a-document title="in a document">in that <code>Document</code></a>,
-  and the user agent hasn't given up on that particular style sheet
-  yet. A user agent may give up on a style sheet at any time.</p>
+  <p>A style sheet in the context of the <code><a href=#document>Document</a></code> of an <a href=#html-parser>HTML parser</a> or
+  <a href=#xml-parser>XML parser</a> is said to be <dfn id=a-style-sheet-that-is-blocking-scripts>a style sheet that is blocking scripts</dfn> if the
+  element was created by that <code><a href=#document>Document</a></code>'s parser, and the element is either a
+  <code><a href=#the-style-element>style</a></code> element or a <code><a href=#the-link-element>link</a></code> element that was an <a href=#link-type-stylesheet title=rel-stylesheet>external resource link that contributes to the styling processing
+  model</a> when the element was created by the parser, and the element's style sheet was enabled
+  when the element was created by the parser, and the element's <a href=#style-sheet-ready>style sheet ready</a> flag
+  is not yet set, and, the last time the <a href=#event-loop>event loop</a> reached step 1, the element was
+  <a href=#in-a-document title="in a document">in that <code>Document</code></a>, and the user agent hasn't given
+  up on that particular style sheet yet. A user agent may give up on a style sheet at any time.</p>
 
-  <p class=note>Giving up on a style sheet before the style sheet
-  loads, if the style sheet eventually does still load, means that the
-  script might end up operating with incorrect information. For
-  example, if a style sheet sets the color of an element to green, but
-  a script that inspects the resulting style is executed before the
-  sheet is loaded, the script will find that the element is black (or
-  whatever the default color is), and might thus make poor choices
-  (e.g. deciding to use black as the color elsewhere on the page,
-  instead of green). Implementors have to balance the likelihood of a
-  script using incorrect information with the performance impact of
-  doing nothing while waiting for a slow network request to
-  finish.</p>
+  <p class=note>Giving up on a style sheet before the style sheet loads, if the style sheet
+  eventually does still load, means that the script might end up operating with incorrect
+  information. For example, if a style sheet sets the color of an element to green, but a script
+  that inspects the resulting style is executed before the sheet is loaded, the script will find
+  that the element is black (or whatever the default color is), and might thus make poor choices
+  (e.g. deciding to use black as the color elsewhere on the page, instead of green). Implementors
+  have to balance the likelihood of a script using incorrect information with the performance impact
+  of doing nothing while waiting for a slow network request to finish.</p>
 
-  <p>A <code><a href=#document>Document</a></code> <dfn id=has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking
-  scripts</dfn> if there is either <a href=#a-style-sheet-that-is-blocking-scripts>a style sheet that is
-  blocking scripts</a> in the context of that
-  <code><a href=#document>Document</a></code>, or if that <code><a href=#document>Document</a></code> is in a
-  <a href=#browsing-context>browsing context</a> that has a <a href=#parent-browsing-context>parent browsing
-  context</a>, and the <a href=#active-document>active document</a> of that
-  <a href=#parent-browsing-context>parent browsing context</a> itself <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style sheet
-  that is blocking scripts</a>.</p>
+  <p>A <code><a href=#document>Document</a></code> <dfn id=has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking scripts</dfn> if there is
+  either <a href=#a-style-sheet-that-is-blocking-scripts>a style sheet that is blocking scripts</a> in the context of that
+  <code><a href=#document>Document</a></code>, or if that <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing context</a> that
+  has a <a href=#parent-browsing-context>parent browsing context</a>, and the <a href=#active-document>active document</a> of that
+  <a href=#parent-browsing-context>parent browsing context</a> itself <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking
+  scripts</a>.</p>
 
-  <p>A <code><a href=#document>Document</a></code> <dfn id=has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
-  scripts</dfn> if it does not <a href=#has-a-style-sheet-that-is-blocking-scripts title="has a style sheet that is
-  blocking scripts">have a style sheet that is blocking scripts</a>
-  as defined in the previous paragraph.</p>
+  <p>A <code><a href=#document>Document</a></code> <dfn id=has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking scripts</dfn> if it does not
+  <a href=#has-a-style-sheet-that-is-blocking-scripts title="has a style sheet that is blocking scripts">have a style sheet that is blocking
+  scripts</a> as defined in the previous paragraph.</p>
 
   </div>
 
@@ -28741,8 +28689,8 @@
 
       <p><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-media-loadedmetadata><a href=#event-media-loadedmetadata>loadedmetadata</a></code> at the element.</p>
 
-      <p class=note>Before this task is run, as part of the event loop mechanism, the rendering
-      will have been updated to resize the <code><a href=#the-video-element>video</a></code> element if appropriate.</p>
+      <p class=note>Before this task is run, as part of the <a href=#event-loop>event loop</a> mechanism, the
+      rendering will have been updated to resize the <code><a href=#the-video-element>video</a></code> element if appropriate.</p>
 
      </dd>
 
@@ -31973,74 +31921,61 @@
 
    </dd>
 
-  </dl><p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text
-  track</a> that the <code><a href=#texttrack>TextTrack</a></code> object represents is
-  not the <a href=#text-track-disabled>text track disabled</a> mode, then the <dfn id=dom-texttrack-cues title=dom-TextTrack-cues><code>cues</code></dfn> attribute must
-  return a <a href=#live>live</a> <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that
-  represents the subset of the <a href=#text-track-list-of-cues>text track list of cues</a> of
-  the <a href=#text-track>text track</a> that the <code><a href=#texttrack>TextTrack</a></code> object
-  represents whose <a href=#text-track-cue-end-time title="text track cue end time">end
-  times</a> occur at or after the <a href=#earliest-possible-position-when-the-script-started>earliest possible position
-  when the script started</a>, in <a href=#text-track-cue-order>text track cue
-  order</a>. Otherwise, it must return null. When an object is
-  returned, the same object must be returned each time.</p>
+  </dl><p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents is not the <a href=#text-track-disabled>text track disabled</a> mode, then
+  the <dfn id=dom-texttrack-cues title=dom-TextTrack-cues><code>cues</code></dfn> attribute must return a
+  <a href=#live>live</a> <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that represents the subset of the
+  <a href=#text-track-list-of-cues>text track list of cues</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents whose <a href=#text-track-cue-end-time title="text track cue end time">end
+  times</a> occur at or after the <a href=#earliest-possible-position-when-the-script-started>earliest possible position when the script
+  started</a>, in <a href=#text-track-cue-order>text track cue order</a>. Otherwise, it must return null. When an
+  object is returned, the same object must be returned each time.</p>
 
-  <p>The <dfn id=earliest-possible-position-when-the-script-started>earliest possible position when the script started</dfn>
-  is whatever the <a href=#earliest-possible-position>earliest possible position</a> was the last
-  time the <a href=#event-loop>event loop</a> reached step 1.</p>
+  <p>The <dfn id=earliest-possible-position-when-the-script-started>earliest possible position when the script started</dfn> is whatever the
+  <a href=#earliest-possible-position>earliest possible position</a> was the last time the <a href=#event-loop>event loop</a> reached step
+  1.</p>
 
-  <p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text
-  track</a> that the <code><a href=#texttrack>TextTrack</a></code> object represents is
-  not the <a href=#text-track-disabled>text track disabled</a> mode, then the <dfn id=dom-texttrack-activecues title=dom-TextTrack-activeCues><code>activeCues</code></dfn>
-  attribute must return a <a href=#live>live</a>
-  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that represents the subset of
-  the <a href=#text-track-list-of-cues>text track list of cues</a> of the <a href=#text-track>text
-  track</a> that the <code><a href=#texttrack>TextTrack</a></code> object represents
-  whose <a href=#active-flag-was-set-when-the-script-started>active flag was set when the script started</a>, in
-  <a href=#text-track-cue-order>text track cue order</a>. Otherwise, it must return
-  null. When an object is returned, the same object must be returned
-  each time.</p>
+  <p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents is not the <a href=#text-track-disabled>text track disabled</a> mode, then
+  the <dfn id=dom-texttrack-activecues title=dom-TextTrack-activeCues><code>activeCues</code></dfn> attribute must return a
+  <a href=#live>live</a> <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that represents the subset of the
+  <a href=#text-track-list-of-cues>text track list of cues</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents whose <a href=#active-flag-was-set-when-the-script-started>active flag was set when the script
+  started</a>, in <a href=#text-track-cue-order>text track cue order</a>. Otherwise, it must return null. When an
+  object is returned, the same object must be returned each time.</p>
 
-  <p>A <a href=#text-track-cue>text track cue</a>'s <dfn id=active-flag-was-set-when-the-script-started>active flag was set when
-  the script started</dfn> if its <a href=#text-track-cue-active-flag>text track cue active
-  flag</a> was set the last time the <a href=#event-loop>event loop</a>
-  reached step 1.</p>
+  <p>A <a href=#text-track-cue>text track cue</a>'s <dfn id=active-flag-was-set-when-the-script-started>active flag was set when the script started</dfn> if its
+  <a href=#text-track-cue-active-flag>text track cue active flag</a> was set the last time the <a href=#event-loop>event loop</a> reached
+  step 1.</p>
 
-  <hr><p>The <dfn id=dom-texttrack-addcue title=dom-TextTrack-addCue><code>addCue(<var title="">cue</var>)</code></dfn> method of <code><a href=#texttrack>TextTrack</a></code>
-  objects, when invoked, must run the following steps:</p>
+  <hr><p>The <dfn id=dom-texttrack-addcue title=dom-TextTrack-addCue><code>addCue(<var title="">cue</var>)</code></dfn> method
+  of <code><a href=#texttrack>TextTrack</a></code> objects, when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the given <var title="">cue</var> is in a <a href=#text-track-list-of-cues>text
-   track list of cues</a>, then remove <var title="">cue</var> from
-   that <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
+  <ol><li><p>If the given <var title="">cue</var> is in a <a href=#text-track-list-of-cues>text track list of cues</a>, then
+   remove <var title="">cue</var> from that <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
 
-   <li><p>Add <var title="">cue</var> to the method's
-   <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text track</a>'s
-   <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
+   <li><p>Add <var title="">cue</var> to the method's <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text
+   track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
 
-  </ol><p>The <dfn id=dom-texttrack-removecue title=dom-TextTrack-removeCue><code>removeCue(<var title="">cue</var>)</code></dfn> method of
-  <code><a href=#texttrack>TextTrack</a></code> objects, when invoked, must run the
-  following steps:</p>
+  </ol><p>The <dfn id=dom-texttrack-removecue title=dom-TextTrack-removeCue><code>removeCue(<var title="">cue</var>)</code></dfn>
+  method of <code><a href=#texttrack>TextTrack</a></code> objects, when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the given <var title="">cue</var> is not currently listed
-   in the method's <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text
-   track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>, then throw a
-   <code><a href=#notfounderror>NotFoundError</a></code> exception.</li>
+  <ol><li><p>If the given <var title="">cue</var> is not currently listed in the method's
+   <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>,
+   then throw a <code><a href=#notfounderror>NotFoundError</a></code> exception.</li>
 
-   <li><p>Remove <var title="">cue</var> from the method's
-   <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text track</a>'s
-   <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
+   <li><p>Remove <var title="">cue</var> from the method's <code><a href=#texttrack>TextTrack</a></code> object's
+   <a href=#text-track>text track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
 
   </ol></div>
 
   <div class=example>
 
-   <p>In this example, an <code><a href=#the-audio-element>audio</a></code> element is used to play a
-   specific sound-effect from a sound file containing many sound
-   effects. A cue is used to pause the audio, so that it ends exactly
-   at the end of the clip, even if the browser is busy running some
-   script. If the page had relied on script to pause the audio, then
-   the start of the next clip might be heard if the browser was not
-   able to run the script at the exact time specified.</p>
+   <p>In this example, an <code><a href=#the-audio-element>audio</a></code> element is used to play a specific sound-effect from a
+   sound file containing many sound effects. A cue is used to pause the audio, so that it ends
+   exactly at the end of the clip, even if the browser is busy running some script. If the page had
+   relied on script to pause the audio, then the start of the next clip might be heard if the
+   browser was not able to run the script at the exact time specified.</p>
 
    <pre>var sfx = new Audio('sfx.wav');
 var sounds = sfx.addTextTrack('metadata');
@@ -32096,35 +32031,25 @@
 
   </dl><div class=impl>
 
-  <p>A <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object represents a dynamically
-  updating list of <a href=#text-track-cue title="text track cue">text track
-  cues</a> in a given order.</p>
+  <p>A <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object represents a dynamically updating list of <a href=#text-track-cue title="text track cue">text track cues</a> in a given order.</p>
 
-  <p>The <dfn id=dom-texttrackcuelist-length title=dom-TextTrackCueList-length><code>length</code></dfn>
-  attribute must return the number of <a href=#text-track-cue title="text track
-  cue">cues</a> in the list represented by the
+  <p>The <dfn id=dom-texttrackcuelist-length title=dom-TextTrackCueList-length><code>length</code></dfn> attribute must return
+  the number of <a href=#text-track-cue title="text track cue">cues</a> in the list represented by the
   <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object.</p>
 
-  <p>The <a href=#supported-property-indices>supported property indices</a> of a
-  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object at any instant are the numbers
-  from zero to the number of <a href=#text-track-cue title="text track cue">cues</a>
-  in the list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object
-  minus one, if any. If there are no <a href=#text-track-cue title="text track
-  cue">cues</a> in the list, there are no <a href=#supported-property-indices>supported property
+  <p>The <a href=#supported-property-indices>supported property indices</a> of a <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object at any
+  instant are the numbers from zero to the number of <a href=#text-track-cue title="text track cue">cues</a> in the
+  list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object minus one, if any. If there are no
+  <a href=#text-track-cue title="text track cue">cues</a> in the list, there are no <a href=#supported-property-indices>supported property
   indices</a>.</p>
 
-  <p>To <a href=#determine-the-value-of-an-indexed-property>determine the value of an indexed property</a> for a
-  given index <var title="">index</var>, the user agent must return
-  the <var title="">index</var>th <a href=#text-track-cue>text track cue</a> in the
-  list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object.</p>
+  <p>To <a href=#determine-the-value-of-an-indexed-property>determine the value of an indexed property</a> for a given index <var title="">index</var>, the user agent must return the <var title="">index</var>th <a href=#text-track-cue>text track
+  cue</a> in the list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object.</p>
 
-  <p>The <dfn id=dom-texttrackcuelist-getcuebyid title=dom-TextTrackCueList-getCueById><code>getCueById(<var title="">id</var>)</code></dfn> method, when called with an argument
-  other than the empty string, must return the first <a href=#text-track-cue>text track
-  cue</a> in the list represented by the
-  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object whose <a href=#text-track-cue-identifier>text track cue
-  identifier</a> is <var title="">id</var>, if any, or null
-  otherwise. If the argument is the empty string, then the method must
-  return null.</p>
+  <p>The <dfn id=dom-texttrackcuelist-getcuebyid title=dom-TextTrackCueList-getCueById><code>getCueById(<var title="">id</var>)</code></dfn> method, when called with an argument other than the empty string,
+  must return the first <a href=#text-track-cue>text track cue</a> in the list represented by the
+  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object whose <a href=#text-track-cue-identifier>text track cue identifier</a> is <var title="">id</var>, if any, or null otherwise. If the argument is the empty string, then the method
+  must return null.</p>
 
   </div>
 
@@ -33125,58 +33050,46 @@
 
   <p><i>This section is non-normative.</i></p>
 
-  <p>How accurately various aspects of the <a href=#media-element>media element</a>
-  API are implemented is considered a quality-of-implementation issue.</p>
+  <p>How accurately various aspects of the <a href=#media-element>media element</a> API are implemented is
+  considered a quality-of-implementation issue.</p>
 
-  <p>For example, when implementing the <code title=attr-media-buffered>buffered</code> attribute, how precise
-  an implementation reports the ranges that have been buffered depends
-  on how carefully the user agent inspects the data. Since the API
-  reports ranges as times, but the data is obtained in byte streams, a
-  user agent receiving a variable-bit-rate stream might only be able
-  to determine precise times by actually decoding all of the data.
-  User agents aren't required to do this, however; they can instead
-  return estimates (e.g. based on the average bit rate seen so far)
-  which get revised as more information becomes available.</p>
+  <p>For example, when implementing the <code title=attr-media-buffered>buffered</code> attribute,
+  how precise an implementation reports the ranges that have been buffered depends on how carefully
+  the user agent inspects the data. Since the API reports ranges as times, but the data is obtained
+  in byte streams, a user agent receiving a variable-bit-rate stream might only be able to determine
+  precise times by actually decoding all of the data. User agents aren't required to do this,
+  however; they can instead return estimates (e.g. based on the average bit rate seen so far) which
+  get revised as more information becomes available.</p>
 
-  <p>As a general rule, user agents are urged to be conservative
-  rather than optimistic. For example, it would be bad to report that
-  everything had been buffered when it had not.</p>
+  <p>As a general rule, user agents are urged to be conservative rather than optimistic. For
+  example, it would be bad to report that everything had been buffered when it had not.</p>
 
-  <p>Another quality-of-implementation issue would be playing a video
-  backwards when the codec is designed only for forward playback (e.g.
-  there aren't many key frames, and they are far apart, and the
-  intervening frames only have deltas from the previous frame). User
-  agents could do a poor job, e.g. only showing key frames; however,
-  better implementations would do more work and thus do a better job,
-  e.g. actually decoding parts of the video forwards, storing the
-  complete frames, and then playing the frames backwards.</p>
+  <p>Another quality-of-implementation issue would be playing a video backwards when the codec is
+  designed only for forward playback (e.g. there aren't many key frames, and they are far apart, and
+  the intervening frames only have deltas from the previous frame). User agents could do a poor job,
+  e.g. only showing key frames; however, better implementations would do more work and thus do a
+  better job, e.g. actually decoding parts of the video forwards, storing the complete frames, and
+  then playing the frames backwards.</p>
 
-  <p>Similarly, while implementations are allowed to drop buffered
-  data at any time (there is no requirement that a user agent keep all
-  the media data obtained for the lifetime of the media element), it
-  is again a quality of implementation issue: user agents with
-  sufficient resources to keep all the data around are encouraged to
-  do so, as this allows for a better user experience. For example, if
-  the user is watching a live stream, a user agent could allow the
-  user only to view the live video; however, a better user agent would
-  buffer everything and allow the user to seek through the earlier
-  material, pause it, play it forwards and backwards, etc.</p>
+  <p>Similarly, while implementations are allowed to drop buffered data at any time (there is no
+  requirement that a user agent keep all the media data obtained for the lifetime of the media
+  element), it is again a quality of implementation issue: user agents with sufficient resources to
+  keep all the data around are encouraged to do so, as this allows for a better user experience. For
+  example, if the user is watching a live stream, a user agent could allow the user only to view the
+  live video; however, a better user agent would buffer everything and allow the user to seek
+  through the earlier material, pause it, play it forwards and backwards, etc.</p>
 
-  <p>When multiple tracks are synchronised with a
-  <code><a href=#mediacontroller>MediaController</a></code>, it is possible for scripts to add and
-  remove media elements from the <code><a href=#mediacontroller>MediaController</a></code>'s list
-  of <a href=#slaved-media-elements>slaved media elements</a>, even while these tracks are
-  playing. How smoothly the media plays back in such situations is
-  another quality-of-implementation issue.</p>
+  <p>When multiple tracks are synchronised with a <code><a href=#mediacontroller>MediaController</a></code>, it is possible for
+  scripts to add and remove media elements from the <code><a href=#mediacontroller>MediaController</a></code>'s list of
+  <a href=#slaved-media-elements>slaved media elements</a>, even while these tracks are playing. How smoothly the media
+  plays back in such situations is another quality-of-implementation issue.</p>
 
-  <hr><p>When a <a href=#media-element>media element</a> that is paused is <a href=#remove-an-element-from-a-document title="remove an element from a document">removed from a
-  document</a> and not reinserted before the next time the
-  <a href=#event-loop>event loop</a> spins, implementations that are resource
-  constrained are encouraged to take that opportunity to release all
-  hardware resources (like video planes, networking resources, and
-  data buffers) used by the <a href=#media-element>media element</a>. (User agents
-  still have to keep track of the playback position and so forth,
-  though, in case playback is later restarted.)</p>
+  <hr><p>When a <a href=#media-element>media element</a> that is paused is <a href=#remove-an-element-from-a-document title="remove an element from a
+  document">removed from a document</a> and not reinserted before the next time the <a href=#event-loop>event
+  loop</a> spins, implementations that are resource constrained are encouraged to take that
+  opportunity to release all hardware resources (like video planes, networking resources, and data
+  buffers) used by the <a href=#media-element>media element</a>. (User agents still have to keep track of the
+  playback position and so forth, though, in case playback is later restarted.)</p>
 
   </div>
   
@@ -37509,15 +37422,15 @@
   instructions to the <a href=#scratch-bitmap>scratch bitmap</a>'s <a href=#list-of-pending-interface-actions>list of pending interface actions</a>
   that run the following steps:</p>
 
-  <ol><li><p>Let <var title="">the specified rectangle</var> be the
-   rectangle of the bounding box of the intended path.</li>
+  <ol><li><p>Let <var title="">the specified rectangle</var> be the rectangle of the bounding box of
+   the intended path.</li>
 
-   <li><p>Let <var title="">notional child</var> be a hypothetical
-   element that is a rendered child of the <code><a href=#the-canvas-element>canvas</a></code> element
-   whose dimensions are those of <var title="">the specified
+   <li><p>Let <var title="">notional child</var> be a hypothetical element that is a rendered child
+   of the <code><a href=#the-canvas-element>canvas</a></code> element whose dimensions are those of <var title="">the specified
    rectangle</var>.</li>
 
-   <li><p><a href=#scroll-an-element-into-view title="scroll an element into view">Scroll <var title="">notional child</var> into view</a> with the <var title="">align to top flag</var> set.</p>
+   <li><p><a href=#scroll-an-element-into-view title="scroll an element into view">Scroll <var title="">notional child</var> into
+   view</a> with the <var title="">align to top flag</var> set.</p>
 
    <li><p>Optionally, <a href=#inform>inform the user</a> that the caret or selection (or both)
    cover <var title="">the specified rectangle</var> of the canvas. If the
@@ -37525,17 +37438,14 @@
    until the next time the <a href=#event-loop>event loop</a> reaches its "update the rendering" step to
    optionally inform the user.</li>
 
-  </ol><p class=note id=inform>"Inform the user", as used in this
-  section, could mean calling a system accessibility API, which would
-  notify assistive technologies such as magnification tools. To
-  properly drive magnification based on a focus change, a system
-  accessibility API driving a screen magnifier needs the bounds for
-  the newly focused object. The methods above are intended to enable
-  this by allowing the user agent to report the bounding box of the
-  path used to render the focus ring as the bounds of the <var title="">element</var> element passed as an argument, if that
-  element is focused, and the bounding box of the area to which the
-  user agent is scrolling as the bounding box of the current
-  selection.</p>
+  </ol><p class=note id=inform>"Inform the user", as used in this section, could mean calling a
+  system accessibility API, which would notify assistive technologies such as magnification tools.
+  To properly drive magnification based on a focus change, a system accessibility API driving a
+  screen magnifier needs the bounds for the newly focused object. The methods above are intended to
+  enable this by allowing the user agent to report the bounding box of the path used to render the
+  focus ring as the bounds of the <var title="">element</var> element passed as an argument, if that
+  element is focused, and the bounding box of the area to which the user agent is scrolling as the
+  bounding box of the current selection.</p>
 
   <hr><p>The <dfn id=dom-context-2d-clip title=dom-context-2d-clip><code>clip()</code></dfn> method must create a new
   <dfn id=clipping-region>clipping region</dfn> by calculating the intersection of the current clipping region and the
@@ -37543,9 +37453,8 @@
   be implicitly closed when computing the clipping region, without affecting the actual subpaths.
   The new clipping region replaces the current clipping region.</p>
 
-  <p>When the context is initialized, the clipping region must be set
-  to the rectangle with the top left corner at (0,0) and the width and
-  height of the coordinate space.</p>
+  <p>When the context is initialized, the clipping region must be set to the rectangle with the top
+  left corner at (0,0) and the width and height of the coordinate space.</p>
 
   <!-- v6
    Jordan OSETE suggests:
@@ -68883,110 +68792,97 @@
 
   <div class=impl>
 
-  <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 must initially be true, a <dfn id=fired-unload>fired unload</dfn> flag,
-  which must initially be false, and a <dfn id=page-showing>page showing</dfn> flag,
-  which must initially be false.</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 must initially be
+  true, a <dfn id=fired-unload>fired unload</dfn> flag, which must initially be false, and a <dfn id=page-showing>page showing</dfn>
+  flag, which must initially be false.</p>
 
-  <p><a href=#event-loop title="event loop">Event loops</a> have a
-  <dfn id=termination-nesting-level>termination nesting level</dfn> counter, which must initially
-  be zero.</p>
+  <p><a href=#event-loop title="event loop">Event loops</a> have a <dfn id=termination-nesting-level>termination nesting level</dfn>
+  counter, which must initially be zero.</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>
+  <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>
 
-  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
-   <li><p>Increase the <code><a href=#document>Document</a></code>'s
-   <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by one.</li>
+   <li><p>Increase the <code><a href=#document>Document</a></code>'s <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by
+   one.</li>
 
    <li><p>Let <var title="">event</var> be a new <a href=#concept-events-trusted title=concept-events-trusted>trusted</a>
    <code><a href=#beforeunloadevent>BeforeUnloadEvent</a></code> event object with the name <code title=event-beforeunload>beforeunload</code>, which does not bubble but is cancelable.</li>
 
    <li><p><i>Dispatch</i>: <a href=#concept-event-dispatch title=concept-event-dispatch>Dispatch</a> <var title="">event</var> at the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
    <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><a href=#concept-document-salvageable>salvageable</a></var> state to
+   <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><a href=#concept-document-salvageable>salvageable</a></var> state to
    false.</li>
 
    <li>
 
-    <p>If the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code>
-    attribute of the <var title="">event</var> object is not the empty
-    string, or if the event was canceled, then the user agent should
-    ask the user to confirm that they wish to unload the document.</p>
+    <p>If the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code> attribute of the
+    <var title="">event</var> object is not the empty string, or if the event was canceled, then the
+    user agent should ask the user to confirm that they wish to unload the document.</p>
 
-    <p>The prompt shown by the user agent may include the string of
-    the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code>
-    attribute, or some leading subset thereof. (A user agent may want
-    to truncate the string to 1024 characters for display, for
+    <p>The prompt shown by the user agent may include the string of the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code> attribute, or some leading subset
+    thereof. (A user agent may want to truncate the string to 1024 characters for display, for
     instance.)</p>
 
-    <p>The user agent must <a href=#pause>pause</a> while waiting for the
-    user's response.</p>
+    <p>The user agent must <a href=#pause>pause</a> while waiting for the user's response.</p>
 
-    <p>If the user did not confirm the page navigation, then the user
-    agent <dfn id=refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</dfn>.</p>
+    <p>If the user did not confirm the page navigation, then the user agent <dfn id=refused-to-allow-the-document-to-be-unloaded>refused to allow
+    the document to be unloaded</dfn>.</p>
 
    </li>
 
-   <li><p>If this algorithm was invoked by another instance of the
-   "prompt to unload a document" algorithm (i.e. through the steps
-   below that invoke this algorithm for all descendant browsing
+   <li><p>If this algorithm was invoked by another instance of the "prompt to unload a document"
+   algorithm (i.e. through the steps below that invoke this algorithm for all descendant browsing
    contexts), then jump to the step labeled <i>end</i>.</li>
 
-   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
-   descendant browsing contexts</a> of the
-   <code><a href=#document>Document</a></code>.</li>
+   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the descendant browsing
+   contexts</a> of the <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
-    <p>If <var title="">descendants</var> is not an empty list, then
-    for each <a href=#browsing-context>browsing context</a> <var title="">b</var> in
-    <var title="">descendants</var> run the following substeps:</p>
+    <p>If <var title="">descendants</var> is not an empty list, then for each <a href=#browsing-context>browsing
+    context</a> <var title="">b</var> in <var title="">descendants</var> run the following
+    substeps:</p>
 
-    <ol><li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to
-     unload</a> the <a href=#active-document>active document</a> of the
-     <a href=#browsing-context>browsing context</a> <var title="">b</var>. If the user
-     <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
-     the user implicitly also <a href=#refused-to-allow-the-document-to-be-unloaded title="refused to allow the
-     document to be unloaded">refused to allow <em>this</em> document
-     to be unloaded</a>; jump to the step labeled <i>end</i>.</p>
+    <ol><li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to unload</a> the <a href=#active-document>active
+     document</a> of the <a href=#browsing-context>browsing context</a> <var title="">b</var>. If the user
+     <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then the user implicitly also <a href=#refused-to-allow-the-document-to-be-unloaded title="refused to allow the document to be unloaded">refused to allow <em>this</em> document to
+     be unloaded</a>; jump to the step labeled <i>end</i>.</p>
 
-     <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><a href=#concept-document-salvageable>salvageable</a></var> state of
-     <em>this</em> document to false also.</li>
+     <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><a href=#concept-document-salvageable>salvageable</a></var> state of <em>this</em> document
+     to false also.</li>
 
     </ol></li>
 
-   <li><p><i>End</i>: Decrease the <code><a href=#document>Document</a></code>'s
-   <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by one.</li>
+   <li><p><i>End</i>: Decrease the <code><a href=#document>Document</a></code>'s <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload
+   counter</a> by one.</li>
 
-  </ol><p>When a user agent is to <dfn id=unload-a-document>unload a document</dfn>, it must run
-  the following steps. These steps are passed an argument, <var title="">recycle</var>, which is either true or false, indicating
-  whether the <code><a href=#document>Document</a></code> object is going to be
-  re-used. (This is set by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.)</p>
+  </ol><p>When a user agent is to <dfn id=unload-a-document>unload a document</dfn>, it must run the following steps. These
+  steps are passed an argument, <var title="">recycle</var>, which is either true or false,
+  indicating whether the <code><a href=#document>Document</a></code> object is going to be re-used. (This is set by the
+  <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.)</p>
 
-  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
-   <li><p>Increase the <code><a href=#document>Document</a></code>'s
-   <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by one.</li>
+   <li><p>Increase the <code><a href=#document>Document</a></code>'s <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by
+   one.</li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a>
-   flag is false, then jump to the step labeled <i>unload event</i>
-   below (i.e. skip firing the <code title=event-pagehide><a href=#event-pagehide>pagehide</a></code> even and don't rerun the
-   <a href=#unloading-document-visibility-change-steps>unloading document visibility change steps</a>).</li>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a> flag is false, then jump to the
+   step labeled <i>unload event</i> below (i.e. skip firing the <code title=event-pagehide><a href=#event-pagehide>pagehide</a></code> even and don't rerun the <a href=#unloading-document-visibility-change-steps>unloading document
+   visibility change steps</a>).</li>
 
-   <li><p>Set the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a>
-   flag to false.</li>
+   <li><p>Set the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a> flag to false.</li>
 
    <li><p><a href=#concept-event-fire title=concept-event-fire>Fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event with the name <code title=event-pagehide><a href=#event-pagehide>pagehide</a></code> at the <code><a href=#window>Window</a></code> object of the
    <code><a href=#document>Document</a></code>, but with its <code title=dom-event-target><a href=#dom-event-target>target</a></code> set to the
@@ -68997,59 +68893,51 @@
 
    <li>
 
-    <p>Run any <dfn id=unloading-document-visibility-change-steps>unloading document visibility change steps</dfn>
-    for <code><a href=#document>Document</a></code> that are defined by <a href=#other-applicable-specifications>other
-    applicable specifications</a>.</p>
+    <p>Run any <dfn id=unloading-document-visibility-change-steps>unloading document visibility change steps</dfn> for <code><a href=#document>Document</a></code> that
+    are defined by <a href=#other-applicable-specifications>other applicable specifications</a>.</p>
 
-    <p class=note>This is specifically intended for use by the Page
-    Visibility specification. <a href=#refsPAGEVIS>[PAGEVIS]</a></p>
+    <p class=note>This is specifically intended for use by the Page Visibility specification. <a href=#refsPAGEVIS>[PAGEVIS]</a></p>
 
    </li>
 
-   <li><p><i>Unload event</i>: If the <code><a href=#document>Document</a></code>'s
-   <a href=#fired-unload>fired unload</a> flag is false, <a href=#fire-a-simple-event>fire a simple
-   event</a> named <code title=event-unload>unload</code> at the
+   <li><p><i>Unload event</i>: If the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a> flag is
+   false, <a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-unload>unload</code> at the
    <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
-   <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><a href=#concept-document-salvageable>salvageable</a></var> state to
-   false and set the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a>
-   flag to true.</li>
+   <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><a href=#concept-document-salvageable>salvageable</a></var>
+   state to false and set the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a> flag to
+   true.</li>
 
-   <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
-   <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>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for <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>If this algorithm was invoked by another instance of the
-   "unload a document" algorithm (i.e. by the steps below that invoke
-   this algorithm for all descendant browsing contexts), then jump to
-   the step labeled <i>end</i>.</li>
+   <li><p>If this algorithm was invoked by another instance of the "unload a document" algorithm
+   (i.e. by the steps below that invoke this algorithm for all descendant browsing contexts), then
+   jump to the step labeled <i>end</i>.</li>
 
-   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
-   descendant browsing contexts</a> of the
-   <code><a href=#document>Document</a></code>.</li>
+   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the descendant browsing
+   contexts</a> of the <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
-    <p>If <var title="">descendants</var> is not an empty list, then
-    for each <a href=#browsing-context>browsing context</a> <var title="">b</var> in
-    <var title="">descendants</var> run the following substeps:</p>
+    <p>If <var title="">descendants</var> is not an empty list, then for each <a href=#browsing-context>browsing
+    context</a> <var title="">b</var> in <var title="">descendants</var> run the following
+    substeps:</p>
 
-    <ol><li><p><a href=#unload-a-document title="unload a document">Unload</a> the
-     <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing context</a>
-     <var title="">b</var> with the <var title="">recycle</var>
+    <ol><li><p><a href=#unload-a-document title="unload a document">Unload</a> the <a href=#active-document>active document</a> of the
+     <a href=#browsing-context>browsing context</a> <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</li>
 
-     <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><a href=#concept-document-salvageable>salvageable</a></var> state of
-     <em>this</em> document to false also.</li>
+     <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><a href=#concept-document-salvageable>salvageable</a></var> state of <em>this</em> document
+     to false also.</li>
 
     </ol></li>
 
@@ -71856,51 +71744,44 @@
 
   <h5 id=definitions-1><span class=secno>7.1.4.1 </span>Definitions</h5>
 
-  <p>To coordinate events, user interaction, scripts, rendering,
-  networking, and so forth, user agents must use <dfn id=event-loop title="event
-  loop">event loops</dfn> as described in this section.</p>
+  <p>To coordinate events, user interaction, scripts, rendering, networking, and so forth, user
+  agents must use <dfn id=event-loop title="event loop">event loops</dfn> as described in this section.</p>
 
-  <p>There must be at least one <a href=#event-loop>event loop</a> per user
-  agent, and at most one <a href=#event-loop>event loop</a> per <a href=#unit-of-related-similar-origin-browsing-contexts>unit of
-  related similar-origin browsing contexts</a>.</p>
+  <p>There must be at least one <a href=#event-loop>event loop</a> per user agent, and at most one <a href=#event-loop>event
+  loop</a> per <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a>.</p>
 
-  <p class=note>When there is more than one <a href=#event-loop>event loop</a>
-  for a <a href=#unit-of-related-browsing-contexts>unit of related browsing contexts</a>, complications
-  arise when a <a href=#browsing-context>browsing context</a> in that group is <a href=#navigate title=navigate>navigated</a> such that it switches from one
-  <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> to
-  another. This specification does not currently describe how to
-  handle these complications.</p>
+  <p class=note>When there is more than one <a href=#event-loop>event loop</a> for a <a href=#unit-of-related-browsing-contexts>unit of related
+  browsing contexts</a>, complications arise when a <a href=#browsing-context>browsing context</a> in that group
+  is <a href=#navigate title=navigate>navigated</a> such that it switches from one <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related
+  similar-origin browsing contexts</a> to another. This specification does not currently describe
+  how to handle these complications.</p>
 
-  <p>An <a href=#event-loop>event loop</a> always has at least one <a href=#browsing-context>browsing
-  context</a>. If an <a href=#event-loop>event loop</a>'s <a href=#browsing-context title="browsing context">browsing contexts</a> all go away, then
-  the <a href=#event-loop>event loop</a> goes away as well. A <a href=#browsing-context>browsing
-  context</a> always has an <a href=#event-loop>event loop</a> coordinating
-  its activities.</p>
+  <p>An <a href=#event-loop>event loop</a> always has at least one <a href=#browsing-context>browsing context</a>. If an
+  <a href=#event-loop>event loop</a>'s <a href=#browsing-context title="browsing context">browsing contexts</a> all go away,
+  then the <a href=#event-loop>event loop</a> goes away as well. A <a href=#browsing-context>browsing context</a> always has an
+  <a href=#event-loop>event loop</a> coordinating its activities.</p>
 
+  <p>An <a href=#event-loop>event loop</a> has one or more <dfn id=task-queue title="task queue">task queues</dfn>. A
+  <a href=#task-queue>task queue</a> is an ordered list of <dfn id=concept-task title=concept-task>tasks</dfn>, which can
+  be:</p>
 
-  <p>An <a href=#event-loop>event loop</a> has one or more <dfn id=task-queue title="task
-  queue">task queues</dfn>. A <a href=#task-queue>task queue</a> is an ordered
-  list of <dfn id=concept-task title=concept-task>tasks</dfn>, which can be:</p>
-
   <dl><dt>Events</dt>
 
    <dd>
 
-    <p>Asynchronously dispatching an <code><a href=#event>Event</a></code> object at a
-    particular <code><a href=#eventtarget>EventTarget</a></code> object is a task.</p>
+    <p>Asynchronously dispatching an <code><a href=#event>Event</a></code> object at a particular
+    <code><a href=#eventtarget>EventTarget</a></code> object is a task.</p>
 
-    <p class=note>Not all events are dispatched using the <a href=#task-queue>task
-    queue</a>, many are dispatched synchronously during other
-    tasks.</p>
+    <p class=note>Not all events are dispatched using the <a href=#task-queue>task queue</a>, many are
+    dispatched synchronously during other tasks.</p>
 
    </dd>
 
 
    <dt>Parsing</dt>
 
-   <dd><p>The <a href=#html-parser>HTML parser</a> tokenizing one or more bytes,
-   and then processing any resulting tokens, is typically a
-   task.</dd>
+   <dd><p>The <a href=#html-parser>HTML parser</a> tokenizing one or more bytes, and then processing any
+   resulting tokens, is typically a task.</dd>
 
 
    <dt>Callbacks</dt>
@@ -71910,81 +71791,64 @@
 
    <dt>Using a resource</dt>
 
-   <dd><p>When an algorithm <a href=#fetch title=fetch>fetches</a> a
-   resource, if the fetching occurs asynchronously then the processing
-   of the resource once some or all of the resource is available is a
-   task.</dd>
+   <dd><p>When an algorithm <a href=#fetch title=fetch>fetches</a> a resource, if the fetching occurs
+   asynchronously then the processing of the resource once some or all of the resource is available
+   is a task.</dd>
 
 
    <dt>Reacting to DOM manipulation</dt>
 
-   <dd><p>Some elements have tasks that trigger in response to DOM
-   manipulation, e.g. when that element is <a href=#insert-an-element-into-a-document title="insert an
-   element into a document">inserted into the document</a>.</p>
+   <dd><p>Some elements have tasks that trigger in response to DOM manipulation, e.g. when that
+   element is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted into the document</a>.</p>
 
-  </dl><p>When a user agent is to <dfn id=queue-a-task>queue a task</dfn>, it must add the
-  given task to one of the <a href=#task-queue title="task queue">task queues</a>
-  of the relevant <a href=#event-loop>event loop</a>. All the tasks from one
-  particular <dfn id=task-source>task source</dfn> (e.g. the callbacks generated by
-  timers, the events fired for mouse movements, the tasks queued for
-  the parser) must always be added to the same <a href=#task-queue>task
-  queue</a>, but tasks from different <a href=#task-source title="task
-  source">task sources</a> may be placed in different <a href=#task-queue title="task queue">task queues</a>.</p>
+  </dl><p>When a user agent is to <dfn id=queue-a-task>queue a task</dfn>, it must add the given task to one of the <a href=#task-queue title="task queue">task queues</a> of the relevant <a href=#event-loop>event loop</a>. All the tasks from
+  one particular <dfn id=task-source>task source</dfn> (e.g. the callbacks generated by timers, the events fired
+  for mouse movements, the tasks queued for the parser) must always be added to the same <a href=#task-queue>task
+  queue</a>, but tasks from different <a href=#task-source title="task source">task sources</a> may be placed
+  in different <a href=#task-queue title="task queue">task queues</a>.</p>
 
-  <p class=example>For example, a user agent could have one
-  <a href=#task-queue>task queue</a> for mouse and key events (the <a href=#user-interaction-task-source>user
-  interaction task source</a>), and another for everything
-  else. The user agent could then give keyboard and mouse events
-  preference over other tasks three quarters of the time, keeping the
-  interface responsive but not starving other task queues, and never
-  processing events from any one <a href=#task-source>task source</a> out of
-  order.</p>
+  <p class=example>For example, a user agent could have one <a href=#task-queue>task queue</a> for mouse and
+  key events (the <a href=#user-interaction-task-source>user interaction task source</a>), and another for everything else. The
+  user agent could then give keyboard and mouse events preference over other tasks three quarters of
+  the time, keeping the interface responsive but not starving other task queues, and never
+  processing events from any one <a href=#task-source>task source</a> out of order.</p>
 
-  <p>Each <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a> onto a <a href=#task-queue>task queue</a> of
-  an <a href=#event-loop>event loop</a> defined by this specification is
-  associated with a <code><a href=#document>Document</a></code>; if the task was queued in
-  the context of an element, then it is the element's
-  <code><a href=#document>Document</a></code>; if the task was queued in the context of a
-  <a href=#browsing-context>browsing context</a>, then it is the <a href=#browsing-context>browsing
-  context</a>'s <a href=#active-document>active document</a> at the time the task
-  was queued; if the task was queued by or for a <a href=#concept-script title=concept-script>script</a> then the document is the
-  <a href="#script's-document">script's document</a>.</p>
+  <p>Each <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a>
+  onto a <a href=#task-queue>task queue</a> of an <a href=#event-loop>event loop</a> defined by this specification is
+  associated with a <code><a href=#document>Document</a></code>; if the task was queued in the context of an element, then
+  it is the element's <code><a href=#document>Document</a></code>; if the task was queued in the context of a
+  <a href=#browsing-context>browsing context</a>, then it is the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
+  document</a> at the time the task was queued; if the task was queued by or for a <a href=#concept-script title=concept-script>script</a> then the document is the <a href="#script's-document">script's document</a>.</p>
 
-  <p>A user agent may have one <dfn id=storage-mutex>storage mutex</dfn>. This mutex is
-  used to control access to shared state like cookies. At any one
-  point, the <a href=#storage-mutex>storage mutex</a> is either free, or owned by a
-  particular <a href=#event-loop>event loop</a> or instance of the <a href=#fetch title=fetch>fetching</a> algorithm.</p>
+  <p>A user agent may have one <dfn id=storage-mutex>storage mutex</dfn>. This mutex is used to control access to
+  shared state like cookies. At any one point, the <a href=#storage-mutex>storage mutex</a> is either free, or
+  owned by a particular <a href=#event-loop>event loop</a> or instance of the <a href=#fetch title=fetch>fetching</a> algorithm.</p>
 
-  <p>If a user agent does not implement a <a href=#storage-mutex>storage mutex</a>,
-  it is exempt from implementing the requirements that require it to
-  acquire or release it.</p>
+  <p>If a user agent does not implement a <a href=#storage-mutex>storage mutex</a>, it is exempt from implementing
+  the requirements that require it to acquire or release it.</p>
 
-  <p class=note>User agent implementors have to make a choice
-  between two evils. On the one hand, not implementing the storage
-  mutex means that there is a risk of data corruption: a site could,
-  for instance, try to read a cookie, increment its value, then write
-  it back out, using the new value of the cookie as a unique
-  identifier for the session; if the site does this twice in two
-  different browser windows at the same time, it might end up using
-  the same "unique" identifier for both sessions, with potentially
-  disastrous effects. On the other hand, implementing the storage
-  mutex has potentially serious performance implications: whenever a
-  site uses Web Storage or cookies, all other sites that try to use
-  Web Storage or cookies are blocked until the first site finishes.</p>
+  <p class=note>User agent implementors have to make a choice between two evils. On the one hand,
+  not implementing the storage mutex means that there is a risk of data corruption: a site could,
+  for instance, try to read a cookie, increment its value, then write it back out, using the new
+  value of the cookie as a unique identifier for the session; if the site does this twice in two
+  different browser windows at the same time, it might end up using the same "unique" identifier for
+  both sessions, with potentially disastrous effects. On the other hand, implementing the storage
+  mutex has potentially serious performance implications: whenever a site uses Web Storage or
+  cookies, all other sites that try to use Web Storage or cookies are blocked until the first site
+  finishes.</p>
 
-  <p>Whenever a <a href=#concept-script title=concept-script>script</a> calls into
-  a <a href=#plugin>plugin</a>, and whenever a <a href=#plugin>plugin</a> calls into
-  a <a href=#concept-script title=concept-script>script</a>, the user agent must
-  release the <a href=#storage-mutex>storage mutex</a>.</p>
+  <p>Whenever a <a href=#concept-script title=concept-script>script</a> calls into a <a href=#plugin>plugin</a>, and
+  whenever a <a href=#plugin>plugin</a> calls into a <a href=#concept-script title=concept-script>script</a>, the user
+  agent must release the <a href=#storage-mutex>storage mutex</a>.</p>
 
 
   <h5 id=processing-model-4><span class=secno>7.1.4.2 </span>Processing model</h5>
 
-  <p>An <a href=#event-loop>event loop</a> must continually run through the
-  following steps for as long as it exists:</p>
+  <p>An <a href=#event-loop>event loop</a> must continually run through the following steps for as long as it
+  exists:</p>
 
   <ol><!-- if you add a step here, make sure to go through the spec updating references to the "first
-   step" of the event loop --><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one of the <a href=#event-loop>event
+   step" or "step 1" of the event loop --><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one of the <a href=#event-loop>event
    loop</a>'s <a href=#task-queue title="task queue">task queues</a>, if any, ignoring tasks whose
    associated <code><a href=#document>Document</a></code>s are not <a href=#fully-active>fully active</a>. The user agent may pick any
    <a href=#task-queue>task queue</a>.</li>
@@ -72002,28 +71866,23 @@
 
    <li><p><a href=#provide-a-stable-state>Provide a stable state</a>.</li>
 
-   <li><p>If necessary, update the rendering or user interface of any
-   <code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
-   the current state.</li>
+   <li><p>If necessary, update the rendering or user interface of any <code><a href=#document>Document</a></code> or
+   <a href=#browsing-context>browsing context</a> to reflect the current state.</li>
 
-   <li><p>Return to the first step of the <a href=#event-loop>event
-   loop</a>.</li>
+   <li><p>Return to the first step of the <a href=#event-loop>event loop</a>.</li>
 
-  </ol><hr><p>When a user agent is to <dfn id=perform-a-microtask-checkpoint>perform a microtask
-  checkpoint</dfn>, if the <a href=#running-mutation-observers>running mutation observers</a>
-  flag is false, then the user agent must run the following steps:</p>
+  </ol><hr><p>When a user agent is to <dfn id=perform-a-microtask-checkpoint>perform a microtask checkpoint</dfn>, if the <a href=#running-mutation-observers>running
+  mutation observers</a> flag is false, then the user agent must run the following steps:</p>
 
-  <ol><li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be
-   true.</li>
+  <ol><li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be true.</li>
 
    <li><p><a href=#sort-the-tables-with-pending-sorts>Sort the tables with pending sorts</a>.</li>
 
    <li>
 
-    <p><a href=#concept-mo-invoke title=concept-mo-invoke>Invoke
-    <code>MutationObserver</code> objects</a> for the <a href=#unit-of-related-similar-origin-browsing-contexts>unit
-    of related similar-origin browsing contexts</a> to which the
-    <a href="#script's-browsing-context">script's browsing context</a> belongs.</p>
+    <p><a href=#concept-mo-invoke title=concept-mo-invoke>Invoke <code>MutationObserver</code> objects</a> for the
+    <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> to which the <a href="#script's-browsing-context">script's
+    browsing context</a> belongs.</p>
 
     <p class=note>This will typically invoke scripted callbacks, which calls the <a href=#jump-to-a-code-entry-point>jump to a
     code entry-point</a> algorithm, which calls this <a href=#perform-a-microtask-checkpoint>perform a microtask checkpoint</a>
@@ -72032,8 +71891,7 @@
 
    </li>
 
-   <li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be
-   false.</li>
+   <li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be false.</li>
 
   </ol><hr><p>When the user agent is to <dfn id=provide-a-stable-state>provide a stable state</dfn>, if any asynchronously-running
   algorithms are <dfn id=await-a-stable-state title="await a stable state">awaiting a stable state</dfn>, then the user
@@ -72046,66 +71904,52 @@
   <p class=note>Steps in <a href=#synchronous-section title="synchronous section">synchronous sections</a> are marked
   with ⌛.</p>
 
-  <hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until
-  a condition <var title="">goal</var> is met, the user agent must run
-  the following steps:</p>
+  <hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until a condition <var title="">goal</var> is met, the user agent must run the following steps:</p>
 
-  <ol><li><p>Let <var title="">task source</var> be the <a href=#task-source>task
-   source</a> of the currently running <a href=#concept-task title=concept-task>task</a>.</li>
+  <ol><li><p>Let <var title="">task source</var> be the <a href=#task-source>task source</a> of the currently
+   running <a href=#concept-task title=concept-task>task</a>.</li>
 
    <li>
 
     <p>Stop the currently running <a href=#concept-task title=concept-task>task</a>, allowing the <a href=#event-loop>event
-    loop</a> to resume, but continue these steps
-    asynchronously.</p>
+    loop</a> to resume, but continue these steps asynchronously.</p>
 
-    <p class=note>This causes the <a href=#event-loop>event loop</a> to move on
-    to the second step of its processing model (defined above).</p>
+    <p class=note>This causes the <a href=#event-loop>event loop</a> to move on to the second step of its
+    processing model (defined above).</p>
 
    </li>
 
-   <li><p>Wait until the condition <var title="">goal</var> is
-   met.</li>
+   <li><p>Wait until the condition <var title="">goal</var> is met.</li>
 
-   <li><p><a href=#queue-a-task>Queue a task</a> to continue running these steps,
-   using the <a href=#task-source>task source</a> <var title="">task
-   source</var>. Wait until this task runs before continuing these
+   <li><p><a href=#queue-a-task>Queue a task</a> to continue running these steps, using the <a href=#task-source>task
+   source</a> <var title="">task source</var>. Wait until this task runs before continuing these
    steps.</li>
 
    <li><p>Return to the caller.</li>
 
-  </ol><hr><p>Some of the algorithms in this specification, for historical
-  reasons, require the user agent to <dfn id=pause>pause</dfn> while running a
-  <a href=#concept-task title=concept-task>task</a> until a condition <var title="">goal</var> is met. This means running the following
-  steps:</p>
+  </ol><hr><p>Some of the algorithms in this specification, for historical reasons, require the user agent to
+  <dfn id=pause>pause</dfn> while running a <a href=#concept-task title=concept-task>task</a> until a condition <var title="">goal</var> is met. This means running the following steps:</p>
 
-  <ol><li><p>If any asynchronously-running algorithms are <a href=#await-a-stable-state title="await a stable state">awaiting a stable state</a>, then
-   run their <a href=#synchronous-section>synchronous section</a> and then resume running
-   their asynchronous algorithm. (See the <a href=#event-loop>event loop</a>
-   processing model definition above for details.)</p>
+  <ol><li><p>If any asynchronously-running algorithms are <a href=#await-a-stable-state title="await a stable state">awaiting a
+   stable state</a>, then run their <a href=#synchronous-section>synchronous section</a> and then resume running
+   their asynchronous algorithm. (See the <a href=#event-loop>event loop</a> processing model definition above
+   for details.)</p>
 
-   <li><p>If necessary, update the rendering or user interface of any
-   <code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
-   the current state.</li>
+   <li><p>If necessary, update the rendering or user interface of any <code><a href=#document>Document</a></code> or
+   <a href=#browsing-context>browsing context</a> to reflect the current state.</li>
 
-   <li><p>Wait until the condition <var title="">goal</var> is met.
-   While a user agent has a paused <a href=#concept-task title=concept-task>task</a>, the corresponding <a href=#event-loop>event
-   loop</a> must not run further <a href=#concept-task title=concept-task>tasks</a>, and any script in the currently
-   running <a href=#concept-task title=concept-task>task</a> must block. User
-   agents should remain responsive to user input while paused,
-   however, albeit in a reduced capacity since the <a href=#event-loop>event
-   loop</a> will not be doing anything.</li>
+   <li><p>Wait until the condition <var title="">goal</var> is met. While a user agent has a paused
+   <a href=#concept-task title=concept-task>task</a>, the corresponding <a href=#event-loop>event loop</a> must not run
+   further <a href=#concept-task title=concept-task>tasks</a>, and any script in the currently running <a href=#concept-task title=concept-task>task</a> must block. User agents should remain responsive to user input
+   while paused, however, albeit in a reduced capacity since the <a href=#event-loop>event loop</a> will not be
+   doing anything.</li>
 
-  </ol><hr><p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as
-  part of running a <a href=#concept-task title=concept-task>task</a>, it must
-  run through the following steps:</p>
+  </ol><hr><p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as part of running a <a href=#concept-task title=concept-task>task</a>, it must run through the following steps:</p>
 
-  <ol><li><p>If the <a href=#storage-mutex>storage mutex</a> is already owned by this
-   <a href=#concept-task title=concept-task>task</a>'s <a href=#event-loop>event loop</a>,
-   then abort these steps.</li>
+  <ol><li><p>If the <a href=#storage-mutex>storage mutex</a> is already owned by this <a href=#concept-task title=concept-task>task</a>'s <a href=#event-loop>event loop</a>, then abort these steps.</li>
 
-   <li><p>Otherwise, <a href=#pause>pause</a> until the <a href=#storage-mutex>storage
-   mutex</a> can be taken by the <a href=#event-loop>event loop</a>.</li>
+   <li><p>Otherwise, <a href=#pause>pause</a> until the <a href=#storage-mutex>storage mutex</a> can be taken by the
+   <a href=#event-loop>event loop</a>.</li>
 
    <li><p>Take ownership of the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -72116,17 +71960,15 @@
 
   <h5 id=generic-task-sources><span class=secno>7.1.4.3 </span>Generic task sources</h5>
 
-  <p>The following <a href=#task-source title="task source">task sources</a> are
-  used by a number of mostly unrelated features in this and other
-  specifications.</p>
+  <p>The following <a href=#task-source title="task source">task sources</a> are used by a number of mostly
+  unrelated features in this and other specifications.</p>
 
   <dl><dt>The <dfn id=dom-manipulation-task-source>DOM manipulation task source</dfn></dt>
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used for features that react
-    to DOM manipulations, such as things that happen asynchronously
-    when an element is <a href=#insert-an-element-into-a-document title="insert an element into a
+    <p>This <a href=#task-source>task source</a> is used for features that react to DOM manipulations, such as
+    things that happen asynchronously when an element is <a href=#insert-an-element-into-a-document title="insert an element into a
     document">inserted into the document</a>.</p>
 
    </dd>
@@ -72135,14 +71977,12 @@
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used for features that react
-    to user interaction, for example keyboard or mouse input.</p>
+    <p>This <a href=#task-source>task source</a> is used for features that react to user interaction, for
+    example keyboard or mouse input.</p>
 
-    <p>Asynchronous events sent in response to user input (e.g. <code title=event-click><a href=#event-click>click</a></code> events) must be fired using
-    <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a
-    task">queued</a> with the <a href=#user-interaction-task-source>user interaction task
-    source</a>. <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p>
-    <!-- user interaction events integration point -->
+    <p>Asynchronous events sent in response to user input (e.g. <code title=event-click><a href=#event-click>click</a></code> events) must be fired using <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a task">queued</a> with the <a href=#user-interaction-task-source>user
+    interaction task source</a>. <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p> <!-- user
+    interaction events integration point -->
 
    </dd>
 
@@ -72150,19 +71990,16 @@
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used for features that trigger
-    in response to network activity.</p>
+    <p>This <a href=#task-source>task source</a> is used for features that trigger in response to network
+    activity.</p>
 
-    <!-- XHR should use this -->
-
    </dd>
 
    <dt>The <dfn id=history-traversal-task-source>history traversal task source</dfn></dt>
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used to queue calls to <code title=dom-history-back><a href=#dom-history-back>history.back()</a></code> and similar
-    APIs.</p>
+    <p>This <a href=#task-source>task source</a> is used to queue calls to <code title=dom-history-back><a href=#dom-history-back>history.back()</a></code> and similar APIs.</p>
 
    </dd>
 
@@ -73558,11 +73395,11 @@
 
   </dl><div class=impl>
 
-  <p>The <dfn id=dom-alert title=dom-alert><code>alert(<var title="">message</var>)</code></dfn> method, when invoked, must run
-  the following steps:</p>
+  <p>The <dfn id=dom-alert title=dom-alert><code>alert(<var title="">message</var>)</code></dfn> method, when
+  invoked, must run the following steps:</p>
 
-  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting
-   level</a> is non-zero, optionally abort these steps.</li>
+  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> is non-zero,
+   optionally abort these steps.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -73570,18 +73407,16 @@
    to ignore all alerts, and would thus abort at this step whenever the method was
    invoked.)</li>
 
-   <li><p>Show the given <var title="">message</var> to the
-   user.</li>
+   <li><p>Show the given <var title="">message</var> to the user.</li>
 
-   <li><p>Optionally, <a href=#pause>pause</a> while waiting for for the
-   user to acknowledge the message.</li>
+   <li><p>Optionally, <a href=#pause>pause</a> while waiting for for the user to acknowledge the
+   message.</li>
 
-  </ol><p>The <dfn id=dom-confirm title=dom-confirm><code>confirm(<var title="">message</var>)</code></dfn> method, when invoked, must run
-  the following steps:</p>
+  </ol><p>The <dfn id=dom-confirm title=dom-confirm><code>confirm(<var title="">message</var>)</code></dfn> method,
+  when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting
-   level</a> is non-zero, optionally abort these steps, returning
-   false.</li>
+  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> is non-zero,
+   optionally abort these steps, returning false.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -73589,22 +73424,18 @@
    the user the option to ignore all prompts, and would thus abort at this step whenever the method
    was invoked.)</li>
 
-   <li><p>Show the given <var title="">message</var> to the user, and
-   ask the user to respond with a positive or negative
-   response.</li>
+   <li><p>Show the given <var title="">message</var> to the user, and ask the user to respond with a
+   positive or negative response.</li>
 
-   <li><p><a href=#pause>Pause</a> until the user responds either positively
-   or negatively.</li>
+   <li><p><a href=#pause>Pause</a> until the user responds either positively or negatively.</li>
 
-   <li><p>If the user responded positively, return true; otherwise,
-   the user responded negatively: return false.</li>
+   <li><p>If the user responded positively, return true; otherwise, the user responded negatively:
+   return false.</li>
 
-  </ol><p>The <dfn id=dom-prompt title=dom-prompt><code>prompt(<var title="">message</var>, <var title="">default</var>)</code></dfn>
-  method, when invoked, must run the following steps:</p>
+  </ol><p>The <dfn id=dom-prompt title=dom-prompt><code>prompt(<var title="">message</var>, <var title="">default</var>)</code></dfn> method, when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting
-   level</a> is non-zero, optionally abort these steps, returning
-   null.</li>
+  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> is non-zero,
+   optionally abort these steps, returning null.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -73612,16 +73443,14 @@
    user the option to ignore all prompts, and would thus abort at this step whenever the method was
    invoked.)</li>
 
-   <li><p>Show the given <var title="">message</var> to the user, and
-   ask the user to either respond with a string value or abort. The
-   second argument is optional. If the second argument (<var title="">default</var>) is present, then the response must be
-   defaulted to the value given by <var title="">default</var>.</li>
+   <li><p>Show the given <var title="">message</var> to the user, and ask the user to either respond
+   with a string value or abort. The second argument is optional. If the second argument (<var title="">default</var>) is present, then the response must be defaulted to the value given by
+   <var title="">default</var>.</li>
 
-   <li><p><a href=#pause>Pause</a> while waiting for the user's
-   response.</li>
+   <li><p><a href=#pause>Pause</a> while waiting for the user's response.</li>
 
-   <li><p>If the user aborts, then return null; otherwise, return the
-   string that the user responded with.</li>
+   <li><p>If the user aborts, then return null; otherwise, return the string that the user responded
+   with.</li>
 
   </ol></div>
 
@@ -73766,29 +73595,22 @@
 
    <li>
 
-    <p>If the user agent is configured such that this invocation of
-    <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> is
-    somehow disabled, then return the empty string and abort these
-    steps.</p>
+    <p>If the user agent is configured such that this invocation of <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> is somehow disabled, then return the empty
+    string and abort these steps.</p>
 
-    <p class=note>User agents are expected to disable this method in
-    certain cases to avoid user annoyance (e.g. as part of their popup
-    blocker feature). For instance, a user agent could require that a
-    site be white-listed before enabling this method, or the user
-    agent could be configured to only allow one modal dialog at a
-    time.</p>
+    <p class=note>User agents are expected to disable this method in certain cases to avoid user
+    annoyance (e.g. as part of their popup blocker feature). For instance, a user agent could
+    require that a site be white-listed before enabling this method, or the user agent could be
+    configured to only allow one modal dialog at a time.</p>
 
    </li>
 
    <li>
 
-    <p>If the <a href=#active-sandboxing-flag-set>active sandboxing flag set</a>
-    of the <a href=#active-document>active document</a>
-    of the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a>
-    of the <a href=#concept-script title=concept-script>script</a> that invoked the method
-    has its
-    <a href=#sandboxed-auxiliary-navigation-browsing-context-flag>sandboxed auxiliary navigation browsing context flag</a>
-    set, then return the empty string and abort these steps.</p>
+    <p>If the <a href=#active-sandboxing-flag-set>active sandboxing flag set</a> of the <a href=#active-document>active document</a> of the
+    <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method has its <a href=#sandboxed-auxiliary-navigation-browsing-context-flag>sandboxed auxiliary
+    navigation browsing context flag</a> set, then return the empty string and abort these
+    steps.</p>
 
    </li>
 
@@ -73797,17 +73619,13 @@
     <p>Let <var title="">the list of background browsing
     contexts</var> be a list of all the browsing contexts that:</p>
 
-    <ul><li>are part of the same <a href=#unit-of-related-browsing-contexts>unit of related browsing
-     contexts</a> as the browsing context of the
-     <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was
-     called, and that</li>
+    <ul><li>are part of the same <a href=#unit-of-related-browsing-contexts>unit of related browsing contexts</a> as the browsing context
+     of the <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was called, and that</li>
 
-     <li>have an <a href=#active-document>active document</a> whose
-     <a href=#origin>origin</a> is the <a href=#same-origin title="same origin">same</a>
-     as the <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method at
-     the time the method was called,</li> <!-- Note that changing
-     document.domain to talk to another domain doesn't make you able
-     to block that domain -->
+     <li>have an <a href=#active-document>active document</a> whose <a href=#origin>origin</a> is the <a href=#same-origin title="same
+     origin">same</a> as the <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method at the time the method was
+     called,</li> <!-- Note that changing document.domain to talk to another domain doesn't make you
+     able to block that domain -->
 
     </ul><p>...as well as any browsing contexts that are nested inside any
     of the browsing contexts matching those conditions.</p>
@@ -73816,105 +73634,87 @@
 
    <li>
 
-    <p>Disable the user interface for all the browsing contexts in
-    <var title="">the list of background browsing contexts</var>. This
-    should prevent the user from navigating those browsing contexts,
-    causing events to be sent to those browsing context, or editing
-    any content in those browsing contexts. However, it does not
-    prevent those browsing contexts from receiving events from sources
-    other than the user, from running scripts, from running
-    animations, and so forth.</p>
+    <p>Disable the user interface for all the browsing contexts in <var title="">the list of
+    background browsing contexts</var>. This should prevent the user from navigating those browsing
+    contexts, causing events to be sent to those browsing context, or editing any content in those
+    browsing contexts. However, it does not prevent those browsing contexts from receiving events
+    from sources other than the user, from running scripts, from running animations, and so
+    forth.</p>
 
    </li>
 
    <li>
 
-    <p>Create a new <a href=#auxiliary-browsing-context>auxiliary browsing context</a>, with the
-    <a href=#opener-browsing-context>opener browsing context</a> being the browsing context of
-    the <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was
-    called. The new auxiliary browsing context has no name.</p>
+    <p>Create a new <a href=#auxiliary-browsing-context>auxiliary browsing context</a>, with the <a href=#opener-browsing-context>opener browsing
+    context</a> being the browsing context of the <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was called. The new auxiliary
+    browsing context has no name.</p>
 
-    <p class=note>This <a href=#browsing-context>browsing context</a>'s
-    <code><a href=#document>Document</a></code>s' <code><a href=#window>Window</a></code> objects all implement
-    the <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
+    <p class=note>This <a href=#browsing-context>browsing context</a>'s <code><a href=#document>Document</a></code>s' <code><a href=#window>Window</a></code>
+    objects all implement the <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
 
    </li>
 
    <li>
 
-    <p>Set all the flags
-    in the new browsing context's <a href=#popup-sandboxing-flag-set>popup sandboxing flag set</a>
-    that are set in the
-    <a href=#active-sandboxing-flag-set>active sandboxing flag set</a>
-    of the <a href=#active-document>active document</a>
-    of the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a>
-    of the <a href=#concept-script title=concept-script>script</a> that invoked the method.
-    The <a href="#script's-browsing-context" title="script's browsing context">browsing context</a>
-    of the <a href=#concept-script title=concept-script>script</a> that invoked the method
-    must be set as the new browsing context's
-    <a href=#one-permitted-sandboxed-navigator>one permitted sandboxed navigator</a>.</p>
+    <p>Set all the flags in the new browsing context's <a href=#popup-sandboxing-flag-set>popup sandboxing flag set</a> that
+    are set in the <a href=#active-sandboxing-flag-set>active sandboxing flag set</a> of the <a href=#active-document>active document</a> of
+    the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method. The <a href="#script's-browsing-context" title="script's browsing
+    context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked
+    the method must be set as the new browsing context's <a href=#one-permitted-sandboxed-navigator>one permitted sandboxed
+    navigator</a>.</p>
 
    </li>
 
    <li>
 
-    <p>Let the <a href=#dialog-arguments>dialog arguments</a> of the new browsing
-    context be set to the value of <var title="">argument</var>, or
-    the 'undefined' value if the argument was omitted.</p>
+    <p>Let the <a href=#dialog-arguments>dialog arguments</a> of the new browsing context be set to the value of <var title="">argument</var>, or the 'undefined' value if the argument was omitted.</p>
 
    </li>
 
    <li>
 
-    <p>Let the <a href="#dialog-arguments'-origin">dialog arguments' origin</a> be the
-    <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
+    <p>Let the <a href="#dialog-arguments'-origin">dialog arguments' origin</a> be the <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
 
    </li>
 
    <li>
 
-    <p><a href=#navigate>Navigate</a><!--DONAV showModalDialog--> the new
-    <a href=#browsing-context>browsing context</a> to the <a href=#absolute-url>absolute URL</a>
-    that resulted from <a href=#resolve-a-url title="resolve a url">resolving</a>
-    <var title="">url</var> earlier, with <a href=#replacement-enabled>replacement
-    enabled</a>, and with the <a href="#script's-browsing-context" title="script's browsing
-    context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method as
-    the <a href=#source-browsing-context>source browsing context</a>.</p>
+    <p><a href=#navigate>Navigate</a><!--DONAV showModalDialog--> the new <a href=#browsing-context>browsing context</a> to
+    the <a href=#absolute-url>absolute URL</a> that resulted from <a href=#resolve-a-url title="resolve a url">resolving</a>
+    <var title="">url</var> earlier, with <a href=#replacement-enabled>replacement enabled</a>, and with the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method as the <a href=#source-browsing-context>source browsing
+    context</a>.</p>
 
    </li>
 
    <li>
 
-    <p><a href=#spin-the-event-loop>Spin the event loop</a> until the new <a href=#browsing-context>browsing
-    context</a> is closed. (The user agent must allow the user to
-    indicate that the <a href=#browsing-context>browsing context</a> is to be
+    <p><a href=#spin-the-event-loop>Spin the event loop</a> until the new <a href=#browsing-context>browsing context</a> is closed. (The
+    user agent must allow the user to indicate that the <a href=#browsing-context>browsing context</a> is to be
     closed.)</p>
 
    </li>
 
    <li>
 
-    <p>Reenable the user interface for all the browsing contexts in
-    <var title="">the list of background browsing contexts</var>.</p>
+    <p>Reenable the user interface for all the browsing contexts in <var title="">the list of
+    background browsing contexts</var>.</p>
 
    </li>
 
    <li>
 
-    <p>Return the <a href=#auxiliary-browsing-context>auxiliary browsing context</a>'s
-    <a href=#return-value>return value</a>.</p>
+    <p>Return the <a href=#auxiliary-browsing-context>auxiliary browsing context</a>'s <a href=#return-value>return value</a>.</p>
 
    </li>
 
-  </ol><p>The <code><a href=#window>Window</a></code> objects of <code><a href=#document>Document</a></code>s hosted
-  by <a href=#browsing-context title="browsing context">browsing contexts</a> created
-  by the above algorithm must also implement the
+  </ol><p>The <code><a href=#window>Window</a></code> objects of <code><a href=#document>Document</a></code>s hosted by <a href=#browsing-context title="browsing
+  context">browsing contexts</a> created by the above algorithm must also implement the
   <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
 
-  <p class=note>When this happens, the members of the
-  <code><a href=#windowmodal>WindowModal</a></code> interface, in JavaScript environments,
-  appear to actually be part of the <code><a href=#window>Window</a></code> interface
-  (e.g. they are on the same prototype chain as the <code title=dom-alert><a href=#dom-alert>window.alert()</a></code> method).</p>
+  <p class=note>When this happens, the members of the <code><a href=#windowmodal>WindowModal</a></code> interface, in
+  JavaScript environments, appear to actually be part of the <code><a href=#window>Window</a></code> interface (e.g.
+  they are on the same prototype chain as the <code title=dom-alert><a href=#dom-alert>window.alert()</a></code>
+  method).</p>
 
   </div>
 
@@ -73927,8 +73727,7 @@
 
    <dd>
 
-    <p>Returns the <var title="">argument</var> argument that was
-    passed to the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
+    <p>Returns the <var title="">argument</var> argument that was passed to the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
 
    </dd>
 
@@ -73938,45 +73737,36 @@
 
     <p>Returns the current return value for the window.</p>
 
-    <p>Can be set, to change the value that will be returned by the
-    <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code>
-    method.</p>
+    <p>Can be set, to change the value that will be returned by the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
 
    </dd>
 
   </dl><div class=impl>
 
-  <p>Such browsing contexts have associated <dfn id=dialog-arguments>dialog
-  arguments</dfn>, which are stored along with the <dfn id="dialog-arguments'-origin">dialog
-  arguments' origin</dfn>. These values are set by the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method in the
-  algorithm above, when the browsing context is created, based on the
-  arguments provided to the method.</p>
+  <p>Such browsing contexts have associated <dfn id=dialog-arguments>dialog arguments</dfn>, which are stored along with
+  the <dfn id="dialog-arguments'-origin">dialog arguments' origin</dfn>. These values are set by the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method in the algorithm above, when the
+  browsing context is created, based on the arguments provided to the method.</p>
 
-  <p>The <dfn id=dom-windowmodal-dialogarguments title=dom-WindowModal-dialogArguments><code>dialogArguments</code></dfn>
-  IDL attribute, on getting, must check whether its browsing context's
-  <a href=#active-document>active document</a>'s <a href=#origin>origin</a> is the <a href=#same-origin title="same origin">same</a> as the <a href="#dialog-arguments'-origin">dialog arguments'
-  origin</a>. If it is, then the browsing context's <a href=#dialog-arguments>dialog
-  arguments</a> must be returned unchanged. Otherwise, if the
-  <a href=#dialog-arguments>dialog arguments</a> are an object, then the empty string
-  must be returned, and if the <a href=#dialog-arguments>dialog arguments</a> are not
-  an object, then the stringification of the <a href=#dialog-arguments>dialog
-  arguments</a> must be returned.
+  <p>The <dfn id=dom-windowmodal-dialogarguments title=dom-WindowModal-dialogArguments><code>dialogArguments</code></dfn> IDL
+  attribute, on getting, must check whether its browsing context's <a href=#active-document>active document</a>'s
+  <a href=#origin>origin</a> is the <a href=#same-origin title="same origin">same</a> as the <a href="#dialog-arguments'-origin">dialog arguments'
+  origin</a>. If it is, then the browsing context's <a href=#dialog-arguments>dialog arguments</a> must be
+  returned unchanged. Otherwise, if the <a href=#dialog-arguments>dialog arguments</a> are an object, then the empty
+  string must be returned, and if the <a href=#dialog-arguments>dialog arguments</a> are not an object, then the
+  stringification of the <a href=#dialog-arguments>dialog arguments</a> must be returned.
 
-  <p>These browsing contexts also have an associated <dfn id=return-value>return
-  value</dfn>. The <a href=#return-value>return value</a> of a browsing context
-  must be initialized to the empty string when the browsing context is
-  created.</p>
+  <p>These browsing contexts also have an associated <dfn id=return-value>return value</dfn>. The <a href=#return-value>return
+  value</a> of a browsing context must be initialized to the empty string when the browsing
+  context is created.</p>
 
-  <p>The <dfn id=dom-windowmodal-returnvalue title=dom-WindowModal-returnValue><code>returnValue</code></dfn>
-  IDL attribute, on getting, must return the <a href=#return-value>return value</a>
-  of its browsing context, and on setting, must set the <a href=#return-value>return
-  value</a> to the given new value.</p>
+  <p>The <dfn id=dom-windowmodal-returnvalue title=dom-WindowModal-returnValue><code>returnValue</code></dfn> IDL attribute, on
+  getting, must return the <a href=#return-value>return value</a> of its browsing context, and on setting, must
+  set the <a href=#return-value>return value</a> to the given new value.</p>
 
   </div>
 
   <p class=note>The <code title=dom-window-close><a href=#dom-window-close>window.close()</a></code> method can be used to
   close the browsing context.</p>
-<!--TOPIC:HTML-->
 
 
 <!--TOPIC:DOM APIs-->
@@ -73986,12 +73776,10 @@
 
   <div class=impl>
 
-  <p>The <dfn id=dom-navigator title=dom-navigator><code>navigator</code></dfn>
-  attribute of the <code><a href=#window>Window</a></code> interface must return an
-  instance of the <code><a href=#navigator>Navigator</a></code> interface, which represents
-  the identity and state of the user agent (the client), and allows
-  Web pages to register themselves as potential protocol and content
-  handlers:</p>
+  <p>The <dfn id=dom-navigator title=dom-navigator><code>navigator</code></dfn> attribute of the
+  <code><a href=#window>Window</a></code> interface must return an instance of the <code><a href=#navigator>Navigator</a></code> interface,
+  which represents the identity and state of the user agent (the client), and allows Web pages to
+  register themselves as potential protocol and content handlers:</p>
 
   </div>
 
@@ -74013,9 +73801,8 @@
 
   <div class=impl>
 
-  <p>These interfaces are defined separately so that other
-  specifications can re-use parts of the <code><a href=#navigator>Navigator</a></code>
-  interface.</p>
+  <p>These interfaces are defined separately so that other specifications can re-use parts of the
+  <code><a href=#navigator>Navigator</a></code> interface.</p>
 
   </div>
 
@@ -74787,11 +74574,10 @@
 
   </dl><div class=impl>
 
-   <p>The <dfn id=dom-navigator-yieldforstorageupdates title=dom-navigator-yieldForStorageUpdates><code>yieldForStorageUpdates()</code></dfn>
-   method, when invoked, must, if the <a href=#storage-mutex>storage mutex</a> is
-   owned by the <a href=#event-loop>event loop</a> of the <a href=#concept-task title=concept-task>task</a> that resulted in the method being
-   called, release the <a href=#storage-mutex>storage mutex</a> so that it is once
-   again free. Otherwise, it must do nothing.</p>
+   <p>The <dfn id=dom-navigator-yieldforstorageupdates title=dom-navigator-yieldForStorageUpdates><code>yieldForStorageUpdates()</code></dfn> method,
+   when invoked, must, if the <a href=#storage-mutex>storage mutex</a> is owned by the <a href=#event-loop>event loop</a> of
+   the <a href=#concept-task title=concept-task>task</a> that resulted in the method being called, release the
+   <a href=#storage-mutex>storage mutex</a> so that it is once again free. Otherwise, it must do nothing.</p>
 
   </div>
 
@@ -74800,10 +74586,9 @@
 
   <div class=impl>
 
-  <p>The <dfn id=dom-external title=dom-external><code>external</code></dfn>
-  attribute of the <code><a href=#window>Window</a></code> interface must return an
-  instance of the <code><a href=#external>External</a></code> interface. The same object
-  must be returned each time.</p>
+  <p>The <dfn id=dom-external title=dom-external><code>external</code></dfn> attribute of the <code><a href=#window>Window</a></code>
+  interface must return an instance of the <code><a href=#external>External</a></code> interface. The same object must be
+  returned each time.</p>
 
   </div>
 
@@ -80083,38 +79868,32 @@
            attribute <a href=#eventhandler>EventHandler</a> <a href=#handler-workerglobalscope-ononline title=handler-WorkerGlobalScope-ononline>ononline</a>;
 };</pre>
 
-  <p>The <dfn id=dom-workerglobalscope-self title=dom-WorkerGlobalScope-self><code>self</code></dfn> attribute
-  must return the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object itself.</p>
+  <p>The <dfn id=dom-workerglobalscope-self title=dom-WorkerGlobalScope-self><code>self</code></dfn> attribute must return the
+  <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object itself.</p>
 
-  <p>The <dfn id=dom-workerglobalscope-location title=dom-WorkerGlobalScope-location><code>location</code></dfn>
-  attribute must return the <code><a href=#workerlocation>WorkerLocation</a></code> object created
-  for the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object when the worker was
-  created. It represents the <a href=#absolute-url>absolute URL</a> of the script
-  that was used to initialize the worker, after any redirects.</p>
+  <p>The <dfn id=dom-workerglobalscope-location title=dom-WorkerGlobalScope-location><code>location</code></dfn> attribute must
+  return the <code><a href=#workerlocation>WorkerLocation</a></code> object created for the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>
+  object when the worker was created. It represents the <a href=#absolute-url>absolute URL</a> of the script that
+  was used to initialize the worker, after any redirects.</p>
 
   <hr><p>When a script invokes the <dfn id=dom-workerglobalscope-close title=dom-WorkerGlobalScope-close><code>close()</code></dfn>
-  method on a <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object, the user agent
-  must run the following steps (atomically):</p>
+  method on a <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object, the user agent must run the following steps
+  (atomically):</p>
 
-  <ol><li><p>Discard any <a href=#concept-task title=concept-task>tasks</a> that
-   have been added to the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
-   queue">task queues</a>.</p>
+  <ol><li><p>Discard any <a href=#concept-task title=concept-task>tasks</a> that have been added to the
+   <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task queues</a>.</p>
 
 <!-- v2-onclose
-   <li><p><span>Queue a task</span> to <span>fire a simple
-   event</span> named <code title="event-worker-close">close</code> at the
-   <code>WorkerGlobalScope</code> object.</p></li>
+   <li><p><span>Queue a task</span> to <span>fire a simple event</span> named <code
+   title="event-worker-close">close</code> at the <code>WorkerGlobalScope</code> object.</p></li>
 -->
 
-   <li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's
-   <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to
-   true. (This prevents any further tasks from being queued.)</li>
+   <li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to true. (This prevents any further
+   tasks from being queued.)</li>
 
-  </ol><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their
-  corresponding <a href=#event-handler-event-type title="event handler event type">event handler
-  event types</a>) that must be supported, as IDL attributes, by
-  objects implementing the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>
-  interface:</p>
+  </ol><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their corresponding <a href=#event-handler-event-type title="event
+  handler event type">event handler event types</a>) that must be supported, as IDL attributes,
+  by objects implementing the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> interface:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
    <tbody><!-- v2-onclose    <tr><td><dfn title="handler-WorkerGlobalScope-onclose"><code>onclose</code></dfn> <td> <code title="event-worker-close">close</code> --><tr><td><dfn id=handler-workerglobalscope-onerror title=handler-WorkerGlobalScope-onerror><code>onerror</code></dfn> <td> <code title=event-error>error</code>
@@ -80223,191 +80002,159 @@
 
   <h4 id=the-event-loop><span class=secno>9.2.2 </span>The event loop</h4>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object has an <a href=#event-loop>event
-  loop</a> distinct from those defined for <a href=#unit-of-related-similar-origin-browsing-contexts title="unit of
-  related similar-origin browsing contexts">units of related
-  similar-origin browsing contexts</a>. This <a href=#event-loop>event
-  loop</a> has no associated <a href=#browsing-context>browsing context</a>, and its
-  <a href=#task-queue title="task queue">task queues</a> only have events,
-  callbacks, and networking activity as <a href=#concept-task title=concept-task>tasks</a>. The processing model of these
-  <a href=#event-loop title="event loop">event loops</a> is defined below in the
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object has an <a href=#event-loop>event loop</a> distinct from those
+  defined for <a href=#unit-of-related-similar-origin-browsing-contexts title="unit of related similar-origin browsing contexts">units of related
+  similar-origin browsing contexts</a>. This <a href=#event-loop>event loop</a> has no associated
+  <a href=#browsing-context>browsing context</a>, and its <a href=#task-queue title="task queue">task queues</a> only have
+  events, callbacks, and networking activity as <a href=#concept-task title=concept-task>tasks</a>. The
+  processing model of these <a href=#event-loop title="event loop">event loops</a> is defined below in the
   <a href=#run-a-worker>run a worker</a> algorithm.</p>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object also has a <dfn id=dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</dfn> flag, which must
-  initially be false, but which can get set to true by the algorithms
-  in the processing model section below.</p>
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object also has a <dfn id=dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</dfn> flag, which must initially be false, but which
+  can get set to true by the algorithms in the processing model section below.</p>
 
-  <p>Once the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to
-  true, the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
-  queues</a> must discard any further <a href=#concept-task title=concept-task>tasks</a> that would be added to them (tasks
-  already on the queue are unaffected except where otherwise
-  specified). Effectively, once the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is true,
-  timers stop firing, notifications for all pending asynchronous
-  operations are dropped, etc.</p>
+  <p>Once the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to true, the <a href=#event-loop>event
+  loop</a>'s <a href=#task-queue title="task queue">task queues</a> must discard any further <a href=#concept-task title=concept-task>tasks</a> that would be added to them (tasks already on the queue are
+  unaffected except where otherwise specified). Effectively, once the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is true, timers stop firing,
+  notifications for all pending asynchronous operations are dropped, etc.</p>
 
 
 
   <h4 id="the-worker's-lifetime"><span class=secno>9.2.3 </span>The worker's lifetime</h4>
 
-  <p>Workers communicate with other workers and with <a href=#browsing-context title="browsing context">browsing contexts</a> through <a href=#channel-messaging title="channel messaging">message channels</a> and their
+  <p>Workers communicate with other workers and with <a href=#browsing-context title="browsing context">browsing
+  contexts</a> through <a href=#channel-messaging title="channel messaging">message channels</a> and their
   <code><a href=#messageport>MessagePort</a></code> objects.</p>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> <var title="">worker global
-  scope</var> has a list of <dfn id="the-worker's-ports">the worker's ports</dfn>, which
-  consists of all the <code><a href=#messageport>MessagePort</a></code> objects that are
-  entangled with another port and that have one (but only one) port
-  owned by <var title="">worker global scope</var>. This list includes
-  <!--all the <code>MessagePort</code> objects that are in events
-  pending in the <span>event loop</span>, as well as (commented out
-  because in practice it makes no difference either way as far as I
-  can tell, and it would be hard to strictly implement since these
-  ports might not yet be across the thread boundary)--> the implicit
-  <code><a href=#messageport>MessagePort</a></code> in the case of <a href=#dedicatedworkerglobalscope title=DedicatedWorkerGlobalScope>dedicated workers</a>.</p>
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> <var title="">worker global scope</var> has a list of
+  <dfn id="the-worker's-ports">the worker's ports</dfn>, which consists of all the <code><a href=#messageport>MessagePort</a></code> objects that are
+  entangled with another port and that have one (but only one) port owned by <var title="">worker
+  global scope</var>. This list includes <!--all the <code>MessagePort</code> objects that are in
+  events pending in the <span>event loop</span>, as well as (commented out because in practice it
+  makes no difference either way as far as I can tell, and it would be hard to strictly implement
+  since these ports might not yet be across the thread boundary)--> the implicit
+  <code><a href=#messageport>MessagePort</a></code> in the case of <a href=#dedicatedworkerglobalscope title=DedicatedWorkerGlobalScope>dedicated
+  workers</a>.</p>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of <dfn id="the-worker's-workers">the
-  worker's workers</dfn>. Initially this list is empty; it is
-  populated when the worker creates or obtains further workers.</p>
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of <dfn id="the-worker's-workers">the worker's workers</dfn>.
+  Initially this list is empty; it is populated when the worker creates or obtains further
+  workers.</p>
 
-  <p>Finally, each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of
-  <dfn id="the-worker's-documents">the worker's <code>Document</code>s</dfn>. Initially this list
-  is empty; it is populated when the worker is created.</p>
+  <p>Finally, each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of <dfn id="the-worker's-documents">the worker's
+  <code>Document</code>s</dfn>. Initially this list is empty; it is populated when the worker is
+  created.</p>
 
-  <p>Whenever a <code><a href=#document>Document</a></code> <var title="">d</var> is <dfn id="add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">added to the
-  worker's <code>Document</code>s</dfn>, the user agent must, for each
-  worker <var title="">q</var> in the list of <a href="#the-worker's-workers">the worker's
-  workers</a> whose list of <a href="#the-worker's-documents">the worker's
-  <code>Document</code>s</a> does not contain <var title="">d</var>, <a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's
-  documents">add <var title="">d</var> to <var title="">q</var>'s
-  <code>WorkerGlobalScope</code> owner's list of <span>the worker's
-  <code>Document</code>s</span></a>.</p> <!-- suggestions welcome
-  on making this sentence into understandable English -->
+  <p>Whenever a <code><a href=#document>Document</a></code> <var title="">d</var> is <dfn id="add-a-document-to-the-worker's-documents" title="add a document to the
+  worker's documents">added to the worker's <code>Document</code>s</dfn>, the user agent must, for
+  each worker <var title="">q</var> in the list of <a href="#the-worker's-workers">the worker's workers</a> whose list of
+  <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> does not contain <var title="">d</var>, <a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">add <var title="">d</var> to <var title="">q</var>'s <code>WorkerGlobalScope</code> owner's list of <span>the worker's
+  <code>Document</code>s</span></a>.</p> <!-- suggestions welcome on making this sentence into
+  understandable English -->
 
-  <p>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a
-  Document">discarded</a>, it must be removed from the list of
-  <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> of each worker
-  whose list contains that <code><a href=#document>Document</a></code>.</p>
+  <p>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a Document">discarded</a>,
+  it must be removed from the list of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> of each
+  worker whose list contains that <code><a href=#document>Document</a></code>.</p>
 
-  <p>Given a <a href="#script's-global-object">script's global object</a> <var title="">o</var>
-  when creating or obtaining a worker, the <dfn id=list-of-relevant-document-objects-to-add>list of relevant
-  <code>Document</code> objects to add</dfn> depends on the type of
-  <var title="">o</var>. If <var title="">o</var> is a
-  <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object (i.e. if we are creating a
-  nested worker), then the relevant <code><a href=#document>Document</a></code>s are the
-  <code><a href=#document>Document</a></code>s that are in <var title="">o</var>'s own list
-  of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a>. Otherwise, <var title="">o</var> is a <code><a href=#window>Window</a></code> object, and the relevant
-  <code><a href=#document>Document</a></code> is just the <code><a href=#document>Document</a></code> that is the
-  <a href=#active-document>active document</a> of the <code><a href=#window>Window</a></code> object <var title="">o</var>.</p>
+  <p>Given a <a href="#script's-global-object">script's global object</a> <var title="">o</var> when creating or obtaining a
+  worker, the <dfn id=list-of-relevant-document-objects-to-add>list of relevant <code>Document</code> objects to add</dfn> depends on the type
+  of <var title="">o</var>. If <var title="">o</var> is a <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object
+  (i.e. if we are creating a nested worker), then the relevant <code><a href=#document>Document</a></code>s are the
+  <code><a href=#document>Document</a></code>s that are in <var title="">o</var>'s own list of <a href="#the-worker's-documents">the worker's
+  <code>Document</code>s</a>. Otherwise, <var title="">o</var> is a <code><a href=#window>Window</a></code> object,
+  and the relevant <code><a href=#document>Document</a></code> is just the <code><a href=#document>Document</a></code> that is the <a href=#active-document>active
+  document</a> of the <code><a href=#window>Window</a></code> object <var title="">o</var>.</p>
 
-  <hr><p>A worker is said to be a <dfn id=permissible-worker>permissible worker</dfn> if its
-  list of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> is not
-  empty.</p>
+  <hr><p>A worker is said to be a <dfn id=permissible-worker>permissible worker</dfn> if its list of <a href="#the-worker's-documents">the worker's
+  <code>Document</code>s</a> is not empty.</p>
 
-  <p>A worker is said to be a <dfn id=protected-worker>protected worker</dfn> if it is a
-  <a href=#permissible-worker>permissible worker</a> and either it has outstanding
-  timers, database transactions, or network connections, or its list
-  of <a href="#the-worker's-ports">the worker's ports</a> is not empty, or its
-  <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> is actually a
-  <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a
-  shared worker).</p>
+  <p>A worker is said to be a <dfn id=protected-worker>protected worker</dfn> if it is a <a href=#permissible-worker>permissible worker</a>
+  and either it has outstanding timers, database transactions, or network connections, or its list
+  of <a href="#the-worker's-ports">the worker's ports</a> is not empty, or its <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> is actually
+  a <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a shared worker).</p>
 
-  <p>A worker is said to be an <dfn id=active-needed-worker>active needed worker</dfn> if any
-  of the <code><a href=#document>Document</a></code> objects in <a href="#the-worker's-documents">the worker's
-  <code>Document</code>s</a> are <a href=#fully-active>fully active</a>.</p>
+  <p>A worker is said to be an <dfn id=active-needed-worker>active needed worker</dfn> if any of the <code><a href=#document>Document</a></code>
+  objects in <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> are <a href=#fully-active>fully active</a>.</p>
 
-  <p>A worker is said to be a <dfn id=suspendable-worker>suspendable worker</dfn> if it is
-  not an <a href=#active-needed-worker>active needed worker</a> but it is a
-  <a href=#permissible-worker>permissible worker</a>.</p>
+  <p>A worker is said to be a <dfn id=suspendable-worker>suspendable worker</dfn> if it is not an <a href=#active-needed-worker>active needed
+  worker</a> but it is a <a href=#permissible-worker>permissible worker</a>.</p>
 
 
   <h4 id=processing-model-6><span class=secno>9.2.4 </span>Processing model</h4>
 
-  <p>When a user agent is to <dfn id=run-a-worker>run a worker</dfn> for a script with
-  <a href=#url>URL</a> <var title="">url</var>, a <a href=#browsing-context>browsing
-  context</a> <var title="">owner browsing context</var>, a
-  <code><a href=#document>Document</a></code> <var title="">owner document</var>, an
-  <a href=#origin>origin</a> <var title="">owner origin</var>, and with
-  global scope <var title="">worker global scope</var>, it must run
-  the following steps:</p>
+  <p>When a user agent is to <dfn id=run-a-worker>run a worker</dfn> for a script with <a href=#url>URL</a> <var title="">url</var>, a <a href=#browsing-context>browsing context</a> <var title="">owner browsing context</var>, a
+  <code><a href=#document>Document</a></code> <var title="">owner document</var>, an <a href=#origin>origin</a> <var title="">owner origin</var>, and with global scope <var title="">worker global scope</var>, it
+  must run the following steps:</p>
 
   <ol><li>
 
-    <p>Create a separate parallel execution environment (i.e. a
-    separate thread or process or equivalent construct), and run the
-    rest of these steps asynchronously in that context.</p>
+    <p>Create a separate parallel execution environment (i.e. a separate thread or process or
+    equivalent construct), and run the rest of these steps asynchronously in that context.</p>
 
    </li>
 
    <li><p>If <var title="">worker global scope</var> is actually a
-   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a
-   shared worker), and there are any <a href=#relevant-application-cache title="relevant application
-   cache">relevant application caches</a> that are identified by a
-   manifest URL with the <a href=#same-origin>same origin</a> as <var title="">url</var> and that have <var title="">url</var> as one of
-   their entries, <em>not</em> excluding entries marked as <a href=#concept-appcache-foreign title=concept-appcache-foreign>foreign</a>, then associate the
-   <var title="">worker global scope</var> with the <a href=#concept-appcache-selection title=concept-appcache-selection>most appropriate application
+   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a shared worker), and there are
+   any <a href=#relevant-application-cache title="relevant application cache">relevant application caches</a> that are
+   identified by a manifest URL with the <a href=#same-origin>same origin</a> as <var title="">url</var> and
+   that have <var title="">url</var> as one of their entries, <em>not</em> excluding entries marked
+   as <a href=#concept-appcache-foreign title=concept-appcache-foreign>foreign</a>, then associate the <var title="">worker
+   global scope</var> with the <a href=#concept-appcache-selection title=concept-appcache-selection>most appropriate application
    cache</a> of those that match.</li>
 
    <li>
 
-    <p>Attempt to <a href=#fetch>fetch</a><!--FETCH--> the resource
-    identified by <var title="">url</var>, from the <var title="">owner origin</var>, using <var title="">owner
-    document</var> as the <a href=#referrer-source>referrer source</a>, with the
-    <i>synchronous flag</i> set and the <i>force same-origin flag</i>
-    set.</p> <!-- not http-origin privacy sensitive (looking forward
-    to CORS) -->
+    <p>Attempt to <a href=#fetch>fetch</a><!--FETCH--> the resource identified by <var title="">url</var>,
+    from the <var title="">owner origin</var>, using <var title="">owner document</var> as the
+    <a href=#referrer-source>referrer source</a>, with the <i>synchronous flag</i> set and the <i>force same-origin
+    flag</i> set.</p> <!-- not http-origin privacy sensitive (looking forward to CORS) -->
 
-    <p>If the attempt fails, then for each <code><a href=#worker>Worker</a></code> or
-    <code><a href=#sharedworker>SharedWorker</a></code> object associated with <var title="">worker global scope</var>, <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 that object. Abort these
+    <p>If the attempt fails, then for each <code><a href=#worker>Worker</a></code> or <code><a href=#sharedworker>SharedWorker</a></code> object
+    associated with <var title="">worker global scope</var>, <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 that object. Abort these
     steps.</p>
 
-    <p>If the attempt succeeds, then let <var title="">source</var> be
-    the script resource <a href=#decoded-as-utf-8,-with-error-handling>decoded as UTF-8, with error
-    handling</a>.
+    <p>If the attempt succeeds, then let <var title="">source</var> be the script resource
+    <a href=#decoded-as-utf-8,-with-error-handling>decoded as UTF-8, with error handling</a>.
     </p>
 
     <p>Let <var title="">language</var> be JavaScript.</p>
 
-    <p class=note>As with <code><a href=#the-script-element>script</a></code> elements, the MIME
-    type of the script is ignored. Unlike with <code><a href=#the-script-element>script</a></code>
-    elements, there is no way to override the type. It's always
+    <p class=note>As with <code><a href=#the-script-element>script</a></code> elements, the MIME type of the script is ignored.
+    Unlike with <code><a href=#the-script-element>script</a></code> elements, there is no way to override the type. It's always
     assumed to be JavaScript.</p>
 
    </li>
 
-   <li><p>In the newly created execution environment, create a
-   <a href=#javascript-global-environment>JavaScript global environment</a> whose <i>global
-   object</i> is <var title="">worker global scope</var>. If <var title="">worker global scope</var> is a
-   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object, then this is a
-   <a href=#dedicated-worker-environment>dedicated worker environment</a>. Otherwise, <var title="">worker global scope</var> is a
-   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object, and this is a
-   <a href=#shared-worker-environment>shared worker environment</a>. (In either case, by
-   definition, it is a <a href=#worker-environment>worker environment</a>.)</li>
+   <li><p>In the newly created execution environment, create a <a href=#javascript-global-environment>JavaScript global
+   environment</a> whose <i>global object</i> is <var title="">worker global scope</var>. If <var title="">worker global scope</var> is a <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object, then this
+   is a <a href=#dedicated-worker-environment>dedicated worker environment</a>. Otherwise, <var title="">worker global
+   scope</var> is a <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object, and this is a <a href=#shared-worker-environment>shared worker
+   environment</a>. (In either case, by definition, it is a <a href=#worker-environment>worker
+   environment</a>.)</li>
 
    <li>
 
-    <p>A new <a href=#concept-script title=concept-script>script</a> is now
-    created, as follows.</p>
+    <p>A new <a href=#concept-script title=concept-script>script</a> is now created, as follows.</p>
 
-    <p>Create a new <a href=#script-execution-environment>script execution environment</a>
-    set up as appropriate for the scripting language <var title="">language</var>.</p>
+    <p>Create a new <a href=#script-execution-environment>script execution environment</a> set up as appropriate for the
+    scripting language <var title="">language</var>.</p>
 
-    <p>Parse/compile/initialize <var title="">source</var> using that
-    <a href=#script-execution-environment>script execution environment</a>, as appropriate for <var title="">language</var>, and thus obtain a <a href=#list-of-code-entry-points>list of code
-    entry-points</a>; set the <i><a href=#initial-code-entry-point>initial code entry-point</a></i> to
-    the entry-point for any executable code to be immediately run.</p>
+    <p>Parse/compile/initialize <var title="">source</var> using that <a href=#script-execution-environment>script execution
+    environment</a>, as appropriate for <var title="">language</var>, and thus obtain a
+    <a href=#list-of-code-entry-points>list of code entry-points</a>; set the <i><a href=#initial-code-entry-point>initial code entry-point</a></i> to the
+    entry-point for any executable code to be immediately run.</p>
 
     <p>Set the <a href="#script's-global-object">script's global object</a> to <var title="">worker global scope</var>.</p>
 
-    <p>Set the <a href="#script's-browsing-context">script's browsing context</a> to <var title="">owner browsing context</var>.</p>
+    <p>Set the <a href="#script's-browsing-context">script's browsing context</a> to <var title="">owner browsing
+    context</var>.</p>
 
-    <p>Set the <a href="#script's-document">script's document</a> to <var title="">owner
-    document</var>.</p>
+    <p>Set the <a href="#script's-document">script's document</a> to <var title="">owner document</var>.</p>
 
     <p>Set the <a href="#script's-referrer-source">script's referrer source</a> to <var title="">url</var>.</p>
 
-    <p>Set the <a href="#script's-url-character-encoding">script's URL character encoding</a> to
-    UTF-8. (This is just used for encoding non-ASCII characters in the
-    query component of URLs.)</p>
+    <p>Set the <a href="#script's-url-character-encoding">script's URL character encoding</a> to UTF-8. (This is just used for
+    encoding non-ASCII characters in the query component of URLs.)</p>
 
     <p>Set the <a href="#script's-base-url">script's base URL</a> to <var title="">url</var>.</p>
 
@@ -80415,198 +80162,163 @@
 
    <li>
 
-    <p><strong>Closing orphan workers</strong>: Start monitoring the
-    worker such that no sooner than it stops being either a
-    <a href=#protected-worker>protected worker</a> or a <a href=#suspendable-worker>suspendable
-    worker</a>, and no later than it stops being a
-    <a href=#permissible-worker>permissible worker</a>, <var title="">worker global
-    scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set
-    to true<!-- v2-onclose and <span title="queue a task">a task is
-    queued</span> to <span>fire a simple event</span> named <code
-    title="event-worker-close">close</code> at <var title="">worker global
+    <p><strong>Closing orphan workers</strong>: Start monitoring the worker such that no sooner than
+    it stops being either a <a href=#protected-worker>protected worker</a> or a <a href=#suspendable-worker>suspendable worker</a>, and
+    no later than it stops being a <a href=#permissible-worker>permissible worker</a>, <var title="">worker global
+    scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to true<!--
+    v2-onclose and <span title="queue a task">a task is queued</span> to <span>fire a simple
+    event</span> named <code title="event-worker-close">close</code> at <var title="">worker global
     scope</var>-->.</p>
 
    </li>
 
    <li>
 
-    <p><strong>Suspending workers</strong>: Start monitoring the
-    worker, such that whenever <var title="">worker global
-    scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is false
-    and the worker is a <a href=#suspendable-worker>suspendable worker</a>, the user
-    agent suspends execution of script in that worker until such time
-    as either the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag switches
-    to true or the worker stops being a <a href=#suspendable-worker>suspendable
-    worker</a>.</p>
+    <p><strong>Suspending workers</strong>: Start monitoring the worker, such that whenever <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a>
+    flag is false and the worker is a <a href=#suspendable-worker>suspendable worker</a>, the user agent suspends
+    execution of script in that worker until such time as either the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag switches to true or the worker stops
+    being a <a href=#suspendable-worker>suspendable worker</a>.</p>
 
    </li>
 
    <li>
 
-    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the
-    <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code
-    entry-point</a></i>, and let that run until it either returns, fails
-    to catch an exception, or gets prematurely aborted by the
-    "<a href=#kill-a-worker>kill a worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>"
-    algorithms defined below.</p>
+    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code entry-point</a></i>, and let that run until
+    it either returns, fails to catch an exception, or gets prematurely aborted by the "<a href=#kill-a-worker>kill a
+    worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms defined below.</p>
 
 <!-- v2-onclose
-    <p class="note">If the script gets aborted by the "<span>kill a
-    worker</span>" algorithm, then that same algorithm will cause
-    there to only be a single <span title="concept-task">task</span>
-    in the <span>event loop</span> at the next step, namely the task
-    for the <code title="message-close">close</code> event. The
-    "<span>terminate a worker</span>" algorithm removes all the
-    events.</p>
+    <p class="note">If the script gets aborted by the "<span>kill a worker</span>" algorithm, then
+    that same algorithm will cause there to only be a single <span title="concept-task">task</span>
+    in the <span>event loop</span> at the next step, namely the task for the <code
+    title="message-close">close</code> event. The "<span>terminate a worker</span>" algorithm
+    removes all the events.</p>
 -->
 
    </li>
 
    <li><p>If <var title="">worker global scope</var> is actually a
-   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the worker is
-   a dedicated worker), then enable the <a href=#port-message-queue>port message
-   queue</a> of the worker's implicit port.</li>
+   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the worker is a dedicated worker), then
+   enable the <a href=#port-message-queue>port message queue</a> of the worker's implicit port.</li>
 
    <li>
 
-    <p><i title="">Event loop</i>: Wait until either there is a <a href=#concept-task title=concept-task>task</a> in one of the <a href=#event-loop>event
-    loop</a>'s <a href=#task-queue title="task queue">task queues</a> or <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set
-    to true.</p>
+    <p><i title="">Event loop</i>: Wait until either there is a <a href=#concept-task title=concept-task>task</a> in one of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
+    queue">task queues</a> or <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to true.</p>
 
    </li>
 
    <li>
 
-    <p>Run the oldest task on one of the <a href=#event-loop>event loop</a>'s
-    <a href=#task-queue title="task queue">task queues</a>, if any. The user
-    agent may pick any <a href=#task-queue>task queue</a>.</p>
+    <p>Run the oldest task on one of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
+    queues</a>, if any. The user agent may pick any <a href=#task-queue>task queue</a>.</p>
 
-    <p class=note>The handling of events or the execution of
-    callbacks might get prematurely aborted by the "<a href=#kill-a-worker>kill a
-    worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms
+    <p class=note>The handling of events or the execution of callbacks might get prematurely
+    aborted by the "<a href=#kill-a-worker>kill a worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms
     defined below.</p>
 
    </li>
 
    <li>
 
-    <p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the worker's
-    <a href=#event-loop>event loop</a>, release it so that it is once again
-    free.</p>
+    <p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the worker's <a href=#event-loop>event loop</a>,
+    release it so that it is once again free.</p>
 
    </li>
 
    <li>
 
-    <p>Remove the task just run in the earlier step, if any, from its
-    <a href=#task-queue>task queue</a>.</p>
+    <p>Remove the task just run in the earlier step, if any, from its <a href=#task-queue>task queue</a>.</p>
 
    </li>
 
    <li>
 
-    <p>If there are any more events in the <a href=#event-loop>event loop</a>'s
-    <a href=#task-queue title="task queue">task queues</a> or if <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set
-    to false, then jump back to the step above labeled <i><a href=#event-loop>event
-    loop</a></i>.</p>
+    <p>If there are any more events in the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
+    queues</a> or if <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to false, then jump back to the
+    step above labeled <i><a href=#event-loop>event loop</a></i>.</p>
 
    </li>
 
    <li>
 
-    <p>Empty the <var title="">worker global scope</var>'s <a href=#list-of-active-timers>list
-    of active timers</a>.</p>
+    <p>Empty the <var title="">worker global scope</var>'s <a href=#list-of-active-timers>list of active timers</a>.</p>
 
    </li>
 
    <li>
 
-    <p>Disentangle all the ports in the list of <a href="#the-worker's-ports">the worker's
-    ports</a>.</p>
+    <p>Disentangle all the ports in the list of <a href="#the-worker's-ports">the worker's ports</a>.</p>
 
    </li>
 
 <!-- v2-onclose
    <li>
 
-    <p>For each <code>Worker</code> or <code>SharedWorker</code>
-    object associated with <var title="">worker global scope</var>,
-    <span>queue a task</span> to <span>fire a simple event</span>
-    named <code title="event-worker-close">close</code> at that object.</p>
+    <p>For each <code>Worker</code> or <code>SharedWorker</code> object associated with <var
+    title="">worker global scope</var>, <span>queue a task</span> to <span>fire a simple
+    event</span> named <code title="event-worker-close">close</code> at that object.</p>
 
    </li>
 -->
-  </ol><hr><p>When a user agent is to <dfn id=kill-a-worker>kill a worker</dfn> it must
-  run the following steps in parallel with the worker's main loop (the
-  "<a href=#run-a-worker>run a worker</a>" processing model defined above):</p>
+  </ol><hr><p>When a user agent is to <dfn id=kill-a-worker>kill a worker</dfn> it must run the following steps in parallel
+  with the worker's main loop (the "<a href=#run-a-worker>run a worker</a>" processing model defined above):</p>
 
   <ol><!-- v2-onclose
-   <li><p>If the worker's <code>WorkerGlobalScope</code> object's
-   <span title="dom-WorkerGlobalScope-closing">closing</span> flag is
-   false, <span>queue a task</span> to <span>fire a simple
-   event</span> named <code title="event-worker-close">close</code> at the
+   <li><p>If the worker's <code>WorkerGlobalScope</code> object's <span
+   title="dom-WorkerGlobalScope-closing">closing</span> flag is false, <span>queue a task</span> to
+   <span>fire a simple event</span> named <code title="event-worker-close">close</code> at the
    worker's <code>WorkerGlobalScope</code> object.</p></li>
---><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to
-   true.</li>
+--><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to true.</li>
 
 <!-- v2-onclose
-   <li><p>Wait a user-agent-defined amount of time. If the "<span>run
-   a worker</span>" processing model defined above immediately starts
-   running event listeners registered for the <code
-   title="event-worker-close">close</code> event, this time should not be
-   zero — the idea is that the <code
-   title="event-worker-close">close</code> event can be used to clean up
-   when shutting down unexpectedly.</p></li>
+   <li><p>Wait a user-agent-defined amount of time. If the "<span>run a worker</span>" processing
+   model defined above immediately starts running event listeners registered for the <code
+   title="event-worker-close">close</code> event, this time should not be zero — the idea is
+   that the <code title="event-worker-close">close</code> event can be used to clean up when
+   shutting down unexpectedly.</p></li>
 -->
 
-   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a>
-   queued in the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
-   queue">task queues</a><!-- v2-onclose other than the <code
-   title="event-worker-close">close</code> event that this algorithm just
-   added-->, discard them without processing them.</li>
+   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a> queued in the <a href=#event-loop>event
+   loop</a>'s <a href=#task-queue title="task queue">task queues</a><!-- v2-onclose other than the <code
+   title="event-worker-close">close</code> event that this algorithm just added-->, discard them
+   without processing them.</li>
 
 <!-- v2-onclose
-   <li><p>If the <code title="event-worker-close">close</code> event that
-   this algorithm just queued hasn't yet been dispatched, then abort
-   the script currently running in the worker.</p></li>
+   <li><p>If the <code title="event-worker-close">close</code> event that this algorithm just queued
+   hasn't yet been dispatched, then abort the script currently running in the worker.</p></li>
 -->
 
    <li><p>Wait a user-agent-defined amount of time.</li>
 
-   <li><p>Abort the script currently running in the worker<!--
-   v2-onclose (if any script is running, then it will be a handler for
-   the <code title="event-worker-close">close</code> event)-->.</li>
+   <li><p>Abort the script currently running in the worker<!-- v2-onclose (if any script is running,
+   then it will be a handler for the <code title="event-worker-close">close</code>
+   event)-->.</li>
 
-  </ol><p>User agents may invoke the "<a href=#kill-a-worker>kill a worker</a>"
-  processing model on a worker at any time, e.g. in response to user
-  requests, in response to CPU quota management, or when a worker
-  stops being an <a href=#active-needed-worker>active needed worker</a> if the worker
-  continues executing even after its <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag was
-  set to true.</p>
+  </ol><p>User agents may invoke the "<a href=#kill-a-worker>kill a worker</a>" processing model on a worker at any
+  time, e.g. in response to user requests, in response to CPU quota management, or when a worker
+  stops being an <a href=#active-needed-worker>active needed worker</a> if the worker continues executing even after its
+  <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag was set to true.</p>
 
-  <hr><p>When a user agent is to <dfn id=terminate-a-worker>terminate a worker</dfn> it must run
-  the following steps in parallel with the worker's main loop (the
-  "<a href=#run-a-worker>run a worker</a>" processing model defined above):</p>
+  <hr><p>When a user agent is to <dfn id=terminate-a-worker>terminate a worker</dfn> it must run the following steps in
+  parallel with the worker's main loop (the "<a href=#run-a-worker>run a worker</a>" processing model defined
+  above):</p>
 
-  <ol><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's
-   <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to
-   true.</li>
+  <ol><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to true.</li>
 
-   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a>
-   queued in the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
-   queue">task queues</a>, discard them without processing
+   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a> queued in the <a href=#event-loop>event
+   loop</a>'s <a href=#task-queue title="task queue">task queues</a>, discard them without processing
    them.</li>
 
    <li><p>Abort the script currently running in the worker.</li>
 
-   <li><p>If the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object is
-   actually a <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the
-   worker is a dedicated worker), then empty the <a href=#port-message-queue>port message
-   queue</a> of the port that the worker's implicit port is
+   <li><p>If the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object is actually a
+   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the worker is a dedicated worker), then
+   empty the <a href=#port-message-queue>port message queue</a> of the port that the worker's implicit port is
    entangled with.</li>
 
-  </ol><hr><p>The <a href=#task-source>task source</a> for the tasks mentioned above is the
-  <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
+  </ol><hr><p>The <a href=#task-source>task source</a> for the tasks mentioned above is the <a href=#dom-manipulation-task-source>DOM manipulation task
+  source</a>.</p>
 
 
   <h4 id=runtime-script-errors-0><span class=secno>9.2.5 </span>Runtime script errors</h4>
@@ -80618,9 +80330,9 @@
   <code title=handler-WorkerGlobalScope-onerror><a href=#handler-workerglobalscope-onerror>onerror</a></code> attribute.
   </p>
 
-  <p>For shared workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> afterwards, or if
-  the error occurred while handling a previous script error, the error
-  may be reported to the user.
+  <p>For shared workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>
+  afterwards, or if the error occurred while handling a previous script error, the error may be
+  reported to the user.
   </p>
 
   <p>For dedicated workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not
@@ -80633,20 +80345,18 @@
   error had occurred in the global scope that the <code><a href=#worker>Worker</a></code> object is in, thus repeating
   the entire runtime script error reporting process one level up.</p>
 
-  <p>If the implicit port connecting the worker to its
-  <code><a href=#worker>Worker</a></code> object has been disentangled (i.e. if the parent
-  worker has been terminated), then the user agent must act as if the
-  <code><a href=#worker>Worker</a></code> object had no <code title=event-error>error</code> event handler and as if that
-  worker's <code title=handler-WorkerGlobalScope-onerror><a href=#handler-workerglobalscope-onerror>onerror</a></code> attribute
-  was null, but must otherwise act as described above.</p>
+  <p>If the implicit port connecting the worker to its <code><a href=#worker>Worker</a></code> object has been
+  disentangled (i.e. if the parent worker has been terminated), then the user agent must act as if
+  the <code><a href=#worker>Worker</a></code> object had no <code title=event-error>error</code> event handler and as
+  if that worker's <code title=handler-WorkerGlobalScope-onerror><a href=#handler-workerglobalscope-onerror>onerror</a></code> attribute was
+  null, but must otherwise act as described above.</p>
 
-  <p class=note>Thus, error reports propagate up to the chain of
-  dedicated workers up to the original <code><a href=#document>Document</a></code>, even if
-  some of the workers along this chain have been terminated and
-  garbage collected.</p>
+  <p class=note>Thus, error reports propagate up to the chain of dedicated workers up to the
+  original <code><a href=#document>Document</a></code>, even if some of the workers along this chain have been terminated
+  and garbage collected.</p>
 
-  <p>The <a href=#task-source>task source</a> for the task mentioned above is the
-  <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
+  <p>The <a href=#task-source>task source</a> for the task mentioned above is the <a href=#dom-manipulation-task-source>DOM manipulation task
+  source</a>.</p>
 
   <hr><pre class=idl>[Constructor(DOMString type, optional <a href=#erroreventinit>ErrorEventInit</a> eventInitDict)]
 interface <dfn id=errorevent>ErrorEvent</dfn> : <a href=#event>Event</a> {
@@ -82626,26 +82336,23 @@
 
     </dl></li>
 
-  </ol><hr><p>The <dfn id=dom-websocket-bufferedamount title=dom-WebSocket-bufferedAmount><code>bufferedAmount</code></dfn>
-  attribute must return the number of bytes of application data (UTF-8
-  text and binary data) that have been queued using <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> but that, as of the last
-  time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a>, had not yet been transmitted to
-  the network. (This thus includes any text sent during the execution
-  of the current task, regardless of whether the user agent is able to
-  transmit text asynchronously with script execution.) This does not
-  include framing overhead incurred by the protocol, or buffering done
-  by the operating system or network hardware. If the connection is
-  closed, this attribute's value will only increase with each call to
-  the <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> method (the
+  </ol><hr><p>The <dfn id=dom-websocket-bufferedamount title=dom-WebSocket-bufferedAmount><code>bufferedAmount</code></dfn> attribute must
+  return the number of bytes of application data (UTF-8 text and binary data) that have been queued
+  using <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> but that, as of the last time the <a href=#event-loop>event
+  loop</a> started executing a <a href=#concept-task title=concept-task>task</a>, had not yet been
+  transmitted to the network. (This thus includes any text sent during the execution of the current
+  task, regardless of whether the user agent is able to transmit text asynchronously with script
+  execution.) This does not include framing overhead incurred by the protocol, or buffering done by
+  the operating system or network hardware. If the connection is closed, this attribute's value will
+  only increase with each call to the <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> method (the
   number does not reset to zero once the connection closes).</p>
 
   <div class=example>
 
    <p>In this simple example, the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-   attribute is used to ensure that updates are sent either at the
-   rate of one update every 50ms, if the network can handle that rate,
-   or at whatever rate the network <em>can</em> handle, if that is too
-   fast.</p>
+   attribute is used to ensure that updates are sent either at the rate of one update every 50ms, if
+   the network can handle that rate, or at whatever rate the network <em>can</em> handle, if that is
+   too fast.</p>
 
    <pre>var socket = new WebSocket('ws://game.example.com:12010/updates');
 socket.onopen = function () {
@@ -82655,60 +82362,46 @@
   }, 50);
 };</pre>
 
-   <p>The <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-   attribute can also be used to saturate the network without sending
-   the data at a higher rate than the network can handle, though this
-   requires more careful monitoring of the value of the attribute over
-   time.</p>
+   <p>The <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute can also be
+   used to saturate the network without sending the data at a higher rate than the network can
+   handle, though this requires more careful monitoring of the value of the attribute over time.</p>
 
   </div>
 
-  <hr><p>When a <code><a href=#websocket>WebSocket</a></code> object is created, its <dfn id=dom-websocket-binarytype title=dom-WebSocket-binaryType><code>binaryType</code></dfn> IDL
-  attribute must be set to the string "<code title="">blob</code>". On
-  getting, it must return the last value it was set to. On setting,
-  the user agent must set the IDL attribute to the new value.</p>
+  <hr><p>When a <code><a href=#websocket>WebSocket</a></code> object is created, its <dfn id=dom-websocket-binarytype title=dom-WebSocket-binaryType><code>binaryType</code></dfn> IDL attribute must be set to the
+  string "<code title="">blob</code>". On getting, it must return the last value it was set to. On
+  setting, the user agent must set the IDL attribute to the new value.</p>
 
-  <p class=note>This attribute allows authors to control how binary
-  data is exposed to scripts. By setting the attribute to "<code title="">blob</code>", binary data is returned in <code><a href=#blob>Blob</a></code>
-  form; by setting it to "<code title="">arraybuffer</code>", it is
-  returned in <code><a href=#arraybuffer>ArrayBuffer</a></code> form. User agents can use this
-  as a hint for how to handle incoming binary data: if the attribute
-  is set to "<code title="">blob</code>", it is safe to spool it to
-  disk, and if it is set to "<code title="">arraybuffer</code>", it is
-  likely more efficient to keep the data in memory. Naturally, user
-  agents are encouraged to use more subtle heuristics to decide
-  whether to keep incoming data in memory or not, e.g. based on how
-  big the data is or how common it is for a script to change the
-  attribute at the last minute. This latter aspect is important in
-  particular because it is quite possible for the attribute to be
-  changed after the user agent has received the data but before the
-  user agent has fired the event for it.</p>
+  <p class=note>This attribute allows authors to control how binary data is exposed to scripts. By
+  setting the attribute to "<code title="">blob</code>", binary data is returned in
+  <code><a href=#blob>Blob</a></code> form; by setting it to "<code title="">arraybuffer</code>", it is returned in
+  <code><a href=#arraybuffer>ArrayBuffer</a></code> form. User agents can use this as a hint for how to handle incoming
+  binary data: if the attribute is set to "<code title="">blob</code>", it is safe to spool it to
+  disk, and if it is set to "<code title="">arraybuffer</code>", it is likely more efficient to keep
+  the data in memory. Naturally, user agents are encouraged to use more subtle heuristics to decide
+  whether to keep incoming data in memory or not, e.g. based on how big the data is or how common it
+  is for a script to change the attribute at the last minute. This latter aspect is important in
+  particular because it is quite possible for the attribute to be changed after the user agent has
+  received the data but before the user agent has fired the event for it.</p>
 
-  <p>The <dfn id=dom-websocket-send title=dom-WebSocket-send><code>send(<var title="">data</var>)</code></dfn> method transmits data using the
-  connection. If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute is
-  <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code>, it must
-  throw an <code><a href=#invalidstateerror>InvalidStateError</a></code> exception. Otherwise, the
-  user agent must run the appropriate set of steps from the following
-  list:</p>
+  <p>The <dfn id=dom-websocket-send title=dom-WebSocket-send><code>send(<var title="">data</var>)</code></dfn> method
+  transmits data using the connection. If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute is <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code>, it must throw an
+  <code><a href=#invalidstateerror>InvalidStateError</a></code> exception. Otherwise, the user agent must run the appropriate set
+  of steps from the following list:</p>
 
   <dl><dt>If the argument is a string</dt>
 
    <dd>
 
-    <p>Let <var title="">data</var> be the result of <a href=#convert-a-domstring-to-a-sequence-of-unicode-characters title="convert a DOMString to a sequence of Unicode
-    characters">converting the <var title="">data</var> argument to a
-    sequence of Unicode characters</a>. If <i><a href=#the-websocket-connection-is-established>the WebSocket
-    connection is established</a></i> and <i title="the WebSocket closing
-    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet
-    started</a></i>, then the user agent must <i>send a WebSocket
-    Message</i> comprised of <var title="">data</var> using a text
-    frame opcode; if the data cannot be sent, e.g. because it would
-    need to be buffered but the buffer is full, the user agent must
-    <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any
-    invocation of this method with a string argument that does not
-    throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the number of bytes needed to express the argument as
-    UTF-8. <a href=#refsUNICODE>[UNICODE]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></p>
+    <p>Let <var title="">data</var> be the result of <a href=#convert-a-domstring-to-a-sequence-of-unicode-characters title="convert a DOMString to a sequence
+    of Unicode characters">converting the <var title="">data</var> argument to a sequence of Unicode
+    characters</a>. If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i> and <i title="the WebSocket
+    closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the
+    user agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a
+    text frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any invocation of this method with a
+    string argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the number of bytes
+    needed to express the argument as UTF-8. <a href=#refsUNICODE>[UNICODE]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></p>
 
    </dd>
 
@@ -82717,19 +82410,15 @@
 
    <dd>
 
-    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket
-    closing handshake has not yet started</a></i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket
-    connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with
-    prejudice</a>. The data to be sent is the raw data represented
-    by the <code><a href=#blob>Blob</a></code> object. <!-- that sentence is meant to
-    invoke "This interface represents immutable raw data." --> Any
-    invocation of this method with a <code><a href=#blob>Blob</a></code> argument that
-    does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the size of the <code><a href=#blob>Blob</a></code> object's raw data,
-    in bytes. <!-- that sentence is meant to invoke the same as
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the raw data
+    represented by the <code><a href=#blob>Blob</a></code> object. <!-- that sentence is meant to invoke "This
+    interface represents immutable raw data." --> Any invocation of this method with a
+    <code><a href=#blob>Blob</a></code> argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the size of the
+    <code><a href=#blob>Blob</a></code> object's raw data, in bytes. <!-- that sentence is meant to invoke the same as
     Blob.size --> <a href=#refsWSP>[WSP]</a> <a href=#refsFILEAPI>[FILEAPI]</a></p>
 
    </dd>
@@ -82739,24 +82428,19 @@
 
    <dd>
 
-    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket
-    closing handshake has not yet started</a></i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket
-    connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with
-    prejudice</a>. The data to be sent is the data stored in the
-    buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object. <!-- that
-    sentence is meant to invoke "The ArrayBuffer type describes a
-    buffer used to store data for the array buffer views." at the top
-    of the Typed Array spec, and "Optional byteOffset and length can
-    be used to limit the section of the buffer referenced" in the
-    definition of the TypedArray constructor --> Any invocation of
-    this method with an <code><a href=#arraybuffer>ArrayBuffer</a></code> argument that does
-    not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the length of the <code><a href=#arraybuffer>ArrayBuffer</a></code> in bytes.
-    <!-- that sentence is meant to invoke the same as
-    ArrayBuffer.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    stored in the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object. <!-- that sentence is
+    meant to invoke "The ArrayBuffer type describes a buffer used to store data for the array buffer
+    views." at the top of the Typed Array spec, and "Optional byteOffset and length can be used to
+    limit the section of the buffer referenced" in the definition of the TypedArray constructor -->
+    Any invocation of this method with an <code><a href=#arraybuffer>ArrayBuffer</a></code> argument that does not throw an
+    exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
+    attribute by the length of the <code><a href=#arraybuffer>ArrayBuffer</a></code> in bytes. <!-- that sentence is meant to
+    invoke the same as ArrayBuffer.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
 
    </dd>
 
@@ -82765,32 +82449,26 @@
 
    <dd>
 
-    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket
-    closing handshake has not yet started</a></i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket
-    connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with
-    prejudice</a>. The data to be sent is the data stored in the
-    section of the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code>
-    object that the <code><a href=#arraybufferview>ArrayBufferView</a></code> object references.
-    <!-- that sentence is meant to invoke "The ArrayBuffer type
-    describes a buffer used to store data for the array buffer views."
-    at the top of the Typed Array spec, and "Optional byteOffset and
-    length can be used to limit the section of the buffer referenced"
-    in the definition of the TypedArray constructor --> Any invocation
-    of this method with an <code><a href=#arraybufferview>ArrayBufferView</a></code> argument that
-    does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the length of the <code><a href=#arraybufferview>ArrayBufferView</a></code> in
-    bytes. <!-- that sentence is meant to invoke the same as
-    ArrayBufferView.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    stored in the section of the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object that the
+    <code><a href=#arraybufferview>ArrayBufferView</a></code> object references. <!-- that sentence is meant to invoke "The
+    ArrayBuffer type describes a buffer used to store data for the array buffer views." at the top
+    of the Typed Array spec, and "Optional byteOffset and length can be used to limit the section of
+    the buffer referenced" in the definition of the TypedArray constructor --> Any invocation of
+    this method with an <code><a href=#arraybufferview>ArrayBufferView</a></code> argument that does not throw an exception must
+    increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the
+    length of the <code><a href=#arraybufferview>ArrayBufferView</a></code> in bytes. <!-- that sentence is meant to invoke the
+    same as ArrayBufferView.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
 
    </dd>
 
-  </dl><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their
-  corresponding <a href=#event-handler-event-type title="event handler event type">event handler
-  event types</a>) that must be supported, as IDL attributes, by
-  all objects implementing the <code><a href=#websocket>WebSocket</a></code> interface:</p>
+  </dl><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their corresponding <a href=#event-handler-event-type title="event
+  handler event type">event handler event types</a>) that must be supported, as IDL attributes,
+  by all objects implementing the <code><a href=#websocket>WebSocket</a></code> interface:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
    <tbody><tr><td><dfn id=handler-websocket-onopen title=handler-WebSocket-onopen><code>onopen</code></dfn> <td> <code title=event-open>open</code>
@@ -82799,34 +82477,32 @@
     <tr><td><dfn id=handler-websocket-onclose title=handler-WebSocket-onclose><code>onclose</code></dfn> <td> <code title=event-socket-close>close</code>
   </table><h4 id=feedback-from-the-protocol><span class=secno>10.3.3 </span>Feedback from the protocol</h4>
 
-  <p>When <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, the user
-  agent must <a href=#queue-a-task>queue a task</a> to run these steps:</p>
+  <p>When <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, the user agent must <a href=#queue-a-task>queue a
+  task</a> to run these steps:</p>
 
-  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
-   value to <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1).</li>
+  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
+   <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1).</li>
 
-   <li><p>Change the <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute's
-   value to the <i><a href=#extensions-in-use>extensions in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   <li><p>Change the <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute's value to
+   the <i><a href=#extensions-in-use>extensions in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
-   <li><p>Change the <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute's value to
-   the <i><a href=#subprotocol-in-use>subprotocol in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   <li><p>Change the <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute's value to the
+   <i><a href=#subprotocol-in-use>subprotocol in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
-   <li><p>Act as if the user agent had <a href=#receives-a-set-cookie-string title="receives a
-   set-cookie-string">received a set-cookie-string</a> consisting
-   of the <i><a href="#cookies-set-during-the-server's-opening-handshake">cookies set during the server's opening handshake</a></i>,
-   for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
+   <li><p>Act as if the user agent had <a href=#receives-a-set-cookie-string title="receives a set-cookie-string">received a
+   set-cookie-string</a> consisting of the <i><a href="#cookies-set-during-the-server's-opening-handshake">cookies set during the server's opening
+   handshake</a></i>, for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
 
-   <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-open>open</code> at the <code><a href=#websocket>WebSocket</a></code>
-   object.</p>
+   <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-open>open</code> at the
+   <code><a href=#websocket>WebSocket</a></code> object.</p>
 
-  </ol><hr><p>When <i><a href=#a-websocket-message-has-been-received>a WebSocket message has been received</a></i> with type <var title="">type</var> and data <var title="">data</var>, the user
-  agent must <a href=#queue-a-task>queue a task</a> to follow these steps: <a href=#refsWSP>[WSP]</a></p>
+  </ol><hr><p>When <i><a href=#a-websocket-message-has-been-received>a WebSocket message has been received</a></i> with type <var title="">type</var> and data
+  <var title="">data</var>, the user agent must <a href=#queue-a-task>queue a task</a> to follow these steps: <a href=#refsWSP>[WSP]</a></p>
 
   <ol><li>
 
-    <p>If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
-    attribute's value is not <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1), then abort these
-    steps.</p>
+    <p>If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value is not
+    <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1), then abort these steps.</p>
 
    </li>
 
@@ -82839,27 +82515,21 @@
 
    </li>
 
-   <li><p>Initialize <var title="">event</var>'s <code title=dom-MessageEvent-origin><a href=#dom-messageevent-origin>origin</a></code> attribute to the
-   <a href=#unicode-serialization-of-an-origin title="Unicode serialization of an origin">Unicode
-   serialization</a> of the <a href=#origin>origin</a> of the
-   <a href=#url>URL</a> that was passed to the <code><a href=#websocket>WebSocket</a></code>
+   <li><p>Initialize <var title="">event</var>'s <code title=dom-MessageEvent-origin><a href=#dom-messageevent-origin>origin</a></code>
+   attribute to the <a href=#unicode-serialization-of-an-origin title="Unicode serialization of an origin">Unicode serialization</a> of
+   the <a href=#origin>origin</a> of the <a href=#url>URL</a> that was passed to the <code><a href=#websocket>WebSocket</a></code>
    object's constructor.</li>
 
    <li>
 
-    <p>If <var title="">type</var> indicates that the data is Text,
-    then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to <var title="">data</var>.
+    <p>If <var title="">type</var> indicates that the data is Text, then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to <var title="">data</var>.
 
-    <p>If <var title="">type</var> indicates that the data is Binary,
-    and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is
-    set to "<code title="">blob</code>", then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to a new
-    <code><a href=#blob>Blob</a></code> object that represents <var title="">data</var>
-    as its raw data. <a href=#refsFILEAPI>[FILEAPI]</a></p>
+    <p>If <var title="">type</var> indicates that the data is Binary, and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is set to "<code title="">blob</code>", then
+    initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute
+    to a new <code><a href=#blob>Blob</a></code> object that represents <var title="">data</var> as its raw data. <a href=#refsFILEAPI>[FILEAPI]</a></p>
 
-    <p>If <var title="">type</var> indicates that the data is Binary,
-    and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is
-    set to "<code title="">arraybuffer</code>", then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to a new
-    read-only <code><a href=#arraybuffer>ArrayBuffer</a></code> object whose contents are <var title="">data</var>. <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
+    <p>If <var title="">type</var> indicates that the data is Binary, and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is set to "<code title="">arraybuffer</code>", then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to a new read-only <code><a href=#arraybuffer>ArrayBuffer</a></code>
+    object whose contents are <var title="">data</var>. <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
 
    </li>
 
@@ -82870,21 +82540,17 @@
 
    </li>
 
-  </ol><p class=note>User agents are encouraged to check if they can
-  perform the above steps efficiently before they run the task,
-  picking tasks from other <a href=#task-queue title="task queue">task queues</a>
-  while they prepare the buffers if not. For example, if the <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> attribute was set
-  to "<code title="">blob</code>" when the data arrived, and the user
-  agent spooled all the data to disk, but just before running the
-  above <a href=#concept-task title=concept-task>task</a> for this particular
-  message the script switched <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> to "<code title="">arraybuffer</code>", the user agent would want to page the
-  data back to RAM before running this <a href=#concept-task title=concept-task>task</a> so as to avoid stalling the main
-  thread while it created the <code><a href=#arraybuffer>ArrayBuffer</a></code> object.</p>
+  </ol><p class=note>User agents are encouraged to check if they can perform the above steps
+  efficiently before they run the task, picking tasks from other <a href=#task-queue title="task queue">task
+  queues</a> while they prepare the buffers if not. For example, if the <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> attribute was set to "<code title="">blob</code>" when the data arrived, and the user agent spooled all the data to disk, but
+  just before running the above <a href=#concept-task title=concept-task>task</a> for this particular message
+  the script switched <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> to "<code title="">arraybuffer</code>", the user agent would want to page the data back to RAM before
+  running this <a href=#concept-task title=concept-task>task</a> so as to avoid stalling the main thread while
+  it created the <code><a href=#arraybuffer>ArrayBuffer</a></code> object.</p>
 
   <div class=example>
 
-   <p>Here is an example of how to define a handler for the <code title=event-message><a href=#event-message>message</a></code> event in the case of text
-   frames:</p>
+   <p>Here is an example of how to define a handler for the <code title=event-message><a href=#event-message>message</a></code> event in the case of text frames:</p>
 
    <pre>mysocket.onmessage = function (event) {
   if (event.data == 'on') {
@@ -82894,31 +82560,24 @@
   }
 };</pre>
 
-   <p>The protocol here is a trivial one, with the server just sending
-   "on" or "off" messages.</p>
+   <p>The protocol here is a trivial one, with the server just sending "on" or "off" messages.</p>
 
   </div>
 
-  <hr><p>When <i><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake is started</a></i>, the user
-  agent must <a href=#queue-a-task>queue a task</a> to change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). (If the
-  <code title=dom-WebSocket-close><a href=#dom-websocket-close>close()</a></code> method was called,
-  the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
-  attribute's value will already be set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) when this task
-  runs.) <a href=#refsWSP>[WSP]</a></p>
+  <hr><p>When <i><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake is started</a></i>, the user agent must <a href=#queue-a-task>queue a
+  task</a> to change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
+  value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). (If the <code title=dom-WebSocket-close><a href=#dom-websocket-close>close()</a></code> method was called, the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value will already be set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) when this task runs.) <a href=#refsWSP>[WSP]</a></p>
 
-  <hr><p id=closeWebSocket>When <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is
-  closed</a></i>, possibly <i title="">cleanly</i>, the user agent must
-  <a href=#queue-a-task>queue a task</a> to run the following substeps:</p>
+  <hr><p id=closeWebSocket>When <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i>, possibly <i title="">cleanly</i>, the user agent must <a href=#queue-a-task>queue a task</a> to run the following
+  substeps:</p>
 
-  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
-   value to <code title=dom-WebSocket-CLOSED><a href=#dom-websocket-closed>CLOSED</a></code>
-   (3).</li>
+  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
+   <code title=dom-WebSocket-CLOSED><a href=#dom-websocket-closed>CLOSED</a></code> (3).</li>
 
-   <li><p>If the user agent was required to <i><a href=#fail-the-websocket-connection>fail the WebSocket
-   connection</a></i> or <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
-   <a href=#fire-a-simple-event>fire a simple event</a> named <code title="">error</code>
-   at the <code><a href=#websocket>WebSocket</a></code> object. <a href=#refsWSP>[WSP]</a></li>
+   <li><p>If the user agent was required to <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> or <i><a href=#the-websocket-connection-is-closed>the WebSocket
+   connection is closed</a></i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
+   <a href=#fire-a-simple-event>fire a simple event</a> named <code title="">error</code> at the <code><a href=#websocket>WebSocket</a></code>
+   object. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Create a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event that uses the
    <code><a href=#closeevent>CloseEvent</a></code> interface, with the event type <code title=event-socket-close>close</code>, which does not bubble, is not cancelable, has no default
@@ -82931,9 +82590,8 @@
 
   </ol><div class=warning>
 
-   <p>User agents must not convey any failure information to scripts
-   in a way that would allow a script to distinguish the following
-   situations:</p>
+   <p>User agents must not convey any failure information to scripts in a way that would allow a
+   script to distinguish the following situations:</p>
 
    <ul><li>A server whose host name could not be resolved.
 
@@ -82941,37 +82599,32 @@
 
     <li>A server that refused the connection on the specified port.
 
-    <li>A server that failed to correctly perform a TLS handshake
-    (e.g., the server certificate can't be verified).
+    <li>A server that failed to correctly perform a TLS handshake (e.g., the server certificate
+    can't be verified).
 
-    <li>A server that did not complete the opening handshake (e.g.
-    because it was not a WebSocket server).
+    <li>A server that did not complete the opening handshake (e.g. because it was not a WebSocket
+    server).
 
-    <li>A WebSocket server that sent a correct opening handshake, but
-    that specified options that caused the client to drop the
-    connection (e.g. the server specified a subprotocol that the
+    <li>A WebSocket server that sent a correct opening handshake, but that specified options that
+    caused the client to drop the connection (e.g. the server specified a subprotocol that the
     client did not offer).
 
-    <li>A WebSocket server that abruptly closed the connection after
-    successfully completing the opening handshake.
+    <li>A WebSocket server that abruptly closed the connection after successfully completing the
+    opening handshake.
 
-   </ul><p>In all of these cases, the <i><a href=#the-websocket-connection-close-code>the WebSocket connection close
-   code</a></i> would be 1006, as required by the WebSocket Protocol
-   specification. <a href=#refsWSP>[WSP]</a></p>
+   </ul><p>In all of these cases, the <i><a href=#the-websocket-connection-close-code>the WebSocket connection close code</a></i> would be 1006, as
+   required by the WebSocket Protocol specification. <a href=#refsWSP>[WSP]</a></p>
 
-   <p>Allowing a script to distinguish these cases would allow a
-   script to probe the user's local network in preparation for an
-   attack.</p>
+   <p>Allowing a script to distinguish these cases would allow a script to probe the user's local
+   network in preparation for an attack.</p>
 
-   <p class=note>In particular, this means the code 1015 is not used
-   by the user agent (unless the server erroneously uses it in its
-   close frame, of course).</p>
+   <p class=note>In particular, this means the code 1015 is not used by the user agent (unless the
+   server erroneously uses it in its close frame, of course).</p>
 
   </div>
 
-  <hr><p>The <a href=#task-source>task source</a> for all <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a
-  task">queued</a> in this section is the <dfn id=websocket-task-source>WebSocket task
-  source</dfn>.</p>
+  <hr><p>The <a href=#task-source>task source</a> for all <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue
+  a task">queued</a> in this section is the <dfn id=websocket-task-source>WebSocket task source</dfn>.</p>
 
 
   <h4 id=ping-and-pong-frames><span class=secno>10.3.4 </span>Ping and Pong frames</h4>
@@ -83092,38 +82745,33 @@
 
   <h4 id=garbage-collection-1><span class=secno>10.3.7 </span>Garbage collection</h4>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  was set to <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code>
-  (0) as of the last time the <a href=#event-loop>event loop</a> started
-  executing a <a href=#concept-task title=concept-task>task</a> must not be
-  garbage collected if there are any event listeners registered for
-  <code title=event-open>open</code> events, <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code> events, or <code title=event-socket-close>close</code> events.</p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
+  attribute's value was set to <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code> (0) as of
+  the last time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must not be garbage collected if there are any event listeners
+  registered for <code title=event-open>open</code> events, <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code> events, or
+  <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  was set to <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1) as of
-  the last time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must not be garbage collected if
-  there are any event listeners registered for <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code>, or <code title=event-socket-close>close</code> events.</p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
+  attribute's value was set to <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1) as of the last time
+  the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must not be
+  garbage collected if there are any event listeners registered for <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code>, or <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  was set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) as
-  of the last time the <a href=#event-loop>event loop</a> started executing a
-  <a href=#concept-task title=concept-task>task</a> must not be garbage collected
-  if there are any event listeners registered for <code title=event-error>error</code> or <code title=event-socket-close>close</code> events.</p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
+  attribute's value was set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) as of the last
+  time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must
+  not be garbage collected if there are any event listeners registered for <code title=event-error>error</code> or <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket
-  connection is established"><a href=#the-websocket-connection-is-established>an established connection</a></i> that has
-  data queued to be transmitted to the network must not be garbage
-  collected. <a href=#refsWSP>[WSP]</a></p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket connection is established"><a href=#the-websocket-connection-is-established>an
+  established connection</a></i> that has data queued to be transmitted to the network must not be
+  garbage collected. <a href=#refsWSP>[WSP]</a></p>
 
-  <p>If a <code><a href=#websocket>WebSocket</a></code> object is garbage collected while its
-  connection is still open, the user agent must <i><a href=#start-the-websocket-closing-handshake>start the
-  WebSocket closing handshake</a></i>, with no status code<!--CLOSE
-  CODE--> for the Close message. <a href=#refsWSP>[WSP]</a></p>
+  <p>If a <code><a href=#websocket>WebSocket</a></code> object is garbage collected while its connection is still open, the
+  user agent must <i><a href=#start-the-websocket-closing-handshake>start the WebSocket closing handshake</a></i>, with no status code<!--CLOSE CODE-->
+  for the Close message. <a href=#refsWSP>[WSP]</a></p>
 
-  <hr><p>If a user agent is to <dfn id=make-disappear>make disappear</dfn> a
-  <code><a href=#websocket>WebSocket</a></code> object (this happens when a
-  <code><a href=#document>Document</a></code> object goes away), the user agent must follow
-  the first appropriate set of steps from the following list:</p>
+  <hr><p>If a user agent is to <dfn id=make-disappear>make disappear</dfn> a <code><a href=#websocket>WebSocket</a></code> object (this happens
+  when a <code><a href=#document>Document</a></code> object goes away), the user agent must follow the first appropriate
+  set of steps from the following list:</p>
 
   <dl class=switch><dt>If the WebSocket connection is not yet <i title="the WebSocket
    connection is established"><a href=#the-websocket-connection-is-established>established</a></i> <a href=#refsWSP>[WSP]</a></dt>
@@ -83800,16 +83448,13 @@
 
   </dl><div class=impl>
 
-  <p>Each <code><a href=#messageport>MessagePort</a></code> object can be entangled with
-  another (a symmetric relationship). Each <code><a href=#messageport>MessagePort</a></code>
-  object also has a <a href=#task-source>task source</a> called the <dfn id=port-message-queue>port
-  message queue</dfn>, initially empty. A <a href=#port-message-queue>port message
-  queue</a> can be enabled or disabled, and is initially
-  disabled. Once enabled, a port can never be disabled again (though
-  messages in the queue can get moved to another queue or removed
-  altogether, which has much the same effect).
-  A <code><a href=#messageport>MessagePort</a></code> also has a <dfn id=has-been-shipped>has been shipped</dfn> flag. It must initially be
-  false.</p>
+  <p>Each <code><a href=#messageport>MessagePort</a></code> object can be entangled with another (a symmetric relationship).
+  Each <code><a href=#messageport>MessagePort</a></code> object also has a <a href=#task-source>task source</a> called the <dfn id=port-message-queue>port
+  message queue</dfn>, initially empty. A <a href=#port-message-queue>port message queue</a> can be enabled or
+  disabled, and is initially disabled. Once enabled, a port can never be disabled again (though
+  messages in the queue can get moved to another queue or removed altogether, which has much the
+  same effect). A <code><a href=#messageport>MessagePort</a></code> also has a <dfn id=has-been-shipped>has been shipped</dfn> flag. It must
+  initially be false.</p>
 
   <p>Each <a href=#event-loop>event loop</a> has a <a href=#task-source>task source</a> called the <dfn id=unshipped-port-message-queue>unshipped port
   message queue</dfn>. This is a virtual <a href=#task-source>task source</a>: it must act as if it contained
@@ -83828,15 +83473,12 @@
   is true, its <a href=#port-message-queue>port message queue</a> acts as a first-class <a href=#task-source>task source</a>,
   unaffected to any <a href=#unshipped-port-message-queue>unshipped port message queue</a>.</p>
 
-  <p>When the user agent is to <dfn id=create-a-new-messageport-object>create a new
-  <code>MessagePort</code> object</dfn> owned by a <a href="#script's-global-object">script's
-  global object</a> object <var title="">owner</var>, it must
-  instantiate a new <code><a href=#messageport>MessagePort</a></code> object, and let its owner
-  be <var title="">owner</var>.</p>
+  <p>When the user agent is to <dfn id=create-a-new-messageport-object>create a new <code>MessagePort</code> object</dfn> owned by a
+  <a href="#script's-global-object">script's global object</a> object <var title="">owner</var>, it must instantiate a new
+  <code><a href=#messageport>MessagePort</a></code> object, and let its owner be <var title="">owner</var>.</p>
 
-  <p>When the user agent is to <dfn id=entangle>entangle</dfn> two
-  <code><a href=#messageport>MessagePort</a></code> objects, it must run the following
-  steps:</p>
+  <p>When the user agent is to <dfn id=entangle>entangle</dfn> two <code><a href=#messageport>MessagePort</a></code> objects, it must run
+  the following steps:</p>
 
   <ol><li>
 
@@ -84090,29 +83732,24 @@
    title="">target port</var>.</p></li>
 
   </ol>
---><hr><p>The <dfn id=dom-messageport-start title=dom-MessagePort-start><code>start()</code></dfn>
-  method must enable its port's <a href=#port-message-queue>port message queue</a>, if it
-  is not already enabled.</p>
+--><hr><p>The <dfn id=dom-messageport-start title=dom-MessagePort-start><code>start()</code></dfn> method must enable its port's
+  <a href=#port-message-queue>port message queue</a>, if it is not already enabled.</p>
 
-  <p>When a port's <a href=#port-message-queue>port message queue</a> is enabled, the
-  <a href=#event-loop>event loop</a> must use it as one of its <a href=#task-source title="task
-  source">task sources</a>.</p>
+  <p>When a port's <a href=#port-message-queue>port message queue</a> is enabled, the <a href=#event-loop>event loop</a> must use
+  it as one of its <a href=#task-source title="task source">task sources</a>.</p>
 
-  <p class=note>If the <code><a href=#document>Document</a></code> of the port's event
-  listeners' <a href="#script's-global-object" title="script's global object">global object</a>
-  is not <a href=#fully-active>fully active</a>, then the messages are lost.</p>
-  <!-- because of the jump-to-entry-point algorithm first step -->
+  <p class=note>If the <code><a href=#document>Document</a></code> of the port's event listeners' <a href="#script's-global-object" title="script's
+  global object">global object</a> is not <a href=#fully-active>fully active</a>, then the messages are
+  lost.</p> <!-- because of the jump-to-entry-point algorithm first step -->
 
-  <hr><p>The <dfn id=dom-messageport-close title=dom-MessagePort-close><code>close()</code></dfn>
-  method, when called on a port <var title="">local port</var> that is
-  entangled with another port, must cause the user agents to
-  disentangle the two ports. If the method is called on a port that is
-  not entangled, then the method must do nothing.</p>
+  <hr><p>The <dfn id=dom-messageport-close title=dom-MessagePort-close><code>close()</code></dfn> method, when called on a port
+  <var title="">local port</var> that is entangled with another port, must cause the user agents to
+  disentangle the two ports. If the method is called on a port that is not entangled, then the
+  method must do nothing.</p>
 
-  <hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their
-  corresponding <a href=#event-handler-event-type title="event handler event type">event handler
-  event types</a>) that must be supported, as IDL attributes, by
-  all objects implementing the <code><a href=#messageport>MessagePort</a></code> interface:</p>
+  <hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their corresponding <a href=#event-handler-event-type title="event
+  handler event type">event handler event types</a>) that must be supported, as IDL attributes,
+  by all objects implementing the <code><a href=#messageport>MessagePort</a></code> interface:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
    <tbody><tr><td><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn> <td> <code title=event-message><a href=#event-message>message</a></code>
@@ -84655,27 +84292,20 @@
   <p>The <a href=#task-source>task source</a> for these tasks is the <a href=#dom-manipulation-task-source>DOM manipulation task
   source</a>.</p>
 
-  <p>If the event is being fired due to an invocation of the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code> or <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code> methods, the
-  event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code>
-  attribute initialized to the name of the key in question, its <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code> attribute initialized to
-  the old value of the key in question, or null if the key is newly
-  added, and its <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attribute initialized to
-  the new value of the key in question, or null if the key was
-  removed.</p>
+  <p>If the event is being fired due to an invocation of the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code> or <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code> methods, the event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code> attribute initialized to the name of the key in question,
+  its <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code> attribute initialized to the old value
+  of the key in question, or null if the key is newly added, and its <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attribute initialized to the new value of the
+  key in question, or null if the key was removed.</p>
 
-  <p>Otherwise, if the event is being fired due to an invocation of
-  the <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> method, the event
-  must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code>, <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code>, and <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attributes
-  initialized to null.</p>
+  <p>Otherwise, if the event is being fired due to an invocation of the <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> method, the event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code>, <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code>,
+  and <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attributes initialized to null.</p>
 
-  <p>In addition, the event must have its <code title=dom-StorageEvent-url><a href=#dom-storageevent-url>url</a></code> attribute initialized to
-  <a href="#the-document's-address" title="the document's address">the address of the
-  document</a> whose <code><a href=#storage-0>Storage</a></code> object was affected; and
-  its <code title=dom-StorageEvent-storageArea><a href=#dom-storageevent-storagearea>storageArea</a></code>
-  attribute initialized to the <code><a href=#storage-0>Storage</a></code> object from the
-  <code><a href=#window>Window</a></code> object of the target <code><a href=#document>Document</a></code> that
-  represents the same kind of <code><a href=#storage-0>Storage</a></code> area as was
-  affected (i.e. session or local).</p>
+  <p>In addition, the event must have its <code title=dom-StorageEvent-url><a href=#dom-storageevent-url>url</a></code> attribute
+  initialized to <a href="#the-document's-address" title="the document's address">the address of the document</a> whose
+  <code><a href=#storage-0>Storage</a></code> object was affected; and its <code title=dom-StorageEvent-storageArea><a href=#dom-storageevent-storagearea>storageArea</a></code> attribute initialized to the
+  <code><a href=#storage-0>Storage</a></code> object from the <code><a href=#window>Window</a></code> object of the target
+  <code><a href=#document>Document</a></code> that represents the same kind of <code><a href=#storage-0>Storage</a></code> area as was affected
+  (i.e. session or local).</p>
 
 
   <h5 id=event-definition-0><span class=secno>11.2.4.1 </span>Event definition</h5>
@@ -91636,48 +91266,39 @@
 
       <p>Run these steps:</p>
 
-      <ol><li><p>Let <var title="">the script</var> be the <a href=#pending-parsing-blocking-script>pending
-       parsing-blocking script</a>. There is no longer a <a href=#pending-parsing-blocking-script>pending
-       parsing-blocking script</a>.</li>
+      <ol><li><p>Let <var title="">the script</var> be the <a href=#pending-parsing-blocking-script>pending parsing-blocking
+       script</a>. There is no longer a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>.</li>
 
-       <li><p>Block the <a href=#tokenization title=tokenization>tokenizer</a>
-       for this instance of the <a href=#html-parser>HTML parser</a>, such that
-       the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a>.</li>
+       <li><p>Block the <a href=#tokenization title=tokenization>tokenizer</a> for this instance of the
+       <a href=#html-parser>HTML parser</a>, such that the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a>.</li>
 
-       <li><p>If the parser's <code><a href=#document>Document</a></code> <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style
-       sheet that is blocking scripts</a> or <var title="">the
-       script</var>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag
-       is not set: <a href=#spin-the-event-loop>spin the event loop</a> until the parser's
-       <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
-       scripts</a> and <var title="">the script</var>'s
-       <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is
-       set.</li>
+       <li><p>If the parser's <code><a href=#document>Document</a></code> <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking
+       scripts</a> or <var title="">the script</var>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a>
+       flag is not set: <a href=#spin-the-event-loop>spin the event loop</a> until the parser's <code><a href=#document>Document</a></code>
+       <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking scripts</a> and <var title="">the script</var>'s
+       <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is set.</li>
 
-       <li><p>Unblock the <a href=#tokenization title=tokenization>tokenizer</a>
-       for this instance of the <a href=#html-parser>HTML parser</a>, such that
-       <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a> can again be
-       run.</li>
+       <li><p>Unblock the <a href=#tokenization title=tokenization>tokenizer</a> for this instance of the
+       <a href=#html-parser>HTML parser</a>, such that <a href=#concept-task title=concept-task>tasks</a> that invoke the
+       <a href=#tokenization title=tokenization>tokenizer</a> can again be run.</li>
 
-       <li><p>Let the <a href=#insertion-point>insertion point</a> be just before the
-       <a href=#next-input-character>next input character</a>.</li>
+       <li><p>Let the <a href=#insertion-point>insertion point</a> be just before the <a href=#next-input-character>next input
+       character</a>.</li>
 
-       <li><p>Increment the parser's <a href=#script-nesting-level>script nesting level</a>
-       by one (it should be zero before this step, so this sets it to
-       one).</li>
+       <li><p>Increment the parser's <a href=#script-nesting-level>script nesting level</a> by one (it should be zero
+       before this step, so this sets it to one).</li>
 
-       <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a>
-       <var title="">the script</var>.</li>
+       <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> <var title="">the
+       script</var>.</li>
 
-       <li><p>Decrement the parser's <a href=#script-nesting-level>script nesting level</a>
-       by one. If the parser's <a href=#script-nesting-level>script nesting level</a> is
-       zero (which it always should be at this point), then set the
-       <a href=#parser-pause-flag>parser pause flag</a> to false.</p>
+       <li><p>Decrement the parser's <a href=#script-nesting-level>script nesting level</a> by one. If the parser's
+       <a href=#script-nesting-level>script nesting level</a> is zero (which it always should be at this point), then set
+       the <a href=#parser-pause-flag>parser pause flag</a> to false.</p>
 
-       <li><p>Let the <a href=#insertion-point>insertion point</a> be undefined
-       again.</li>
+       <li><p>Let the <a href=#insertion-point>insertion point</a> be undefined again.</li>
 
-       <li><p>If there is once again a <a href=#pending-parsing-blocking-script>pending parsing-blocking
-       script</a>, then repeat these steps from step 1.</li>
+       <li><p>If there is once again a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>, then repeat
+       these steps from step 1.</li>
 
       </ol></dd>
 
@@ -93065,56 +92686,44 @@
   <p>Once the user agent <dfn id=stop-parsing title="stop parsing">stops parsing</dfn>
   the document, the user agent must run the following steps:</p>
 
-  <ol><!-- this happens as part of one of the tasks that runs the parser --><li><p>Set the <a href=#current-document-readiness>current document readiness</a> to "<code title="">interactive</code>" <!-- this also synchronously fires an
-   event --> and the <a href=#insertion-point>insertion point</a> to
+  <ol><!-- this happens as part of one of the tasks that runs the parser --><li><p>Set the <a href=#current-document-readiness>current document readiness</a> to "<code title="">interactive</code>"
+   <!-- this also synchronously fires an event --> and the <a href=#insertion-point>insertion point</a> to
    undefined.</li>
 
-   <li><p>Pop <em>all</em> the nodes off the <a href=#stack-of-open-elements>stack of open
-   elements</a>.</li>
+   <li><p>Pop <em>all</em> the nodes off the <a href=#stack-of-open-elements>stack of open elements</a>.</li>
 
-   <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the
-   document has finished parsing</a> is not empty, run these
-   substeps:</p>
+   <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has finished
+   parsing</a> is not empty, run these substeps:</p>
 
-    <ol><li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the first
-     <code><a href=#the-script-element>script</a></code> in the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will
-     execute when the document has finished parsing</a> has its
-     <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag set <em>and</em>
-     the parser's <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that
-     is blocking scripts</a>.</li>
+    <ol><li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the first <code><a href=#the-script-element>script</a></code> in the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list
+     of scripts that will execute when the document has finished parsing</a> has its <a href=#ready-to-be-parser-executed>"ready
+     to be parser-executed"</a> flag set <em>and</em> the parser's <code><a href=#document>Document</a></code>
+     <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking scripts</a>.</li>
 
-     <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the
-     first <code><a href=#the-script-element>script</a></code> in the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will
-     execute when the document has finished parsing</a>.</li>
+     <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the first <code><a href=#the-script-element>script</a></code> in
+     the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has finished
+     parsing</a>.</li>
 
-     <li><p>Remove the first <code><a href=#the-script-element>script</a></code> element from the
-     <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has
-     finished parsing</a> (i.e. shift out the first entry in the
+     <li><p>Remove the first <code><a href=#the-script-element>script</a></code> element from the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will
+     execute when the document has finished parsing</a> (i.e. shift out the first entry in the
      list).</li>
 
-     <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the
-     document has finished parsing</a> is still not empty, repeat
-     these substeps again from substep 1.</p>
+     <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has finished
+     parsing</a> is still not empty, repeat these substeps again from substep 1.</p>
 
     </ol></li>
 
-   <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
-   event</a> that bubbles named <code title=event-DOMContentLoaded>DOMContentLoaded</code> at the
-   <code><a href=#document>Document</a></code>.</li>
+   <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> that bubbles named <code title=event-DOMContentLoaded>DOMContentLoaded</code> at the <code><a href=#document>Document</a></code>.</li>
 
-   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the <a href=#set-of-scripts-that-will-execute-as-soon-as-possible>set of
-   scripts that will execute as soon as possible</a> and the
-   <a href=#list-of-scripts-that-will-execute-in-order-as-soon-as-possible>list of scripts that will execute in order as soon as
-   possible</a> are empty.</li> <!-- this step is not redundant
-   with the next one, since <script> nodes delay the load event of the
-   document they are in, but they might change document between being
-   added to one document's set/list and executing those scripts, so
-   they might be delaying another document but still be in this
-   document's set/list. -->
+   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the <a href=#set-of-scripts-that-will-execute-as-soon-as-possible>set of scripts that will execute as soon
+   as possible</a> and the <a href=#list-of-scripts-that-will-execute-in-order-as-soon-as-possible>list of scripts that will execute in order as soon as
+   possible</a> are empty.</li> <!-- this step is not redundant with the next one, since
+   <script> nodes delay the load event of the document they are in, but they might change document
+   between being added to one document's set/list and executing those scripts, so they might be
+   delaying another document but still be in this document's set/list. -->
 
-   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until there is nothing that
-   <dfn id=delay-the-load-event title="delay the load event">delays the load event</dfn> in
-   the <code><a href=#document>Document</a></code>.</li>
+   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until there is nothing that <dfn id=delay-the-load-event title="delay the load
+   event">delays the load event</dfn> in the <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
@@ -94118,17 +93727,14 @@
    <li><code title="">-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN</code></li>
    <li><code title="">-//W3C//DTD MathML 2.0//EN</code></li>
    <li><code title="">-//WAPFORUM//DTD XHTML Mobile 1.0//EN</code></li>
-  </ul><p>Furthermore, user agents should attempt to retrieve the above
-  external entity's content when one of the above public identifiers
-  is used, and should not attempt to retrieve any other external
+  </ul><p>Furthermore, user agents should attempt to retrieve the above external entity's content when
+  one of the above public identifiers is used, and should not attempt to retrieve any other external
   entity's content.</p>
 
-  <p class=note>This is not strictly a <a href=#willful-violation title="willful
-  violation">violation</a> of the XML specification, but it does
-  contradict the spirit of the XML specification's requirements. This
-  is motivated by a desire for user agents to all handle entities in
-  an interoperable fashion without requiring any network access for
-  handling external subsets. <a href=#refsXML>[XML]</a></p>
+  <p class=note>This is not strictly a <a href=#willful-violation title="willful violation">violation</a> of the XML
+  specification, but it does contradict the spirit of the XML specification's requirements. This is
+  motivated by a desire for user agents to all handle entities in an interoperable fashion without
+  requiring any network access for handling external subsets. <a href=#refsXML>[XML]</a></p>
 
   <p id=scriptTagXML>When an <a href=#xml-parser>XML parser</a> creates a <code><a href=#the-script-element>script</a></code> element, it
   must be marked as being <a href=#parser-inserted>"parser-inserted"</a> and its <a href=#force-async>"force-async"</a> flag
@@ -94139,45 +93745,36 @@
   <code><a href=#the-script-element>script</a></code> element. If this causes there to be a <a href=#pending-parsing-blocking-script>pending parsing-blocking
   script</a>, then the user agent must run the following steps:</p>
 
-  <ol><li><p>Block this instance of the <a href=#xml-parser>XML parser</a>, such
-   that the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke it.</li>
+  <ol><li><p>Block this instance of the <a href=#xml-parser>XML parser</a>, such that the <a href=#event-loop>event loop</a>
+   will not run <a href=#concept-task title=concept-task>tasks</a> that invoke it.</li>
 
-   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the parser's
-   <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
-   scripts</a> and the <a href=#pending-parsing-blocking-script>pending parsing-blocking
-   script</a>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is
-   set.</li>
+   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the parser's <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no
+   style sheet that is blocking scripts</a> and the <a href=#pending-parsing-blocking-script>pending parsing-blocking
+   script</a>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is set.</li>
 
-   <li><p>Unblock this instance of the <a href=#xml-parser>XML parser</a>, such
-   that <a href=#concept-task title=concept-task>tasks</a> that invoke it can
-   again be run.</li>
+   <li><p>Unblock this instance of the <a href=#xml-parser>XML parser</a>, such that <a href=#concept-task title=concept-task>tasks</a> that invoke it can again be run.</li>
 
-   <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the
-   <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>.</li>
-
-   <li><p>There is no longer a <a href=#pending-parsing-blocking-script>pending parsing-blocking
+   <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the <a href=#pending-parsing-blocking-script>pending parsing-blocking
    script</a>.</li>
 
+   <li><p>There is no longer a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>.</li>
+
   </ol><p class=note>Since the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> API is not
-  available for <a href=#xml-documents>XML documents</a>, much of the complexity in
-  the <a href=#html-parser>HTML parser</a> is not needed in the <a href=#xml-parser>XML
-  parser</a>.</p>
+  available for <a href=#xml-documents>XML documents</a>, much of the complexity in the <a href=#html-parser>HTML parser</a>
+  is not needed in the <a href=#xml-parser>XML parser</a>.</p>
 
-  <p>Certain algorithms in this specification <dfn id=feed-the-parser title="feed the
-  parser">spoon-feed the parser</dfn> characters one string at a
-  time. In such cases, the <a href=#xml-parser>XML parser</a> must act as it
-  would have if faced with a single string consisting of the
-  concatenation of all those characters.</p>
+  <p>Certain algorithms in this specification <dfn id=feed-the-parser title="feed the parser">spoon-feed the
+  parser</dfn> characters one string at a time. In such cases, the <a href=#xml-parser>XML parser</a> must act
+  as it would have if faced with a single string consisting of the concatenation of all those
+  characters.</p>
 
-  <p>When an <a href=#xml-parser>XML parser</a> reaches the end of its input, it
-  must <a href=#stop-parsing>stop parsing</a>, following the same rules as the
-  <a href=#html-parser>HTML parser</a>. An <a href=#xml-parser>XML parser</a> can also be
-  <a href=#abort-a-parser title="abort a parser">aborted</a>, which must again by
-  done in the same way as for an <a href=#html-parser>HTML parser</a>.</p>
+  <p>When an <a href=#xml-parser>XML parser</a> reaches the end of its input, it must <a href=#stop-parsing>stop
+  parsing</a>, following the same rules as the <a href=#html-parser>HTML parser</a>. An <a href=#xml-parser>XML
+  parser</a> can also be <a href=#abort-a-parser title="abort a parser">aborted</a>, which must again by done in
+  the same way as for an <a href=#html-parser>HTML parser</a>.</p>
 
-  <p>For the purposes of conformance checkers, if a resource is
-  determined to be in <a href=#the-xhtml-syntax>the XHTML syntax</a>, then it is an
-  <a href=#xml-documents title="XML documents">XML document</a>.</p>
+  <p>For the purposes of conformance checkers, if a resource is determined to be in <a href=#the-xhtml-syntax>the XHTML
+  syntax</a>, then it is an <a href=#xml-documents title="XML documents">XML document</a>.</p>
 
 
 

Modified: index
===================================================================
--- index	2013-02-05 20:33:00 UTC (rev 7694)
+++ index	2013-02-05 22:23:45 UTC (rev 7695)
@@ -12394,24 +12394,23 @@
 
   <h3 id=interactions-with-xpath-and-xslt><span class=secno>3.3 </span>Interactions with XPath and XSLT</h3>
 
-  <p id=xpath-1.0-processors>Implementations of XPath 1.0 that
-  operate on <a href=#html-documents>HTML documents</a> parsed or created in the
-  manners described in this specification (e.g. as part of the <code title="">document.evaluate()</code> API) must act as if the
-  following edit was applied to the XPath 1.0 specification.</p>
+  <p id=xpath-1.0-processors>Implementations of XPath 1.0 that operate on <a href=#html-documents>HTML
+  documents</a> parsed or created in the manners described in this specification (e.g. as part of
+  the <code title="">document.evaluate()</code> API) must act as if the following edit was applied
+  to the XPath 1.0 specification.</p>
 
   <p>First, remove this paragraph:</p>
 
   <blockquote cite=http://www.w3.org/TR/1999/REC-xpath-19991116#node-tests>
 
-   <p>A <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> in the
-   node test is expanded into an <a href=http://www.w3.org/TR/1999/REC-xpath-19991116#dt-expanded-name>expanded-name</a>
-   using the namespace declarations from the expression context.  This
-   is the same way expansion is done for element type names in start
-   and end-tags except that the default namespace declared with <code title="">xmlns</code> is not used: if the <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> does
-   not have a prefix, then the namespace URI is null (this is the same
-   way attribute names are expanded).  It is an error if the <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> has a
-   prefix for which there is no namespace declaration in the
-   expression context.</p>
+   <p>A <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> in the node test is expanded
+   into an <a href=http://www.w3.org/TR/1999/REC-xpath-19991116#dt-expanded-name>expanded-name</a>
+   using the namespace declarations from the expression context. This is the same way expansion is
+   done for element type names in start and end-tags except that the default namespace declared with
+   <code title="">xmlns</code> is not used: if the <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> does not have a prefix, then the
+   namespace URI is null (this is the same way attribute names are expanded). It is an error if the
+   <a href=http://www.w3.org/TR/REC-xml-names#NT-QName>QName</a> has a prefix for which there is
+   no namespace declaration in the expression context.</p>
 
   </blockquote>
 
@@ -12419,87 +12418,68 @@
 
   <blockquote cite="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7059#c37">
 
-   <p>A QName in the node test is expanded into an expanded-name using
-   the namespace declarations from the expression context. If the
-   QName has a prefix, then there must be a<!-- added 2009-10-27 -
-   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8062 --> namespace
-   declaration for this prefix in the expression context, and the
-   corresponding<!-- typo fixed 2009-10-27 -
-   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8063 --> namespace
-   URI is the one that is associated with this prefix.  It is an error
-   if the QName has a prefix for which there is no namespace
-   declaration in the expression context. </p>
+   <p>A QName in the node test is expanded into an expanded-name using the namespace declarations
+   from the expression context. If the QName has a prefix, then there must be a<!-- added 2009-10-27
+   - http://www.w3.org/Bugs/Public/show_bug.cgi?id=8062 --> namespace declaration for this prefix in
+   the expression context, and the corresponding<!-- typo fixed 2009-10-27 -
+   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8063 --> namespace URI is the one that is
+   associated with this prefix. It is an error if the QName has a prefix for which there is no
+   namespace declaration in the expression context. </p>
 
-   <p>If the QName has no prefix and the principal node type of the
-   axis is element, then the default element namespace is
-   used. Otherwise if the QName has no prefix, the namespace URI is
-   null. The default element namespace is a member of the context for
-   the XPath expression. The value of the default element namespace
-   when executing an XPath expression through the DOM3 XPath API is
-   determined in the following way:</p>
+   <p>If the QName has no prefix and the principal node type of the axis is element, then the
+   default element namespace is used. Otherwise if the QName has no prefix, the namespace URI is
+   null. The default element namespace is a member of the context for the XPath expression. The
+   value of the default element namespace when executing an XPath expression through the DOM3 XPath
+   API is determined in the following way:</p>
 
-   <ol><li>If the context node is from an HTML DOM, the default element
-    namespace is "http://www.w3.org/1999/xhtml".</li>
+   <ol><li>If the context node is from an HTML DOM, the default element namespace is
+    "http://www.w3.org/1999/xhtml".</li>
 
     <li>Otherwise, the default element namespace URI is null.</li>
 
-   </ol><p class=note>This is equivalent to adding the default element
-   namespace feature of XPath 2.0 to XPath 1.0, and using the HTML
-   namespace as the default element namespace for HTML documents. It
-   is motivated by the desire to have implementations be compatible
-   with legacy HTML content while still supporting the changes that
-   this specification introduces to HTML regarding the namespace used
-   for HTML elements, and by the desire to use XPath 1.0 rather than
-   XPath 2.0.</p>
+   </ol><p class=note>This is equivalent to adding the default element namespace feature of XPath 2.0
+   to XPath 1.0, and using the HTML namespace as the default element namespace for HTML documents.
+   It is motivated by the desire to have implementations be compatible with legacy HTML content
+   while still supporting the changes that this specification introduces to HTML regarding the
+   namespace used for HTML elements, and by the desire to use XPath 1.0 rather than XPath 2.0.</p>
 
   </blockquote>
 
-  <p class=note>This change is a <a href=#willful-violation>willful violation</a> of
-  the XPath 1.0 specification, motivated by desire to have
-  implementations be compatible with legacy content while still
-  supporting the changes that this specification introduces to HTML
-  regarding which namespace is used for HTML elements. <a href=#refsXPATH10>[XPATH10]</a></p> <!-- note: version matters for
+  <p class=note>This change is a <a href=#willful-violation>willful violation</a> of the XPath 1.0 specification,
+  motivated by desire to have implementations be compatible with legacy content while still
+  supporting the changes that this specification introduces to HTML regarding which namespace is
+  used for HTML elements. <a href=#refsXPATH10>[XPATH10]</a></p> <!-- note: version matters for
   this ref -->
 
-  <hr><p id=dom-based-xslt-1.0-processors>XSLT 1.0 processors outputting
-  to a DOM when the output method is "html" (either explicitly or via
-  the defaulting rule in XSLT 1.0) are affected as follows:</p>
+  <hr><p id=dom-based-xslt-1.0-processors>XSLT 1.0 processors outputting to a DOM when the output
+  method is "html" (either explicitly or via the defaulting rule in XSLT 1.0) are affected as
+  follows:</p>
 
-  <p>If the transformation program outputs an element in no namespace,
-  the processor must, prior to constructing the corresponding DOM
-  element node, change the namespace of the element to the <a href=#html-namespace-0>HTML
-  namespace</a>, <a href=#converted-to-ascii-lowercase title="converted to ASCII
-  lowercase">ASCII-lowercase</a> the element's local name, and
-  <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">ASCII-lowercase</a>
-  the names of any non-namespaced attributes on the element.</p>
+  <p>If the transformation program outputs an element in no namespace, the processor must, prior to
+  constructing the corresponding DOM element node, change the namespace of the element to the
+  <a href=#html-namespace-0>HTML namespace</a>, <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">ASCII-lowercase</a> the
+  element's local name, and <a href=#converted-to-ascii-lowercase title="converted to ASCII lowercase">ASCII-lowercase</a> the
+  names of any non-namespaced attributes on the element.</p>
 
-  <p class=note>This requirement is a <a href=#willful-violation>willful violation</a>
-  of the XSLT 1.0 specification, required because this specification
-  changes the namespaces and case-sensitivity rules of HTML in a
-  manner that would otherwise be incompatible with DOM-based XSLT
-  transformations. (Processors that serialize the output are
-  unaffected.) <a href=#refsXSLT10>[XSLT10]</a></p> <!-- note:
-  version matters for this ref -->
+  <p class=note>This requirement is a <a href=#willful-violation>willful violation</a> of the XSLT 1.0
+  specification, required because this specification changes the namespaces and case-sensitivity
+  rules of HTML in a manner that would otherwise be incompatible with DOM-based XSLT
+  transformations. (Processors that serialize the output are unaffected.) <a href=#refsXSLT10>[XSLT10]</a></p> <!-- note: version matters for this ref -->
 
-  <hr><p>This specification does not specify precisely how XSLT processing
-  interacts with the <a href=#html-parser>HTML parser</a> infrastructure (for
-  example, whether an XSLT processor acts as if it puts any elements
-  into a <a href=#stack-of-open-elements>stack of open elements</a>). However, XSLT
-  processors must <a href=#stop-parsing>stop parsing</a> if they successfully
-  complete, and must set the <a href=#current-document-readiness>current document readiness</a>
-  first to "<code title="">interactive</code>"<!-- this synchronously
-  fires an event --> and then to "<code title="">complete</code>"<!--
-  this also synchronously fires an event --> if they are aborted.</p>
+  <hr><p>This specification does not specify precisely how XSLT processing interacts with the <a href=#html-parser>HTML
+  parser</a> infrastructure (for example, whether an XSLT processor acts as if it puts any
+  elements into a <a href=#stack-of-open-elements>stack of open elements</a>). However, XSLT processors must <a href=#stop-parsing>stop
+  parsing</a> if they successfully complete, and must set the <a href=#current-document-readiness>current document
+  readiness</a> first to "<code title="">interactive</code>"<!-- this synchronously fires an
+  event --> and then to "<code title="">complete</code>"<!-- this also synchronously fires an event
+  --> if they are aborted.</p>
 
-  <hr><p>This specification does not specify how XSLT interacts with the
-  <a href=#navigate title=navigate>navigation</a> algorithm, how it fits in
-  with the <a href=#event-loop>event loop</a>, nor how error pages are to be
-  handled (e.g. whether XSLT errors are to replace an incremental XSLT
+  <hr><p>This specification does not specify how XSLT interacts with the <a href=#navigate title=navigate>navigation</a> algorithm, how it fits in with the <a href=#event-loop>event loop</a>, nor
+  how error pages are to be handled (e.g. whether XSLT errors are to replace an incremental XSLT
   output, or are rendered inline, etc).</p>
 
-  <p class=note>There are also additional non-normative comments
-  regarding the interaction of XSLT and HTML <a href=#scriptTagXSLT>in the <code>script</code> element
-  section</a>.</p>
+  <p class=note>There are also additional non-normative comments regarding the interaction of XSLT
+  and HTML <a href=#scriptTagXSLT>in the <code>script</code> element section</a>.</p>
 
   </div>
 
@@ -12740,27 +12720,25 @@
 
   </dl><div class=impl>
 
-  <p>The <dfn id=dom-document-close title=dom-document-close><code>close()</code></dfn>
-  method must run the following steps:</p>
+  <p>The <dfn id=dom-document-close title=dom-document-close><code>close()</code></dfn> method must run the following
+  steps:</p>
 
-  <ol><li><p>If the <code><a href=#document>Document</a></code> object is not flagged as an
-   <a href=#html-documents title="HTML documents">HTML document</a>, throw an
-   <code><a href=#invalidstateerror>InvalidStateError</a></code> exception and abort these
+  <ol><li><p>If the <code><a href=#document>Document</a></code> object is not flagged as an <a href=#html-documents title="HTML documents">HTML
+   document</a>, throw an <code><a href=#invalidstateerror>InvalidStateError</a></code> exception and abort these
    steps.</li>
 
-   <li><p>If there is no <a href=#script-created-parser>script-created parser</a> associated
-   with the document, then abort these steps.</li>
+   <li><p>If there is no <a href=#script-created-parser>script-created parser</a> associated with the document, then abort
+   these steps.</li>
 
-   <li><p>Insert an <a href=#explicit-eof-character>explicit "EOF" character</a> at the end
-   of the parser's <a href=#input-stream>input stream</a>.</li>
+   <li><p>Insert an <a href=#explicit-eof-character>explicit "EOF" character</a> at the end of the parser's <a href=#input-stream>input
+   stream</a>.</li>
 
-   <li><p>If there is a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>,
-   then abort these steps.</li>
+   <li><p>If there is a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>, then abort these
+   steps.</li>
 
-   <li><p>Run the tokenizer, processing resulting tokens as they are
-   emitted, and stopping when the tokenizer reaches the <a href=#explicit-eof-character>explicit
-   "EOF" character</a> or <a href=#spin-the-event-loop title="spin the event loop">spins
-   the event loop</a>.</li>
+   <li><p>Run the tokenizer, processing resulting tokens as they are emitted, and stopping when the
+   tokenizer reaches the <a href=#explicit-eof-character>explicit "EOF" character</a> or <a href=#spin-the-event-loop title="spin the event
+   loop">spins the event loop</a>.</li>
 
   </ol></div>
 
@@ -14715,14 +14693,12 @@
 
   <h4 id=styling><span class=secno>4.2.7 </span><dfn title="styling processing model">Styling</dfn></h4>
 
-  <p>The <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements can provide
-  styling information for the user agent to use when rendering the
-  document. The CSS and CSSOM specifications specify what styling
-  information is to be used by the user agent and how it is to be
-  used. <a href=#refsCSS>[CSS]</a> <a href=#refsCSSOM>[CSSOM]</a></p>
+  <p>The <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements can provide styling information for the
+  user agent to use when rendering the document. The CSS and CSSOM specifications specify what
+  styling information is to be used by the user agent and how it is to be used. <a href=#refsCSS>[CSS]</a> <a href=#refsCSSOM>[CSSOM]</a></p>
 
-  <p>The <code><a href=#the-style-element>style</a></code> and <code><a href=#the-link-element>link</a></code> elements implement
-  the <code><a href=#linkstyle>LinkStyle</a></code> interface. <a href=#refsCSSOM>[CSSOM]</a></p>
+  <p>The <code><a href=#the-style-element>style</a></code> and <code><a href=#the-link-element>link</a></code> elements implement the <code><a href=#linkstyle>LinkStyle</a></code>
+  interface. <a href=#refsCSSOM>[CSSOM]</a></p>
 
   <div class=impl>
 
@@ -14745,126 +14721,98 @@
 
   <dl><dt>The style sheet type</dt>
 
-   <dd><p>The style sheet type must be the same as the style's specified
-   type. For <code><a href=#the-style-element>style</a></code> elements, this is the same as the
-   <code title=attr-style-type><a href=#attr-style-type>type</a></code> content attribute's
-   value, or <code title="">text/css</code> if that is omitted. For
-   <code><a href=#the-link-element>link</a></code> elements, this is the <a href=#content-type title=Content-Type>Content-Type metadata of the specified
-   resource</a>.</dd>
+   <dd><p>The style sheet type must be the same as the style's specified type. For
+   <code><a href=#the-style-element>style</a></code> elements, this is the same as the <code title=attr-style-type><a href=#attr-style-type>type</a></code>
+   content attribute's value, or <code title="">text/css</code> if that is omitted. For
+   <code><a href=#the-link-element>link</a></code> elements, this is the <a href=#content-type title=Content-Type>Content-Type metadata of the
+   specified resource</a>.</dd>
 
    <dt>The style sheet location</dt>
 
-   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, the location must be the
-   result of <a href=#resolve-a-url title="resolve a url">resolving</a> the
-   <a href=#url>URL</a> given by the element's <code title=attr-link-href><a href=#attr-link-href>href</a></code> content attribute, relative to
-   the element, or the empty string if that fails. For
-   <code><a href=#the-style-element>style</a></code> elements, there is no location.</dd> <!--
-   note that this might not match the style sheet URL, if the base URL
-   has changed for instance -->
+   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, the location must be the result of <a href=#resolve-a-url title="resolve a
+   url">resolving</a> the <a href=#url>URL</a> given by the element's <code title=attr-link-href><a href=#attr-link-href>href</a></code> content attribute, relative to the element, or the empty
+   string if that fails. For <code><a href=#the-style-element>style</a></code> elements, there is no location.</dd> <!-- note
+   that this might not match the style sheet URL, if the base URL has changed for instance -->
 
    <dt>The style sheet media</dt>
 
-   <dd><p>The media must be the same as the value of the element's
-   <code title="">media</code> content attribute, or the empty string,
-   if the attribute is omitted.</dd>
+   <dd><p>The media must be the same as the value of the element's <code title="">media</code>
+   content attribute, or the empty string, if the attribute is omitted.</dd>
 
    <dt>The style sheet title</dt>
 
-   <dd><p>The title must be the same as the value of the element's
-   <code title=dom-title><a href=#dom-title>title</a></code> content attribute, if the
-   attribute is present and has a non-empty value. If the attribute is
-   absent or its value is the empty string, then the style sheet does
-   not have a title (it is the empty string). The title is used for
-   defining <a href=#alternative-style-sheet-sets>alternative style sheet sets</a>.</dd>
+   <dd><p>The title must be the same as the value of the element's <code title=dom-title><a href=#dom-title>title</a></code> content attribute, if the attribute is present and has a non-empty
+   value. If the attribute is absent or its value is the empty string, then the style sheet does not
+   have a title (it is the empty string). The title is used for defining <a href=#alternative-style-sheet-sets>alternative style
+   sheet sets</a>.</dd>
 
    <dt>The style sheet alternate flag</dt>
 
-   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, true if <a href=#the-link-is-an-alternative-stylesheet>the link is an
-   alternative stylesheet</a>. In all other cases, false.</dd>
+   <dd><p>For <code><a href=#the-link-element>link</a></code> elements, true if <a href=#the-link-is-an-alternative-stylesheet>the link is an alternative
+   stylesheet</a>. In all other cases, false.</dd>
 
 <!--
-   <dt>The style sheet disabled flag</dt>
-   (not included, because I assume CSSOM will change to not require
-   this spec to initialise the value, but will instead initialise it
-   based on the other values)
+   <dt>The style sheet disabled flag</dt> (not included, because I assume CSSOM will change to not
+   require this spec to initialise the value, but will instead initialise it based on the other
+   values)
 -->
 
   </dl><p>The same object must be returned each time.</p>
 
-  <p>The <dfn id=dom-linkstyle-disabled title=dom-LinkStyle-disabled><code>disabled</code></dfn> IDL
-  attribute on <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements must
-  return false and do nothing on setting, if the <code title=dom-linkstyle-sheet><a href=#dom-linkstyle-sheet>sheet</a></code> attribute of their
-  <code><a href=#linkstyle>LinkStyle</a></code> interface is null. Otherwise, it must return
-  the value of the <code><a href=#stylesheet>StyleSheet</a></code> interface's <code title=dom-stylesheet-disabled><a href=#dom-stylesheet-disabled>disabled</a></code> attribute on
-  getting, and forward the new value to that same attribute on
-  setting.</p>
+  <p>The <dfn id=dom-linkstyle-disabled title=dom-LinkStyle-disabled><code>disabled</code></dfn> IDL attribute on
+  <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements must return false and do nothing on setting, if
+  the <code title=dom-linkstyle-sheet><a href=#dom-linkstyle-sheet>sheet</a></code> attribute of their <code><a href=#linkstyle>LinkStyle</a></code>
+  interface is null. Otherwise, it must return the value of the <code><a href=#stylesheet>StyleSheet</a></code> interface's
+  <code title=dom-stylesheet-disabled><a href=#dom-stylesheet-disabled>disabled</a></code> attribute on getting, and forward the new
+  value to that same attribute on setting.</p>
 
-  <!-- [CSSOM] covers the following: the term "alternative style sheet
-  sets", the term "default style sheet set", preferred stylesheets,
-  alternative stylesheets, persistent stylesheets, ordering of
-  stylesheets, dynamic additions/removals, window.styleSheets, style
-  sheets given by HTTP Link: headers, and the alternative style sheet
-  API -->
+  <!-- [CSSOM] covers the following: the term "alternative style sheet sets", the term "default
+  style sheet set", preferred stylesheets, alternative stylesheets, persistent stylesheets, ordering
+  of stylesheets, dynamic additions/removals, window.styleSheets, style sheets given by HTTP Link:
+  headers, and the alternative style sheet API -->
 
-  <p id=alternate-style-sheets>The rules for handling alternative
-  style sheets are defined in the CSS object model specification. <a href=#refsCSSOM>[CSSOM]</a></p>
+  <p id=alternate-style-sheets>The rules for handling alternative style sheets are defined in the
+  CSS object model specification. <a href=#refsCSSOM>[CSSOM]</a></p>
 
-  <hr><p>Style sheets, whether added by a <code><a href=#the-link-element>link</a></code> element, a
-  <code><a href=#the-style-element>style</a></code> element, an <code><?xml-stylesheet></code> PI,
-  an HTTP <code title=http-link>Link:</code> header, or some other
-  mechanism, have a <dfn id=style-sheet-ready>style sheet ready</dfn> flag, which is
-  initially unset.</p>
+  <hr><p>Style sheets, whether added by a <code><a href=#the-link-element>link</a></code> element, a <code><a href=#the-style-element>style</a></code> element, an
+  <code><?xml-stylesheet></code> PI, an HTTP <code title=http-link>Link:</code> header, or some
+  other mechanism, have a <dfn id=style-sheet-ready>style sheet ready</dfn> flag, which is initially unset.</p>
 
-  <p>When a style sheet is ready to be applied, its <a href=#style-sheet-ready>style sheet
-  ready</a> flag must be set. If the style sheet referenced no
-  other resources (e.g. it was an internal style sheet given by a
-  <code><a href=#the-style-element>style</a></code> element with no <code title="">@import</code>
-  rules), then the style rules must be synchronously made available to
-  script; otherwise, the style rules must only be made available to
-  script once the <a href=#event-loop>event loop</a> reaches its "update the
-  rendering" step.</p>
+  <p>When a style sheet is ready to be applied, its <a href=#style-sheet-ready>style sheet ready</a> flag must be set.
+  If the style sheet referenced no other resources (e.g. it was an internal style sheet given by a
+  <code><a href=#the-style-element>style</a></code> element with no <code title="">@import</code> rules), then the style rules must
+  be synchronously made available to script; otherwise, the style rules must only be made available
+  to script once the <a href=#event-loop>event loop</a> reaches its "update the rendering" step.</p>
 
-  <p>A style sheet in the context of the <code><a href=#document>Document</a></code> of an
-  <a href=#html-parser>HTML parser</a> or <a href=#xml-parser>XML parser</a> is said to be
-  <dfn id=a-style-sheet-that-is-blocking-scripts>a style sheet that is blocking scripts</dfn> if the element was
-  created by that <code><a href=#document>Document</a></code>'s parser, and the element is
-  either a <code><a href=#the-style-element>style</a></code> element or a <code><a href=#the-link-element>link</a></code> element
-  that was an <a href=#link-type-stylesheet title=rel-stylesheet>external resource link that
-  contributes to the styling processing model</a> when the element
-  was created by the parser, and the element's style sheet was enabled
-  when the element was created by the parser, and the element's
-  <a href=#style-sheet-ready>style sheet ready</a> flag is not yet set, and, the last
-  time the <a href=#event-loop>event loop</a> reached step 1, the element was
-  <a href=#in-a-document title="in a document">in that <code>Document</code></a>,
-  and the user agent hasn't given up on that particular style sheet
-  yet. A user agent may give up on a style sheet at any time.</p>
+  <p>A style sheet in the context of the <code><a href=#document>Document</a></code> of an <a href=#html-parser>HTML parser</a> or
+  <a href=#xml-parser>XML parser</a> is said to be <dfn id=a-style-sheet-that-is-blocking-scripts>a style sheet that is blocking scripts</dfn> if the
+  element was created by that <code><a href=#document>Document</a></code>'s parser, and the element is either a
+  <code><a href=#the-style-element>style</a></code> element or a <code><a href=#the-link-element>link</a></code> element that was an <a href=#link-type-stylesheet title=rel-stylesheet>external resource link that contributes to the styling processing
+  model</a> when the element was created by the parser, and the element's style sheet was enabled
+  when the element was created by the parser, and the element's <a href=#style-sheet-ready>style sheet ready</a> flag
+  is not yet set, and, the last time the <a href=#event-loop>event loop</a> reached step 1, the element was
+  <a href=#in-a-document title="in a document">in that <code>Document</code></a>, and the user agent hasn't given
+  up on that particular style sheet yet. A user agent may give up on a style sheet at any time.</p>
 
-  <p class=note>Giving up on a style sheet before the style sheet
-  loads, if the style sheet eventually does still load, means that the
-  script might end up operating with incorrect information. For
-  example, if a style sheet sets the color of an element to green, but
-  a script that inspects the resulting style is executed before the
-  sheet is loaded, the script will find that the element is black (or
-  whatever the default color is), and might thus make poor choices
-  (e.g. deciding to use black as the color elsewhere on the page,
-  instead of green). Implementors have to balance the likelihood of a
-  script using incorrect information with the performance impact of
-  doing nothing while waiting for a slow network request to
-  finish.</p>
+  <p class=note>Giving up on a style sheet before the style sheet loads, if the style sheet
+  eventually does still load, means that the script might end up operating with incorrect
+  information. For example, if a style sheet sets the color of an element to green, but a script
+  that inspects the resulting style is executed before the sheet is loaded, the script will find
+  that the element is black (or whatever the default color is), and might thus make poor choices
+  (e.g. deciding to use black as the color elsewhere on the page, instead of green). Implementors
+  have to balance the likelihood of a script using incorrect information with the performance impact
+  of doing nothing while waiting for a slow network request to finish.</p>
 
-  <p>A <code><a href=#document>Document</a></code> <dfn id=has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking
-  scripts</dfn> if there is either <a href=#a-style-sheet-that-is-blocking-scripts>a style sheet that is
-  blocking scripts</a> in the context of that
-  <code><a href=#document>Document</a></code>, or if that <code><a href=#document>Document</a></code> is in a
-  <a href=#browsing-context>browsing context</a> that has a <a href=#parent-browsing-context>parent browsing
-  context</a>, and the <a href=#active-document>active document</a> of that
-  <a href=#parent-browsing-context>parent browsing context</a> itself <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style sheet
-  that is blocking scripts</a>.</p>
+  <p>A <code><a href=#document>Document</a></code> <dfn id=has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking scripts</dfn> if there is
+  either <a href=#a-style-sheet-that-is-blocking-scripts>a style sheet that is blocking scripts</a> in the context of that
+  <code><a href=#document>Document</a></code>, or if that <code><a href=#document>Document</a></code> is in a <a href=#browsing-context>browsing context</a> that
+  has a <a href=#parent-browsing-context>parent browsing context</a>, and the <a href=#active-document>active document</a> of that
+  <a href=#parent-browsing-context>parent browsing context</a> itself <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking
+  scripts</a>.</p>
 
-  <p>A <code><a href=#document>Document</a></code> <dfn id=has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
-  scripts</dfn> if it does not <a href=#has-a-style-sheet-that-is-blocking-scripts title="has a style sheet that is
-  blocking scripts">have a style sheet that is blocking scripts</a>
-  as defined in the previous paragraph.</p>
+  <p>A <code><a href=#document>Document</a></code> <dfn id=has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking scripts</dfn> if it does not
+  <a href=#has-a-style-sheet-that-is-blocking-scripts title="has a style sheet that is blocking scripts">have a style sheet that is blocking
+  scripts</a> as defined in the previous paragraph.</p>
 
   </div>
 
@@ -28741,8 +28689,8 @@
 
       <p><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-media-loadedmetadata><a href=#event-media-loadedmetadata>loadedmetadata</a></code> at the element.</p>
 
-      <p class=note>Before this task is run, as part of the event loop mechanism, the rendering
-      will have been updated to resize the <code><a href=#the-video-element>video</a></code> element if appropriate.</p>
+      <p class=note>Before this task is run, as part of the <a href=#event-loop>event loop</a> mechanism, the
+      rendering will have been updated to resize the <code><a href=#the-video-element>video</a></code> element if appropriate.</p>
 
      </dd>
 
@@ -31973,74 +31921,61 @@
 
    </dd>
 
-  </dl><p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text
-  track</a> that the <code><a href=#texttrack>TextTrack</a></code> object represents is
-  not the <a href=#text-track-disabled>text track disabled</a> mode, then the <dfn id=dom-texttrack-cues title=dom-TextTrack-cues><code>cues</code></dfn> attribute must
-  return a <a href=#live>live</a> <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that
-  represents the subset of the <a href=#text-track-list-of-cues>text track list of cues</a> of
-  the <a href=#text-track>text track</a> that the <code><a href=#texttrack>TextTrack</a></code> object
-  represents whose <a href=#text-track-cue-end-time title="text track cue end time">end
-  times</a> occur at or after the <a href=#earliest-possible-position-when-the-script-started>earliest possible position
-  when the script started</a>, in <a href=#text-track-cue-order>text track cue
-  order</a>. Otherwise, it must return null. When an object is
-  returned, the same object must be returned each time.</p>
+  </dl><p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents is not the <a href=#text-track-disabled>text track disabled</a> mode, then
+  the <dfn id=dom-texttrack-cues title=dom-TextTrack-cues><code>cues</code></dfn> attribute must return a
+  <a href=#live>live</a> <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that represents the subset of the
+  <a href=#text-track-list-of-cues>text track list of cues</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents whose <a href=#text-track-cue-end-time title="text track cue end time">end
+  times</a> occur at or after the <a href=#earliest-possible-position-when-the-script-started>earliest possible position when the script
+  started</a>, in <a href=#text-track-cue-order>text track cue order</a>. Otherwise, it must return null. When an
+  object is returned, the same object must be returned each time.</p>
 
-  <p>The <dfn id=earliest-possible-position-when-the-script-started>earliest possible position when the script started</dfn>
-  is whatever the <a href=#earliest-possible-position>earliest possible position</a> was the last
-  time the <a href=#event-loop>event loop</a> reached step 1.</p>
+  <p>The <dfn id=earliest-possible-position-when-the-script-started>earliest possible position when the script started</dfn> is whatever the
+  <a href=#earliest-possible-position>earliest possible position</a> was the last time the <a href=#event-loop>event loop</a> reached step
+  1.</p>
 
-  <p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text
-  track</a> that the <code><a href=#texttrack>TextTrack</a></code> object represents is
-  not the <a href=#text-track-disabled>text track disabled</a> mode, then the <dfn id=dom-texttrack-activecues title=dom-TextTrack-activeCues><code>activeCues</code></dfn>
-  attribute must return a <a href=#live>live</a>
-  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that represents the subset of
-  the <a href=#text-track-list-of-cues>text track list of cues</a> of the <a href=#text-track>text
-  track</a> that the <code><a href=#texttrack>TextTrack</a></code> object represents
-  whose <a href=#active-flag-was-set-when-the-script-started>active flag was set when the script started</a>, in
-  <a href=#text-track-cue-order>text track cue order</a>. Otherwise, it must return
-  null. When an object is returned, the same object must be returned
-  each time.</p>
+  <p>If the <a href=#text-track-mode>text track mode</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents is not the <a href=#text-track-disabled>text track disabled</a> mode, then
+  the <dfn id=dom-texttrack-activecues title=dom-TextTrack-activeCues><code>activeCues</code></dfn> attribute must return a
+  <a href=#live>live</a> <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object that represents the subset of the
+  <a href=#text-track-list-of-cues>text track list of cues</a> of the <a href=#text-track>text track</a> that the
+  <code><a href=#texttrack>TextTrack</a></code> object represents whose <a href=#active-flag-was-set-when-the-script-started>active flag was set when the script
+  started</a>, in <a href=#text-track-cue-order>text track cue order</a>. Otherwise, it must return null. When an
+  object is returned, the same object must be returned each time.</p>
 
-  <p>A <a href=#text-track-cue>text track cue</a>'s <dfn id=active-flag-was-set-when-the-script-started>active flag was set when
-  the script started</dfn> if its <a href=#text-track-cue-active-flag>text track cue active
-  flag</a> was set the last time the <a href=#event-loop>event loop</a>
-  reached step 1.</p>
+  <p>A <a href=#text-track-cue>text track cue</a>'s <dfn id=active-flag-was-set-when-the-script-started>active flag was set when the script started</dfn> if its
+  <a href=#text-track-cue-active-flag>text track cue active flag</a> was set the last time the <a href=#event-loop>event loop</a> reached
+  step 1.</p>
 
-  <hr><p>The <dfn id=dom-texttrack-addcue title=dom-TextTrack-addCue><code>addCue(<var title="">cue</var>)</code></dfn> method of <code><a href=#texttrack>TextTrack</a></code>
-  objects, when invoked, must run the following steps:</p>
+  <hr><p>The <dfn id=dom-texttrack-addcue title=dom-TextTrack-addCue><code>addCue(<var title="">cue</var>)</code></dfn> method
+  of <code><a href=#texttrack>TextTrack</a></code> objects, when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the given <var title="">cue</var> is in a <a href=#text-track-list-of-cues>text
-   track list of cues</a>, then remove <var title="">cue</var> from
-   that <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
+  <ol><li><p>If the given <var title="">cue</var> is in a <a href=#text-track-list-of-cues>text track list of cues</a>, then
+   remove <var title="">cue</var> from that <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
 
-   <li><p>Add <var title="">cue</var> to the method's
-   <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text track</a>'s
-   <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
+   <li><p>Add <var title="">cue</var> to the method's <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text
+   track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
 
-  </ol><p>The <dfn id=dom-texttrack-removecue title=dom-TextTrack-removeCue><code>removeCue(<var title="">cue</var>)</code></dfn> method of
-  <code><a href=#texttrack>TextTrack</a></code> objects, when invoked, must run the
-  following steps:</p>
+  </ol><p>The <dfn id=dom-texttrack-removecue title=dom-TextTrack-removeCue><code>removeCue(<var title="">cue</var>)</code></dfn>
+  method of <code><a href=#texttrack>TextTrack</a></code> objects, when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the given <var title="">cue</var> is not currently listed
-   in the method's <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text
-   track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>, then throw a
-   <code><a href=#notfounderror>NotFoundError</a></code> exception.</li>
+  <ol><li><p>If the given <var title="">cue</var> is not currently listed in the method's
+   <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>,
+   then throw a <code><a href=#notfounderror>NotFoundError</a></code> exception.</li>
 
-   <li><p>Remove <var title="">cue</var> from the method's
-   <code><a href=#texttrack>TextTrack</a></code> object's <a href=#text-track>text track</a>'s
-   <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
+   <li><p>Remove <var title="">cue</var> from the method's <code><a href=#texttrack>TextTrack</a></code> object's
+   <a href=#text-track>text track</a>'s <a href=#text-track-list-of-cues>text track list of cues</a>.</li>
 
   </ol></div>
 
   <div class=example>
 
-   <p>In this example, an <code><a href=#the-audio-element>audio</a></code> element is used to play a
-   specific sound-effect from a sound file containing many sound
-   effects. A cue is used to pause the audio, so that it ends exactly
-   at the end of the clip, even if the browser is busy running some
-   script. If the page had relied on script to pause the audio, then
-   the start of the next clip might be heard if the browser was not
-   able to run the script at the exact time specified.</p>
+   <p>In this example, an <code><a href=#the-audio-element>audio</a></code> element is used to play a specific sound-effect from a
+   sound file containing many sound effects. A cue is used to pause the audio, so that it ends
+   exactly at the end of the clip, even if the browser is busy running some script. If the page had
+   relied on script to pause the audio, then the start of the next clip might be heard if the
+   browser was not able to run the script at the exact time specified.</p>
 
    <pre>var sfx = new Audio('sfx.wav');
 var sounds = sfx.addTextTrack('metadata');
@@ -32096,35 +32031,25 @@
 
   </dl><div class=impl>
 
-  <p>A <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object represents a dynamically
-  updating list of <a href=#text-track-cue title="text track cue">text track
-  cues</a> in a given order.</p>
+  <p>A <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object represents a dynamically updating list of <a href=#text-track-cue title="text track cue">text track cues</a> in a given order.</p>
 
-  <p>The <dfn id=dom-texttrackcuelist-length title=dom-TextTrackCueList-length><code>length</code></dfn>
-  attribute must return the number of <a href=#text-track-cue title="text track
-  cue">cues</a> in the list represented by the
+  <p>The <dfn id=dom-texttrackcuelist-length title=dom-TextTrackCueList-length><code>length</code></dfn> attribute must return
+  the number of <a href=#text-track-cue title="text track cue">cues</a> in the list represented by the
   <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object.</p>
 
-  <p>The <a href=#supported-property-indices>supported property indices</a> of a
-  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object at any instant are the numbers
-  from zero to the number of <a href=#text-track-cue title="text track cue">cues</a>
-  in the list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object
-  minus one, if any. If there are no <a href=#text-track-cue title="text track
-  cue">cues</a> in the list, there are no <a href=#supported-property-indices>supported property
+  <p>The <a href=#supported-property-indices>supported property indices</a> of a <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object at any
+  instant are the numbers from zero to the number of <a href=#text-track-cue title="text track cue">cues</a> in the
+  list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object minus one, if any. If there are no
+  <a href=#text-track-cue title="text track cue">cues</a> in the list, there are no <a href=#supported-property-indices>supported property
   indices</a>.</p>
 
-  <p>To <a href=#determine-the-value-of-an-indexed-property>determine the value of an indexed property</a> for a
-  given index <var title="">index</var>, the user agent must return
-  the <var title="">index</var>th <a href=#text-track-cue>text track cue</a> in the
-  list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object.</p>
+  <p>To <a href=#determine-the-value-of-an-indexed-property>determine the value of an indexed property</a> for a given index <var title="">index</var>, the user agent must return the <var title="">index</var>th <a href=#text-track-cue>text track
+  cue</a> in the list represented by the <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object.</p>
 
-  <p>The <dfn id=dom-texttrackcuelist-getcuebyid title=dom-TextTrackCueList-getCueById><code>getCueById(<var title="">id</var>)</code></dfn> method, when called with an argument
-  other than the empty string, must return the first <a href=#text-track-cue>text track
-  cue</a> in the list represented by the
-  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object whose <a href=#text-track-cue-identifier>text track cue
-  identifier</a> is <var title="">id</var>, if any, or null
-  otherwise. If the argument is the empty string, then the method must
-  return null.</p>
+  <p>The <dfn id=dom-texttrackcuelist-getcuebyid title=dom-TextTrackCueList-getCueById><code>getCueById(<var title="">id</var>)</code></dfn> method, when called with an argument other than the empty string,
+  must return the first <a href=#text-track-cue>text track cue</a> in the list represented by the
+  <code><a href=#texttrackcuelist>TextTrackCueList</a></code> object whose <a href=#text-track-cue-identifier>text track cue identifier</a> is <var title="">id</var>, if any, or null otherwise. If the argument is the empty string, then the method
+  must return null.</p>
 
   </div>
 
@@ -33125,58 +33050,46 @@
 
   <p><i>This section is non-normative.</i></p>
 
-  <p>How accurately various aspects of the <a href=#media-element>media element</a>
-  API are implemented is considered a quality-of-implementation issue.</p>
+  <p>How accurately various aspects of the <a href=#media-element>media element</a> API are implemented is
+  considered a quality-of-implementation issue.</p>
 
-  <p>For example, when implementing the <code title=attr-media-buffered>buffered</code> attribute, how precise
-  an implementation reports the ranges that have been buffered depends
-  on how carefully the user agent inspects the data. Since the API
-  reports ranges as times, but the data is obtained in byte streams, a
-  user agent receiving a variable-bit-rate stream might only be able
-  to determine precise times by actually decoding all of the data.
-  User agents aren't required to do this, however; they can instead
-  return estimates (e.g. based on the average bit rate seen so far)
-  which get revised as more information becomes available.</p>
+  <p>For example, when implementing the <code title=attr-media-buffered>buffered</code> attribute,
+  how precise an implementation reports the ranges that have been buffered depends on how carefully
+  the user agent inspects the data. Since the API reports ranges as times, but the data is obtained
+  in byte streams, a user agent receiving a variable-bit-rate stream might only be able to determine
+  precise times by actually decoding all of the data. User agents aren't required to do this,
+  however; they can instead return estimates (e.g. based on the average bit rate seen so far) which
+  get revised as more information becomes available.</p>
 
-  <p>As a general rule, user agents are urged to be conservative
-  rather than optimistic. For example, it would be bad to report that
-  everything had been buffered when it had not.</p>
+  <p>As a general rule, user agents are urged to be conservative rather than optimistic. For
+  example, it would be bad to report that everything had been buffered when it had not.</p>
 
-  <p>Another quality-of-implementation issue would be playing a video
-  backwards when the codec is designed only for forward playback (e.g.
-  there aren't many key frames, and they are far apart, and the
-  intervening frames only have deltas from the previous frame). User
-  agents could do a poor job, e.g. only showing key frames; however,
-  better implementations would do more work and thus do a better job,
-  e.g. actually decoding parts of the video forwards, storing the
-  complete frames, and then playing the frames backwards.</p>
+  <p>Another quality-of-implementation issue would be playing a video backwards when the codec is
+  designed only for forward playback (e.g. there aren't many key frames, and they are far apart, and
+  the intervening frames only have deltas from the previous frame). User agents could do a poor job,
+  e.g. only showing key frames; however, better implementations would do more work and thus do a
+  better job, e.g. actually decoding parts of the video forwards, storing the complete frames, and
+  then playing the frames backwards.</p>
 
-  <p>Similarly, while implementations are allowed to drop buffered
-  data at any time (there is no requirement that a user agent keep all
-  the media data obtained for the lifetime of the media element), it
-  is again a quality of implementation issue: user agents with
-  sufficient resources to keep all the data around are encouraged to
-  do so, as this allows for a better user experience. For example, if
-  the user is watching a live stream, a user agent could allow the
-  user only to view the live video; however, a better user agent would
-  buffer everything and allow the user to seek through the earlier
-  material, pause it, play it forwards and backwards, etc.</p>
+  <p>Similarly, while implementations are allowed to drop buffered data at any time (there is no
+  requirement that a user agent keep all the media data obtained for the lifetime of the media
+  element), it is again a quality of implementation issue: user agents with sufficient resources to
+  keep all the data around are encouraged to do so, as this allows for a better user experience. For
+  example, if the user is watching a live stream, a user agent could allow the user only to view the
+  live video; however, a better user agent would buffer everything and allow the user to seek
+  through the earlier material, pause it, play it forwards and backwards, etc.</p>
 
-  <p>When multiple tracks are synchronised with a
-  <code><a href=#mediacontroller>MediaController</a></code>, it is possible for scripts to add and
-  remove media elements from the <code><a href=#mediacontroller>MediaController</a></code>'s list
-  of <a href=#slaved-media-elements>slaved media elements</a>, even while these tracks are
-  playing. How smoothly the media plays back in such situations is
-  another quality-of-implementation issue.</p>
+  <p>When multiple tracks are synchronised with a <code><a href=#mediacontroller>MediaController</a></code>, it is possible for
+  scripts to add and remove media elements from the <code><a href=#mediacontroller>MediaController</a></code>'s list of
+  <a href=#slaved-media-elements>slaved media elements</a>, even while these tracks are playing. How smoothly the media
+  plays back in such situations is another quality-of-implementation issue.</p>
 
-  <hr><p>When a <a href=#media-element>media element</a> that is paused is <a href=#remove-an-element-from-a-document title="remove an element from a document">removed from a
-  document</a> and not reinserted before the next time the
-  <a href=#event-loop>event loop</a> spins, implementations that are resource
-  constrained are encouraged to take that opportunity to release all
-  hardware resources (like video planes, networking resources, and
-  data buffers) used by the <a href=#media-element>media element</a>. (User agents
-  still have to keep track of the playback position and so forth,
-  though, in case playback is later restarted.)</p>
+  <hr><p>When a <a href=#media-element>media element</a> that is paused is <a href=#remove-an-element-from-a-document title="remove an element from a
+  document">removed from a document</a> and not reinserted before the next time the <a href=#event-loop>event
+  loop</a> spins, implementations that are resource constrained are encouraged to take that
+  opportunity to release all hardware resources (like video planes, networking resources, and data
+  buffers) used by the <a href=#media-element>media element</a>. (User agents still have to keep track of the
+  playback position and so forth, though, in case playback is later restarted.)</p>
 
   </div>
   
@@ -37509,15 +37422,15 @@
   instructions to the <a href=#scratch-bitmap>scratch bitmap</a>'s <a href=#list-of-pending-interface-actions>list of pending interface actions</a>
   that run the following steps:</p>
 
-  <ol><li><p>Let <var title="">the specified rectangle</var> be the
-   rectangle of the bounding box of the intended path.</li>
+  <ol><li><p>Let <var title="">the specified rectangle</var> be the rectangle of the bounding box of
+   the intended path.</li>
 
-   <li><p>Let <var title="">notional child</var> be a hypothetical
-   element that is a rendered child of the <code><a href=#the-canvas-element>canvas</a></code> element
-   whose dimensions are those of <var title="">the specified
+   <li><p>Let <var title="">notional child</var> be a hypothetical element that is a rendered child
+   of the <code><a href=#the-canvas-element>canvas</a></code> element whose dimensions are those of <var title="">the specified
    rectangle</var>.</li>
 
-   <li><p><a href=#scroll-an-element-into-view title="scroll an element into view">Scroll <var title="">notional child</var> into view</a> with the <var title="">align to top flag</var> set.</p>
+   <li><p><a href=#scroll-an-element-into-view title="scroll an element into view">Scroll <var title="">notional child</var> into
+   view</a> with the <var title="">align to top flag</var> set.</p>
 
    <li><p>Optionally, <a href=#inform>inform the user</a> that the caret or selection (or both)
    cover <var title="">the specified rectangle</var> of the canvas. If the
@@ -37525,17 +37438,14 @@
    until the next time the <a href=#event-loop>event loop</a> reaches its "update the rendering" step to
    optionally inform the user.</li>
 
-  </ol><p class=note id=inform>"Inform the user", as used in this
-  section, could mean calling a system accessibility API, which would
-  notify assistive technologies such as magnification tools. To
-  properly drive magnification based on a focus change, a system
-  accessibility API driving a screen magnifier needs the bounds for
-  the newly focused object. The methods above are intended to enable
-  this by allowing the user agent to report the bounding box of the
-  path used to render the focus ring as the bounds of the <var title="">element</var> element passed as an argument, if that
-  element is focused, and the bounding box of the area to which the
-  user agent is scrolling as the bounding box of the current
-  selection.</p>
+  </ol><p class=note id=inform>"Inform the user", as used in this section, could mean calling a
+  system accessibility API, which would notify assistive technologies such as magnification tools.
+  To properly drive magnification based on a focus change, a system accessibility API driving a
+  screen magnifier needs the bounds for the newly focused object. The methods above are intended to
+  enable this by allowing the user agent to report the bounding box of the path used to render the
+  focus ring as the bounds of the <var title="">element</var> element passed as an argument, if that
+  element is focused, and the bounding box of the area to which the user agent is scrolling as the
+  bounding box of the current selection.</p>
 
   <hr><p>The <dfn id=dom-context-2d-clip title=dom-context-2d-clip><code>clip()</code></dfn> method must create a new
   <dfn id=clipping-region>clipping region</dfn> by calculating the intersection of the current clipping region and the
@@ -37543,9 +37453,8 @@
   be implicitly closed when computing the clipping region, without affecting the actual subpaths.
   The new clipping region replaces the current clipping region.</p>
 
-  <p>When the context is initialized, the clipping region must be set
-  to the rectangle with the top left corner at (0,0) and the width and
-  height of the coordinate space.</p>
+  <p>When the context is initialized, the clipping region must be set to the rectangle with the top
+  left corner at (0,0) and the width and height of the coordinate space.</p>
 
   <!-- v6
    Jordan OSETE suggests:
@@ -68883,110 +68792,97 @@
 
   <div class=impl>
 
-  <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 must initially be true, a <dfn id=fired-unload>fired unload</dfn> flag,
-  which must initially be false, and a <dfn id=page-showing>page showing</dfn> flag,
-  which must initially be false.</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 must initially be
+  true, a <dfn id=fired-unload>fired unload</dfn> flag, which must initially be false, and a <dfn id=page-showing>page showing</dfn>
+  flag, which must initially be false.</p>
 
-  <p><a href=#event-loop title="event loop">Event loops</a> have a
-  <dfn id=termination-nesting-level>termination nesting level</dfn> counter, which must initially
-  be zero.</p>
+  <p><a href=#event-loop title="event loop">Event loops</a> have a <dfn id=termination-nesting-level>termination nesting level</dfn>
+  counter, which must initially be zero.</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>
+  <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>
 
-  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
-   <li><p>Increase the <code><a href=#document>Document</a></code>'s
-   <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by one.</li>
+   <li><p>Increase the <code><a href=#document>Document</a></code>'s <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by
+   one.</li>
 
    <li><p>Let <var title="">event</var> be a new <a href=#concept-events-trusted title=concept-events-trusted>trusted</a>
    <code><a href=#beforeunloadevent>BeforeUnloadEvent</a></code> event object with the name <code title=event-beforeunload>beforeunload</code>, which does not bubble but is cancelable.</li>
 
    <li><p><i>Dispatch</i>: <a href=#concept-event-dispatch title=concept-event-dispatch>Dispatch</a> <var title="">event</var> at the <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
    <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><a href=#concept-document-salvageable>salvageable</a></var> state to
+   <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><a href=#concept-document-salvageable>salvageable</a></var> state to
    false.</li>
 
    <li>
 
-    <p>If the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code>
-    attribute of the <var title="">event</var> object is not the empty
-    string, or if the event was canceled, then the user agent should
-    ask the user to confirm that they wish to unload the document.</p>
+    <p>If the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code> attribute of the
+    <var title="">event</var> object is not the empty string, or if the event was canceled, then the
+    user agent should ask the user to confirm that they wish to unload the document.</p>
 
-    <p>The prompt shown by the user agent may include the string of
-    the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code>
-    attribute, or some leading subset thereof. (A user agent may want
-    to truncate the string to 1024 characters for display, for
+    <p>The prompt shown by the user agent may include the string of the <code title=dom-BeforeUnloadEvent-returnValue><a href=#dom-beforeunloadevent-returnvalue>returnValue</a></code> attribute, or some leading subset
+    thereof. (A user agent may want to truncate the string to 1024 characters for display, for
     instance.)</p>
 
-    <p>The user agent must <a href=#pause>pause</a> while waiting for the
-    user's response.</p>
+    <p>The user agent must <a href=#pause>pause</a> while waiting for the user's response.</p>
 
-    <p>If the user did not confirm the page navigation, then the user
-    agent <dfn id=refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</dfn>.</p>
+    <p>If the user did not confirm the page navigation, then the user agent <dfn id=refused-to-allow-the-document-to-be-unloaded>refused to allow
+    the document to be unloaded</dfn>.</p>
 
    </li>
 
-   <li><p>If this algorithm was invoked by another instance of the
-   "prompt to unload a document" algorithm (i.e. through the steps
-   below that invoke this algorithm for all descendant browsing
+   <li><p>If this algorithm was invoked by another instance of the "prompt to unload a document"
+   algorithm (i.e. through the steps below that invoke this algorithm for all descendant browsing
    contexts), then jump to the step labeled <i>end</i>.</li>
 
-   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
-   descendant browsing contexts</a> of the
-   <code><a href=#document>Document</a></code>.</li>
+   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the descendant browsing
+   contexts</a> of the <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
-    <p>If <var title="">descendants</var> is not an empty list, then
-    for each <a href=#browsing-context>browsing context</a> <var title="">b</var> in
-    <var title="">descendants</var> run the following substeps:</p>
+    <p>If <var title="">descendants</var> is not an empty list, then for each <a href=#browsing-context>browsing
+    context</a> <var title="">b</var> in <var title="">descendants</var> run the following
+    substeps:</p>
 
-    <ol><li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to
-     unload</a> the <a href=#active-document>active document</a> of the
-     <a href=#browsing-context>browsing context</a> <var title="">b</var>. If the user
-     <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then
-     the user implicitly also <a href=#refused-to-allow-the-document-to-be-unloaded title="refused to allow the
-     document to be unloaded">refused to allow <em>this</em> document
-     to be unloaded</a>; jump to the step labeled <i>end</i>.</p>
+    <ol><li><p><a href=#prompt-to-unload-a-document title="prompt to unload a document">Prompt to unload</a> the <a href=#active-document>active
+     document</a> of the <a href=#browsing-context>browsing context</a> <var title="">b</var>. If the user
+     <a href=#refused-to-allow-the-document-to-be-unloaded>refused to allow the document to be unloaded</a>, then the user implicitly also <a href=#refused-to-allow-the-document-to-be-unloaded title="refused to allow the document to be unloaded">refused to allow <em>this</em> document to
+     be unloaded</a>; jump to the step labeled <i>end</i>.</p>
 
-     <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><a href=#concept-document-salvageable>salvageable</a></var> state of
-     <em>this</em> document to false also.</li>
+     <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><a href=#concept-document-salvageable>salvageable</a></var> state of <em>this</em> document
+     to false also.</li>
 
     </ol></li>
 
-   <li><p><i>End</i>: Decrease the <code><a href=#document>Document</a></code>'s
-   <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by one.</li>
+   <li><p><i>End</i>: Decrease the <code><a href=#document>Document</a></code>'s <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload
+   counter</a> by one.</li>
 
-  </ol><p>When a user agent is to <dfn id=unload-a-document>unload a document</dfn>, it must run
-  the following steps. These steps are passed an argument, <var title="">recycle</var>, which is either true or false, indicating
-  whether the <code><a href=#document>Document</a></code> object is going to be
-  re-used. (This is set by the <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.)</p>
+  </ol><p>When a user agent is to <dfn id=unload-a-document>unload a document</dfn>, it must run the following steps. These
+  steps are passed an argument, <var title="">recycle</var>, which is either true or false,
+  indicating whether the <code><a href=#document>Document</a></code> object is going to be re-used. (This is set by the
+  <code title=dom-document-open><a href=#dom-document-open>document.open()</a></code> method.)</p>
 
-  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+  <ol><li><p>Increase the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
-   <li><p>Increase the <code><a href=#document>Document</a></code>'s
-   <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by one.</li>
+   <li><p>Increase the <code><a href=#document>Document</a></code>'s <a href=#ignore-opens-during-unload-counter>ignore-opens-during-unload counter</a> by
+   one.</li>
 
-   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a>
-   flag is false, then jump to the step labeled <i>unload event</i>
-   below (i.e. skip firing the <code title=event-pagehide><a href=#event-pagehide>pagehide</a></code> even and don't rerun the
-   <a href=#unloading-document-visibility-change-steps>unloading document visibility change steps</a>).</li>
+   <li><p>If the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a> flag is false, then jump to the
+   step labeled <i>unload event</i> below (i.e. skip firing the <code title=event-pagehide><a href=#event-pagehide>pagehide</a></code> even and don't rerun the <a href=#unloading-document-visibility-change-steps>unloading document
+   visibility change steps</a>).</li>
 
-   <li><p>Set the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a>
-   flag to false.</li>
+   <li><p>Set the <code><a href=#document>Document</a></code>'s <a href=#page-showing>page showing</a> flag to false.</li>
 
    <li><p><a href=#concept-event-fire title=concept-event-fire>Fire</a> a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event with the name <code title=event-pagehide><a href=#event-pagehide>pagehide</a></code> at the <code><a href=#window>Window</a></code> object of the
    <code><a href=#document>Document</a></code>, but with its <code title=dom-event-target><a href=#dom-event-target>target</a></code> set to the
@@ -68997,59 +68893,51 @@
 
    <li>
 
-    <p>Run any <dfn id=unloading-document-visibility-change-steps>unloading document visibility change steps</dfn>
-    for <code><a href=#document>Document</a></code> that are defined by <a href=#other-applicable-specifications>other
-    applicable specifications</a>.</p>
+    <p>Run any <dfn id=unloading-document-visibility-change-steps>unloading document visibility change steps</dfn> for <code><a href=#document>Document</a></code> that
+    are defined by <a href=#other-applicable-specifications>other applicable specifications</a>.</p>
 
-    <p class=note>This is specifically intended for use by the Page
-    Visibility specification. <a href=#refsPAGEVIS>[PAGEVIS]</a></p>
+    <p class=note>This is specifically intended for use by the Page Visibility specification. <a href=#refsPAGEVIS>[PAGEVIS]</a></p>
 
    </li>
 
-   <li><p><i>Unload event</i>: If the <code><a href=#document>Document</a></code>'s
-   <a href=#fired-unload>fired unload</a> flag is false, <a href=#fire-a-simple-event>fire a simple
-   event</a> named <code title=event-unload>unload</code> at the
+   <li><p><i>Unload event</i>: If the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a> flag is
+   false, <a href=#fire-a-simple-event>fire a simple event</a> named <code title=event-unload>unload</code> at the
    <code><a href=#document>Document</a></code>'s <code><a href=#window>Window</a></code> object.</li>
 
-   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination
-   nesting level</a> by one.</li>
+   <li><p>Decrease the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> by
+   one.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
-   <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><a href=#concept-document-salvageable>salvageable</a></var> state to
-   false and set the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a>
-   flag to true.</li>
+   <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><a href=#concept-document-salvageable>salvageable</a></var>
+   state to false and set the <code><a href=#document>Document</a></code>'s <a href=#fired-unload>fired unload</a> flag to
+   true.</li>
 
-   <li><p>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for
-   <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>Run any <a href=#unloading-document-cleanup-steps>unloading document cleanup steps</a> for <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>If this algorithm was invoked by another instance of the
-   "unload a document" algorithm (i.e. by the steps below that invoke
-   this algorithm for all descendant browsing contexts), then jump to
-   the step labeled <i>end</i>.</li>
+   <li><p>If this algorithm was invoked by another instance of the "unload a document" algorithm
+   (i.e. by the steps below that invoke this algorithm for all descendant browsing contexts), then
+   jump to the step labeled <i>end</i>.</li>
 
-   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the
-   descendant browsing contexts</a> of the
-   <code><a href=#document>Document</a></code>.</li>
+   <li><p>Let <var title="">descendants</var> be the <a href=#list-of-the-descendant-browsing-contexts>list of the descendant browsing
+   contexts</a> of the <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
-    <p>If <var title="">descendants</var> is not an empty list, then
-    for each <a href=#browsing-context>browsing context</a> <var title="">b</var> in
-    <var title="">descendants</var> run the following substeps:</p>
+    <p>If <var title="">descendants</var> is not an empty list, then for each <a href=#browsing-context>browsing
+    context</a> <var title="">b</var> in <var title="">descendants</var> run the following
+    substeps:</p>
 
-    <ol><li><p><a href=#unload-a-document title="unload a document">Unload</a> the
-     <a href=#active-document>active document</a> of the <a href=#browsing-context>browsing context</a>
-     <var title="">b</var> with the <var title="">recycle</var>
+    <ol><li><p><a href=#unload-a-document title="unload a document">Unload</a> the <a href=#active-document>active document</a> of the
+     <a href=#browsing-context>browsing context</a> <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</li>
 
-     <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><a href=#concept-document-salvageable>salvageable</a></var> state of
-     <em>this</em> document to false also.</li>
+     <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><a href=#concept-document-salvageable>salvageable</a></var> state of <em>this</em> document
+     to false also.</li>
 
     </ol></li>
 
@@ -71856,51 +71744,44 @@
 
   <h5 id=definitions-1><span class=secno>7.1.4.1 </span>Definitions</h5>
 
-  <p>To coordinate events, user interaction, scripts, rendering,
-  networking, and so forth, user agents must use <dfn id=event-loop title="event
-  loop">event loops</dfn> as described in this section.</p>
+  <p>To coordinate events, user interaction, scripts, rendering, networking, and so forth, user
+  agents must use <dfn id=event-loop title="event loop">event loops</dfn> as described in this section.</p>
 
-  <p>There must be at least one <a href=#event-loop>event loop</a> per user
-  agent, and at most one <a href=#event-loop>event loop</a> per <a href=#unit-of-related-similar-origin-browsing-contexts>unit of
-  related similar-origin browsing contexts</a>.</p>
+  <p>There must be at least one <a href=#event-loop>event loop</a> per user agent, and at most one <a href=#event-loop>event
+  loop</a> per <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a>.</p>
 
-  <p class=note>When there is more than one <a href=#event-loop>event loop</a>
-  for a <a href=#unit-of-related-browsing-contexts>unit of related browsing contexts</a>, complications
-  arise when a <a href=#browsing-context>browsing context</a> in that group is <a href=#navigate title=navigate>navigated</a> such that it switches from one
-  <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> to
-  another. This specification does not currently describe how to
-  handle these complications.</p>
+  <p class=note>When there is more than one <a href=#event-loop>event loop</a> for a <a href=#unit-of-related-browsing-contexts>unit of related
+  browsing contexts</a>, complications arise when a <a href=#browsing-context>browsing context</a> in that group
+  is <a href=#navigate title=navigate>navigated</a> such that it switches from one <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related
+  similar-origin browsing contexts</a> to another. This specification does not currently describe
+  how to handle these complications.</p>
 
-  <p>An <a href=#event-loop>event loop</a> always has at least one <a href=#browsing-context>browsing
-  context</a>. If an <a href=#event-loop>event loop</a>'s <a href=#browsing-context title="browsing context">browsing contexts</a> all go away, then
-  the <a href=#event-loop>event loop</a> goes away as well. A <a href=#browsing-context>browsing
-  context</a> always has an <a href=#event-loop>event loop</a> coordinating
-  its activities.</p>
+  <p>An <a href=#event-loop>event loop</a> always has at least one <a href=#browsing-context>browsing context</a>. If an
+  <a href=#event-loop>event loop</a>'s <a href=#browsing-context title="browsing context">browsing contexts</a> all go away,
+  then the <a href=#event-loop>event loop</a> goes away as well. A <a href=#browsing-context>browsing context</a> always has an
+  <a href=#event-loop>event loop</a> coordinating its activities.</p>
 
+  <p>An <a href=#event-loop>event loop</a> has one or more <dfn id=task-queue title="task queue">task queues</dfn>. A
+  <a href=#task-queue>task queue</a> is an ordered list of <dfn id=concept-task title=concept-task>tasks</dfn>, which can
+  be:</p>
 
-  <p>An <a href=#event-loop>event loop</a> has one or more <dfn id=task-queue title="task
-  queue">task queues</dfn>. A <a href=#task-queue>task queue</a> is an ordered
-  list of <dfn id=concept-task title=concept-task>tasks</dfn>, which can be:</p>
-
   <dl><dt>Events</dt>
 
    <dd>
 
-    <p>Asynchronously dispatching an <code><a href=#event>Event</a></code> object at a
-    particular <code><a href=#eventtarget>EventTarget</a></code> object is a task.</p>
+    <p>Asynchronously dispatching an <code><a href=#event>Event</a></code> object at a particular
+    <code><a href=#eventtarget>EventTarget</a></code> object is a task.</p>
 
-    <p class=note>Not all events are dispatched using the <a href=#task-queue>task
-    queue</a>, many are dispatched synchronously during other
-    tasks.</p>
+    <p class=note>Not all events are dispatched using the <a href=#task-queue>task queue</a>, many are
+    dispatched synchronously during other tasks.</p>
 
    </dd>
 
 
    <dt>Parsing</dt>
 
-   <dd><p>The <a href=#html-parser>HTML parser</a> tokenizing one or more bytes,
-   and then processing any resulting tokens, is typically a
-   task.</dd>
+   <dd><p>The <a href=#html-parser>HTML parser</a> tokenizing one or more bytes, and then processing any
+   resulting tokens, is typically a task.</dd>
 
 
    <dt>Callbacks</dt>
@@ -71910,81 +71791,64 @@
 
    <dt>Using a resource</dt>
 
-   <dd><p>When an algorithm <a href=#fetch title=fetch>fetches</a> a
-   resource, if the fetching occurs asynchronously then the processing
-   of the resource once some or all of the resource is available is a
-   task.</dd>
+   <dd><p>When an algorithm <a href=#fetch title=fetch>fetches</a> a resource, if the fetching occurs
+   asynchronously then the processing of the resource once some or all of the resource is available
+   is a task.</dd>
 
 
    <dt>Reacting to DOM manipulation</dt>
 
-   <dd><p>Some elements have tasks that trigger in response to DOM
-   manipulation, e.g. when that element is <a href=#insert-an-element-into-a-document title="insert an
-   element into a document">inserted into the document</a>.</p>
+   <dd><p>Some elements have tasks that trigger in response to DOM manipulation, e.g. when that
+   element is <a href=#insert-an-element-into-a-document title="insert an element into a document">inserted into the document</a>.</p>
 
-  </dl><p>When a user agent is to <dfn id=queue-a-task>queue a task</dfn>, it must add the
-  given task to one of the <a href=#task-queue title="task queue">task queues</a>
-  of the relevant <a href=#event-loop>event loop</a>. All the tasks from one
-  particular <dfn id=task-source>task source</dfn> (e.g. the callbacks generated by
-  timers, the events fired for mouse movements, the tasks queued for
-  the parser) must always be added to the same <a href=#task-queue>task
-  queue</a>, but tasks from different <a href=#task-source title="task
-  source">task sources</a> may be placed in different <a href=#task-queue title="task queue">task queues</a>.</p>
+  </dl><p>When a user agent is to <dfn id=queue-a-task>queue a task</dfn>, it must add the given task to one of the <a href=#task-queue title="task queue">task queues</a> of the relevant <a href=#event-loop>event loop</a>. All the tasks from
+  one particular <dfn id=task-source>task source</dfn> (e.g. the callbacks generated by timers, the events fired
+  for mouse movements, the tasks queued for the parser) must always be added to the same <a href=#task-queue>task
+  queue</a>, but tasks from different <a href=#task-source title="task source">task sources</a> may be placed
+  in different <a href=#task-queue title="task queue">task queues</a>.</p>
 
-  <p class=example>For example, a user agent could have one
-  <a href=#task-queue>task queue</a> for mouse and key events (the <a href=#user-interaction-task-source>user
-  interaction task source</a>), and another for everything
-  else. The user agent could then give keyboard and mouse events
-  preference over other tasks three quarters of the time, keeping the
-  interface responsive but not starving other task queues, and never
-  processing events from any one <a href=#task-source>task source</a> out of
-  order.</p>
+  <p class=example>For example, a user agent could have one <a href=#task-queue>task queue</a> for mouse and
+  key events (the <a href=#user-interaction-task-source>user interaction task source</a>), and another for everything else. The
+  user agent could then give keyboard and mouse events preference over other tasks three quarters of
+  the time, keeping the interface responsive but not starving other task queues, and never
+  processing events from any one <a href=#task-source>task source</a> out of order.</p>
 
-  <p>Each <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a> onto a <a href=#task-queue>task queue</a> of
-  an <a href=#event-loop>event loop</a> defined by this specification is
-  associated with a <code><a href=#document>Document</a></code>; if the task was queued in
-  the context of an element, then it is the element's
-  <code><a href=#document>Document</a></code>; if the task was queued in the context of a
-  <a href=#browsing-context>browsing context</a>, then it is the <a href=#browsing-context>browsing
-  context</a>'s <a href=#active-document>active document</a> at the time the task
-  was queued; if the task was queued by or for a <a href=#concept-script title=concept-script>script</a> then the document is the
-  <a href="#script's-document">script's document</a>.</p>
+  <p>Each <a href=#concept-task title=concept-task>task</a> that is <a href=#queue-a-task title="queue a task">queued</a>
+  onto a <a href=#task-queue>task queue</a> of an <a href=#event-loop>event loop</a> defined by this specification is
+  associated with a <code><a href=#document>Document</a></code>; if the task was queued in the context of an element, then
+  it is the element's <code><a href=#document>Document</a></code>; if the task was queued in the context of a
+  <a href=#browsing-context>browsing context</a>, then it is the <a href=#browsing-context>browsing context</a>'s <a href=#active-document>active
+  document</a> at the time the task was queued; if the task was queued by or for a <a href=#concept-script title=concept-script>script</a> then the document is the <a href="#script's-document">script's document</a>.</p>
 
-  <p>A user agent may have one <dfn id=storage-mutex>storage mutex</dfn>. This mutex is
-  used to control access to shared state like cookies. At any one
-  point, the <a href=#storage-mutex>storage mutex</a> is either free, or owned by a
-  particular <a href=#event-loop>event loop</a> or instance of the <a href=#fetch title=fetch>fetching</a> algorithm.</p>
+  <p>A user agent may have one <dfn id=storage-mutex>storage mutex</dfn>. This mutex is used to control access to
+  shared state like cookies. At any one point, the <a href=#storage-mutex>storage mutex</a> is either free, or
+  owned by a particular <a href=#event-loop>event loop</a> or instance of the <a href=#fetch title=fetch>fetching</a> algorithm.</p>
 
-  <p>If a user agent does not implement a <a href=#storage-mutex>storage mutex</a>,
-  it is exempt from implementing the requirements that require it to
-  acquire or release it.</p>
+  <p>If a user agent does not implement a <a href=#storage-mutex>storage mutex</a>, it is exempt from implementing
+  the requirements that require it to acquire or release it.</p>
 
-  <p class=note>User agent implementors have to make a choice
-  between two evils. On the one hand, not implementing the storage
-  mutex means that there is a risk of data corruption: a site could,
-  for instance, try to read a cookie, increment its value, then write
-  it back out, using the new value of the cookie as a unique
-  identifier for the session; if the site does this twice in two
-  different browser windows at the same time, it might end up using
-  the same "unique" identifier for both sessions, with potentially
-  disastrous effects. On the other hand, implementing the storage
-  mutex has potentially serious performance implications: whenever a
-  site uses Web Storage or cookies, all other sites that try to use
-  Web Storage or cookies are blocked until the first site finishes.</p>
+  <p class=note>User agent implementors have to make a choice between two evils. On the one hand,
+  not implementing the storage mutex means that there is a risk of data corruption: a site could,
+  for instance, try to read a cookie, increment its value, then write it back out, using the new
+  value of the cookie as a unique identifier for the session; if the site does this twice in two
+  different browser windows at the same time, it might end up using the same "unique" identifier for
+  both sessions, with potentially disastrous effects. On the other hand, implementing the storage
+  mutex has potentially serious performance implications: whenever a site uses Web Storage or
+  cookies, all other sites that try to use Web Storage or cookies are blocked until the first site
+  finishes.</p>
 
-  <p>Whenever a <a href=#concept-script title=concept-script>script</a> calls into
-  a <a href=#plugin>plugin</a>, and whenever a <a href=#plugin>plugin</a> calls into
-  a <a href=#concept-script title=concept-script>script</a>, the user agent must
-  release the <a href=#storage-mutex>storage mutex</a>.</p>
+  <p>Whenever a <a href=#concept-script title=concept-script>script</a> calls into a <a href=#plugin>plugin</a>, and
+  whenever a <a href=#plugin>plugin</a> calls into a <a href=#concept-script title=concept-script>script</a>, the user
+  agent must release the <a href=#storage-mutex>storage mutex</a>.</p>
 
 
   <h5 id=processing-model-4><span class=secno>7.1.4.2 </span>Processing model</h5>
 
-  <p>An <a href=#event-loop>event loop</a> must continually run through the
-  following steps for as long as it exists:</p>
+  <p>An <a href=#event-loop>event loop</a> must continually run through the following steps for as long as it
+  exists:</p>
 
   <ol><!-- if you add a step here, make sure to go through the spec updating references to the "first
-   step" of the event loop --><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one of the <a href=#event-loop>event
+   step" or "step 1" of the event loop --><li><p>Run the oldest <a href=#concept-task title=concept-task>task</a> on one of the <a href=#event-loop>event
    loop</a>'s <a href=#task-queue title="task queue">task queues</a>, if any, ignoring tasks whose
    associated <code><a href=#document>Document</a></code>s are not <a href=#fully-active>fully active</a>. The user agent may pick any
    <a href=#task-queue>task queue</a>.</li>
@@ -72002,28 +71866,23 @@
 
    <li><p><a href=#provide-a-stable-state>Provide a stable state</a>.</li>
 
-   <li><p>If necessary, update the rendering or user interface of any
-   <code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
-   the current state.</li>
+   <li><p>If necessary, update the rendering or user interface of any <code><a href=#document>Document</a></code> or
+   <a href=#browsing-context>browsing context</a> to reflect the current state.</li>
 
-   <li><p>Return to the first step of the <a href=#event-loop>event
-   loop</a>.</li>
+   <li><p>Return to the first step of the <a href=#event-loop>event loop</a>.</li>
 
-  </ol><hr><p>When a user agent is to <dfn id=perform-a-microtask-checkpoint>perform a microtask
-  checkpoint</dfn>, if the <a href=#running-mutation-observers>running mutation observers</a>
-  flag is false, then the user agent must run the following steps:</p>
+  </ol><hr><p>When a user agent is to <dfn id=perform-a-microtask-checkpoint>perform a microtask checkpoint</dfn>, if the <a href=#running-mutation-observers>running
+  mutation observers</a> flag is false, then the user agent must run the following steps:</p>
 
-  <ol><li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be
-   true.</li>
+  <ol><li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be true.</li>
 
    <li><p><a href=#sort-the-tables-with-pending-sorts>Sort the tables with pending sorts</a>.</li>
 
    <li>
 
-    <p><a href=#concept-mo-invoke title=concept-mo-invoke>Invoke
-    <code>MutationObserver</code> objects</a> for the <a href=#unit-of-related-similar-origin-browsing-contexts>unit
-    of related similar-origin browsing contexts</a> to which the
-    <a href="#script's-browsing-context">script's browsing context</a> belongs.</p>
+    <p><a href=#concept-mo-invoke title=concept-mo-invoke>Invoke <code>MutationObserver</code> objects</a> for the
+    <a href=#unit-of-related-similar-origin-browsing-contexts>unit of related similar-origin browsing contexts</a> to which the <a href="#script's-browsing-context">script's
+    browsing context</a> belongs.</p>
 
     <p class=note>This will typically invoke scripted callbacks, which calls the <a href=#jump-to-a-code-entry-point>jump to a
     code entry-point</a> algorithm, which calls this <a href=#perform-a-microtask-checkpoint>perform a microtask checkpoint</a>
@@ -72032,8 +71891,7 @@
 
    </li>
 
-   <li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be
-   false.</li>
+   <li><p>Let the <a href=#running-mutation-observers>running mutation observers</a> flag be false.</li>
 
   </ol><hr><p>When the user agent is to <dfn id=provide-a-stable-state>provide a stable state</dfn>, if any asynchronously-running
   algorithms are <dfn id=await-a-stable-state title="await a stable state">awaiting a stable state</dfn>, then the user
@@ -72046,66 +71904,52 @@
   <p class=note>Steps in <a href=#synchronous-section title="synchronous section">synchronous sections</a> are marked
   with ⌛.</p>
 
-  <hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until
-  a condition <var title="">goal</var> is met, the user agent must run
-  the following steps:</p>
+  <hr><p>When an algorithm says to <dfn id=spin-the-event-loop>spin the event loop</dfn> until a condition <var title="">goal</var> is met, the user agent must run the following steps:</p>
 
-  <ol><li><p>Let <var title="">task source</var> be the <a href=#task-source>task
-   source</a> of the currently running <a href=#concept-task title=concept-task>task</a>.</li>
+  <ol><li><p>Let <var title="">task source</var> be the <a href=#task-source>task source</a> of the currently
+   running <a href=#concept-task title=concept-task>task</a>.</li>
 
    <li>
 
     <p>Stop the currently running <a href=#concept-task title=concept-task>task</a>, allowing the <a href=#event-loop>event
-    loop</a> to resume, but continue these steps
-    asynchronously.</p>
+    loop</a> to resume, but continue these steps asynchronously.</p>
 
-    <p class=note>This causes the <a href=#event-loop>event loop</a> to move on
-    to the second step of its processing model (defined above).</p>
+    <p class=note>This causes the <a href=#event-loop>event loop</a> to move on to the second step of its
+    processing model (defined above).</p>
 
    </li>
 
-   <li><p>Wait until the condition <var title="">goal</var> is
-   met.</li>
+   <li><p>Wait until the condition <var title="">goal</var> is met.</li>
 
-   <li><p><a href=#queue-a-task>Queue a task</a> to continue running these steps,
-   using the <a href=#task-source>task source</a> <var title="">task
-   source</var>. Wait until this task runs before continuing these
+   <li><p><a href=#queue-a-task>Queue a task</a> to continue running these steps, using the <a href=#task-source>task
+   source</a> <var title="">task source</var>. Wait until this task runs before continuing these
    steps.</li>
 
    <li><p>Return to the caller.</li>
 
-  </ol><hr><p>Some of the algorithms in this specification, for historical
-  reasons, require the user agent to <dfn id=pause>pause</dfn> while running a
-  <a href=#concept-task title=concept-task>task</a> until a condition <var title="">goal</var> is met. This means running the following
-  steps:</p>
+  </ol><hr><p>Some of the algorithms in this specification, for historical reasons, require the user agent to
+  <dfn id=pause>pause</dfn> while running a <a href=#concept-task title=concept-task>task</a> until a condition <var title="">goal</var> is met. This means running the following steps:</p>
 
-  <ol><li><p>If any asynchronously-running algorithms are <a href=#await-a-stable-state title="await a stable state">awaiting a stable state</a>, then
-   run their <a href=#synchronous-section>synchronous section</a> and then resume running
-   their asynchronous algorithm. (See the <a href=#event-loop>event loop</a>
-   processing model definition above for details.)</p>
+  <ol><li><p>If any asynchronously-running algorithms are <a href=#await-a-stable-state title="await a stable state">awaiting a
+   stable state</a>, then run their <a href=#synchronous-section>synchronous section</a> and then resume running
+   their asynchronous algorithm. (See the <a href=#event-loop>event loop</a> processing model definition above
+   for details.)</p>
 
-   <li><p>If necessary, update the rendering or user interface of any
-   <code><a href=#document>Document</a></code> or <a href=#browsing-context>browsing context</a> to reflect
-   the current state.</li>
+   <li><p>If necessary, update the rendering or user interface of any <code><a href=#document>Document</a></code> or
+   <a href=#browsing-context>browsing context</a> to reflect the current state.</li>
 
-   <li><p>Wait until the condition <var title="">goal</var> is met.
-   While a user agent has a paused <a href=#concept-task title=concept-task>task</a>, the corresponding <a href=#event-loop>event
-   loop</a> must not run further <a href=#concept-task title=concept-task>tasks</a>, and any script in the currently
-   running <a href=#concept-task title=concept-task>task</a> must block. User
-   agents should remain responsive to user input while paused,
-   however, albeit in a reduced capacity since the <a href=#event-loop>event
-   loop</a> will not be doing anything.</li>
+   <li><p>Wait until the condition <var title="">goal</var> is met. While a user agent has a paused
+   <a href=#concept-task title=concept-task>task</a>, the corresponding <a href=#event-loop>event loop</a> must not run
+   further <a href=#concept-task title=concept-task>tasks</a>, and any script in the currently running <a href=#concept-task title=concept-task>task</a> must block. User agents should remain responsive to user input
+   while paused, however, albeit in a reduced capacity since the <a href=#event-loop>event loop</a> will not be
+   doing anything.</li>
 
-  </ol><hr><p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as
-  part of running a <a href=#concept-task title=concept-task>task</a>, it must
-  run through the following steps:</p>
+  </ol><hr><p>When a user agent is to <dfn id=obtain-the-storage-mutex>obtain the storage mutex</dfn> as part of running a <a href=#concept-task title=concept-task>task</a>, it must run through the following steps:</p>
 
-  <ol><li><p>If the <a href=#storage-mutex>storage mutex</a> is already owned by this
-   <a href=#concept-task title=concept-task>task</a>'s <a href=#event-loop>event loop</a>,
-   then abort these steps.</li>
+  <ol><li><p>If the <a href=#storage-mutex>storage mutex</a> is already owned by this <a href=#concept-task title=concept-task>task</a>'s <a href=#event-loop>event loop</a>, then abort these steps.</li>
 
-   <li><p>Otherwise, <a href=#pause>pause</a> until the <a href=#storage-mutex>storage
-   mutex</a> can be taken by the <a href=#event-loop>event loop</a>.</li>
+   <li><p>Otherwise, <a href=#pause>pause</a> until the <a href=#storage-mutex>storage mutex</a> can be taken by the
+   <a href=#event-loop>event loop</a>.</li>
 
    <li><p>Take ownership of the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -72116,17 +71960,15 @@
 
   <h5 id=generic-task-sources><span class=secno>7.1.4.3 </span>Generic task sources</h5>
 
-  <p>The following <a href=#task-source title="task source">task sources</a> are
-  used by a number of mostly unrelated features in this and other
-  specifications.</p>
+  <p>The following <a href=#task-source title="task source">task sources</a> are used by a number of mostly
+  unrelated features in this and other specifications.</p>
 
   <dl><dt>The <dfn id=dom-manipulation-task-source>DOM manipulation task source</dfn></dt>
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used for features that react
-    to DOM manipulations, such as things that happen asynchronously
-    when an element is <a href=#insert-an-element-into-a-document title="insert an element into a
+    <p>This <a href=#task-source>task source</a> is used for features that react to DOM manipulations, such as
+    things that happen asynchronously when an element is <a href=#insert-an-element-into-a-document title="insert an element into a
     document">inserted into the document</a>.</p>
 
    </dd>
@@ -72135,14 +71977,12 @@
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used for features that react
-    to user interaction, for example keyboard or mouse input.</p>
+    <p>This <a href=#task-source>task source</a> is used for features that react to user interaction, for
+    example keyboard or mouse input.</p>
 
-    <p>Asynchronous events sent in response to user input (e.g. <code title=event-click><a href=#event-click>click</a></code> events) must be fired using
-    <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a
-    task">queued</a> with the <a href=#user-interaction-task-source>user interaction task
-    source</a>. <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p>
-    <!-- user interaction events integration point -->
+    <p>Asynchronous events sent in response to user input (e.g. <code title=event-click><a href=#event-click>click</a></code> events) must be fired using <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a task">queued</a> with the <a href=#user-interaction-task-source>user
+    interaction task source</a>. <a href=#refsDOMEVENTS>[DOMEVENTS]</a></p> <!-- user
+    interaction events integration point -->
 
    </dd>
 
@@ -72150,19 +71990,16 @@
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used for features that trigger
-    in response to network activity.</p>
+    <p>This <a href=#task-source>task source</a> is used for features that trigger in response to network
+    activity.</p>
 
-    <!-- XHR should use this -->
-
    </dd>
 
    <dt>The <dfn id=history-traversal-task-source>history traversal task source</dfn></dt>
 
    <dd>
 
-    <p>This <a href=#task-source>task source</a> is used to queue calls to <code title=dom-history-back><a href=#dom-history-back>history.back()</a></code> and similar
-    APIs.</p>
+    <p>This <a href=#task-source>task source</a> is used to queue calls to <code title=dom-history-back><a href=#dom-history-back>history.back()</a></code> and similar APIs.</p>
 
    </dd>
 
@@ -73558,11 +73395,11 @@
 
   </dl><div class=impl>
 
-  <p>The <dfn id=dom-alert title=dom-alert><code>alert(<var title="">message</var>)</code></dfn> method, when invoked, must run
-  the following steps:</p>
+  <p>The <dfn id=dom-alert title=dom-alert><code>alert(<var title="">message</var>)</code></dfn> method, when
+  invoked, must run the following steps:</p>
 
-  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting
-   level</a> is non-zero, optionally abort these steps.</li>
+  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> is non-zero,
+   optionally abort these steps.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -73570,18 +73407,16 @@
    to ignore all alerts, and would thus abort at this step whenever the method was
    invoked.)</li>
 
-   <li><p>Show the given <var title="">message</var> to the
-   user.</li>
+   <li><p>Show the given <var title="">message</var> to the user.</li>
 
-   <li><p>Optionally, <a href=#pause>pause</a> while waiting for for the
-   user to acknowledge the message.</li>
+   <li><p>Optionally, <a href=#pause>pause</a> while waiting for for the user to acknowledge the
+   message.</li>
 
-  </ol><p>The <dfn id=dom-confirm title=dom-confirm><code>confirm(<var title="">message</var>)</code></dfn> method, when invoked, must run
-  the following steps:</p>
+  </ol><p>The <dfn id=dom-confirm title=dom-confirm><code>confirm(<var title="">message</var>)</code></dfn> method,
+  when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting
-   level</a> is non-zero, optionally abort these steps, returning
-   false.</li>
+  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> is non-zero,
+   optionally abort these steps, returning false.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -73589,22 +73424,18 @@
    the user the option to ignore all prompts, and would thus abort at this step whenever the method
    was invoked.)</li>
 
-   <li><p>Show the given <var title="">message</var> to the user, and
-   ask the user to respond with a positive or negative
-   response.</li>
+   <li><p>Show the given <var title="">message</var> to the user, and ask the user to respond with a
+   positive or negative response.</li>
 
-   <li><p><a href=#pause>Pause</a> until the user responds either positively
-   or negatively.</li>
+   <li><p><a href=#pause>Pause</a> until the user responds either positively or negatively.</li>
 
-   <li><p>If the user responded positively, return true; otherwise,
-   the user responded negatively: return false.</li>
+   <li><p>If the user responded positively, return true; otherwise, the user responded negatively:
+   return false.</li>
 
-  </ol><p>The <dfn id=dom-prompt title=dom-prompt><code>prompt(<var title="">message</var>, <var title="">default</var>)</code></dfn>
-  method, when invoked, must run the following steps:</p>
+  </ol><p>The <dfn id=dom-prompt title=dom-prompt><code>prompt(<var title="">message</var>, <var title="">default</var>)</code></dfn> method, when invoked, must run the following steps:</p>
 
-  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting
-   level</a> is non-zero, optionally abort these steps, returning
-   null.</li>
+  <ol><li><p>If the <a href=#event-loop>event loop</a>'s <a href=#termination-nesting-level>termination nesting level</a> is non-zero,
+   optionally abort these steps, returning null.</li>
 
    <li><p>Release the <a href=#storage-mutex>storage mutex</a>.</li>
 
@@ -73612,16 +73443,14 @@
    user the option to ignore all prompts, and would thus abort at this step whenever the method was
    invoked.)</li>
 
-   <li><p>Show the given <var title="">message</var> to the user, and
-   ask the user to either respond with a string value or abort. The
-   second argument is optional. If the second argument (<var title="">default</var>) is present, then the response must be
-   defaulted to the value given by <var title="">default</var>.</li>
+   <li><p>Show the given <var title="">message</var> to the user, and ask the user to either respond
+   with a string value or abort. The second argument is optional. If the second argument (<var title="">default</var>) is present, then the response must be defaulted to the value given by
+   <var title="">default</var>.</li>
 
-   <li><p><a href=#pause>Pause</a> while waiting for the user's
-   response.</li>
+   <li><p><a href=#pause>Pause</a> while waiting for the user's response.</li>
 
-   <li><p>If the user aborts, then return null; otherwise, return the
-   string that the user responded with.</li>
+   <li><p>If the user aborts, then return null; otherwise, return the string that the user responded
+   with.</li>
 
   </ol></div>
 
@@ -73766,29 +73595,22 @@
 
    <li>
 
-    <p>If the user agent is configured such that this invocation of
-    <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> is
-    somehow disabled, then return the empty string and abort these
-    steps.</p>
+    <p>If the user agent is configured such that this invocation of <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> is somehow disabled, then return the empty
+    string and abort these steps.</p>
 
-    <p class=note>User agents are expected to disable this method in
-    certain cases to avoid user annoyance (e.g. as part of their popup
-    blocker feature). For instance, a user agent could require that a
-    site be white-listed before enabling this method, or the user
-    agent could be configured to only allow one modal dialog at a
-    time.</p>
+    <p class=note>User agents are expected to disable this method in certain cases to avoid user
+    annoyance (e.g. as part of their popup blocker feature). For instance, a user agent could
+    require that a site be white-listed before enabling this method, or the user agent could be
+    configured to only allow one modal dialog at a time.</p>
 
    </li>
 
    <li>
 
-    <p>If the <a href=#active-sandboxing-flag-set>active sandboxing flag set</a>
-    of the <a href=#active-document>active document</a>
-    of the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a>
-    of the <a href=#concept-script title=concept-script>script</a> that invoked the method
-    has its
-    <a href=#sandboxed-auxiliary-navigation-browsing-context-flag>sandboxed auxiliary navigation browsing context flag</a>
-    set, then return the empty string and abort these steps.</p>
+    <p>If the <a href=#active-sandboxing-flag-set>active sandboxing flag set</a> of the <a href=#active-document>active document</a> of the
+    <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method has its <a href=#sandboxed-auxiliary-navigation-browsing-context-flag>sandboxed auxiliary
+    navigation browsing context flag</a> set, then return the empty string and abort these
+    steps.</p>
 
    </li>
 
@@ -73797,17 +73619,13 @@
     <p>Let <var title="">the list of background browsing
     contexts</var> be a list of all the browsing contexts that:</p>
 
-    <ul><li>are part of the same <a href=#unit-of-related-browsing-contexts>unit of related browsing
-     contexts</a> as the browsing context of the
-     <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was
-     called, and that</li>
+    <ul><li>are part of the same <a href=#unit-of-related-browsing-contexts>unit of related browsing contexts</a> as the browsing context
+     of the <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was called, and that</li>
 
-     <li>have an <a href=#active-document>active document</a> whose
-     <a href=#origin>origin</a> is the <a href=#same-origin title="same origin">same</a>
-     as the <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method at
-     the time the method was called,</li> <!-- Note that changing
-     document.domain to talk to another domain doesn't make you able
-     to block that domain -->
+     <li>have an <a href=#active-document>active document</a> whose <a href=#origin>origin</a> is the <a href=#same-origin title="same
+     origin">same</a> as the <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method at the time the method was
+     called,</li> <!-- Note that changing document.domain to talk to another domain doesn't make you
+     able to block that domain -->
 
     </ul><p>...as well as any browsing contexts that are nested inside any
     of the browsing contexts matching those conditions.</p>
@@ -73816,105 +73634,87 @@
 
    <li>
 
-    <p>Disable the user interface for all the browsing contexts in
-    <var title="">the list of background browsing contexts</var>. This
-    should prevent the user from navigating those browsing contexts,
-    causing events to be sent to those browsing context, or editing
-    any content in those browsing contexts. However, it does not
-    prevent those browsing contexts from receiving events from sources
-    other than the user, from running scripts, from running
-    animations, and so forth.</p>
+    <p>Disable the user interface for all the browsing contexts in <var title="">the list of
+    background browsing contexts</var>. This should prevent the user from navigating those browsing
+    contexts, causing events to be sent to those browsing context, or editing any content in those
+    browsing contexts. However, it does not prevent those browsing contexts from receiving events
+    from sources other than the user, from running scripts, from running animations, and so
+    forth.</p>
 
    </li>
 
    <li>
 
-    <p>Create a new <a href=#auxiliary-browsing-context>auxiliary browsing context</a>, with the
-    <a href=#opener-browsing-context>opener browsing context</a> being the browsing context of
-    the <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was
-    called. The new auxiliary browsing context has no name.</p>
+    <p>Create a new <a href=#auxiliary-browsing-context>auxiliary browsing context</a>, with the <a href=#opener-browsing-context>opener browsing
+    context</a> being the browsing context of the <code><a href=#window>Window</a></code> object on which the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method was called. The new auxiliary
+    browsing context has no name.</p>
 
-    <p class=note>This <a href=#browsing-context>browsing context</a>'s
-    <code><a href=#document>Document</a></code>s' <code><a href=#window>Window</a></code> objects all implement
-    the <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
+    <p class=note>This <a href=#browsing-context>browsing context</a>'s <code><a href=#document>Document</a></code>s' <code><a href=#window>Window</a></code>
+    objects all implement the <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
 
    </li>
 
    <li>
 
-    <p>Set all the flags
-    in the new browsing context's <a href=#popup-sandboxing-flag-set>popup sandboxing flag set</a>
-    that are set in the
-    <a href=#active-sandboxing-flag-set>active sandboxing flag set</a>
-    of the <a href=#active-document>active document</a>
-    of the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a>
-    of the <a href=#concept-script title=concept-script>script</a> that invoked the method.
-    The <a href="#script's-browsing-context" title="script's browsing context">browsing context</a>
-    of the <a href=#concept-script title=concept-script>script</a> that invoked the method
-    must be set as the new browsing context's
-    <a href=#one-permitted-sandboxed-navigator>one permitted sandboxed navigator</a>.</p>
+    <p>Set all the flags in the new browsing context's <a href=#popup-sandboxing-flag-set>popup sandboxing flag set</a> that
+    are set in the <a href=#active-sandboxing-flag-set>active sandboxing flag set</a> of the <a href=#active-document>active document</a> of
+    the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method. The <a href="#script's-browsing-context" title="script's browsing
+    context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked
+    the method must be set as the new browsing context's <a href=#one-permitted-sandboxed-navigator>one permitted sandboxed
+    navigator</a>.</p>
 
    </li>
 
    <li>
 
-    <p>Let the <a href=#dialog-arguments>dialog arguments</a> of the new browsing
-    context be set to the value of <var title="">argument</var>, or
-    the 'undefined' value if the argument was omitted.</p>
+    <p>Let the <a href=#dialog-arguments>dialog arguments</a> of the new browsing context be set to the value of <var title="">argument</var>, or the 'undefined' value if the argument was omitted.</p>
 
    </li>
 
    <li>
 
-    <p>Let the <a href="#dialog-arguments'-origin">dialog arguments' origin</a> be the
-    <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
+    <p>Let the <a href="#dialog-arguments'-origin">dialog arguments' origin</a> be the <a href=#origin>origin</a> of the <a href=#concept-script title=concept-script>script</a> that called the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
 
    </li>
 
    <li>
 
-    <p><a href=#navigate>Navigate</a><!--DONAV showModalDialog--> the new
-    <a href=#browsing-context>browsing context</a> to the <a href=#absolute-url>absolute URL</a>
-    that resulted from <a href=#resolve-a-url title="resolve a url">resolving</a>
-    <var title="">url</var> earlier, with <a href=#replacement-enabled>replacement
-    enabled</a>, and with the <a href="#script's-browsing-context" title="script's browsing
-    context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method as
-    the <a href=#source-browsing-context>source browsing context</a>.</p>
+    <p><a href=#navigate>Navigate</a><!--DONAV showModalDialog--> the new <a href=#browsing-context>browsing context</a> to
+    the <a href=#absolute-url>absolute URL</a> that resulted from <a href=#resolve-a-url title="resolve a url">resolving</a>
+    <var title="">url</var> earlier, with <a href=#replacement-enabled>replacement enabled</a>, and with the <a href="#script's-browsing-context" title="script's browsing context">browsing context</a> of the <a href=#concept-script title=concept-script>script</a> that invoked the method as the <a href=#source-browsing-context>source browsing
+    context</a>.</p>
 
    </li>
 
    <li>
 
-    <p><a href=#spin-the-event-loop>Spin the event loop</a> until the new <a href=#browsing-context>browsing
-    context</a> is closed. (The user agent must allow the user to
-    indicate that the <a href=#browsing-context>browsing context</a> is to be
+    <p><a href=#spin-the-event-loop>Spin the event loop</a> until the new <a href=#browsing-context>browsing context</a> is closed. (The
+    user agent must allow the user to indicate that the <a href=#browsing-context>browsing context</a> is to be
     closed.)</p>
 
    </li>
 
    <li>
 
-    <p>Reenable the user interface for all the browsing contexts in
-    <var title="">the list of background browsing contexts</var>.</p>
+    <p>Reenable the user interface for all the browsing contexts in <var title="">the list of
+    background browsing contexts</var>.</p>
 
    </li>
 
    <li>
 
-    <p>Return the <a href=#auxiliary-browsing-context>auxiliary browsing context</a>'s
-    <a href=#return-value>return value</a>.</p>
+    <p>Return the <a href=#auxiliary-browsing-context>auxiliary browsing context</a>'s <a href=#return-value>return value</a>.</p>
 
    </li>
 
-  </ol><p>The <code><a href=#window>Window</a></code> objects of <code><a href=#document>Document</a></code>s hosted
-  by <a href=#browsing-context title="browsing context">browsing contexts</a> created
-  by the above algorithm must also implement the
+  </ol><p>The <code><a href=#window>Window</a></code> objects of <code><a href=#document>Document</a></code>s hosted by <a href=#browsing-context title="browsing
+  context">browsing contexts</a> created by the above algorithm must also implement the
   <code><a href=#windowmodal>WindowModal</a></code> interface.</p>
 
-  <p class=note>When this happens, the members of the
-  <code><a href=#windowmodal>WindowModal</a></code> interface, in JavaScript environments,
-  appear to actually be part of the <code><a href=#window>Window</a></code> interface
-  (e.g. they are on the same prototype chain as the <code title=dom-alert><a href=#dom-alert>window.alert()</a></code> method).</p>
+  <p class=note>When this happens, the members of the <code><a href=#windowmodal>WindowModal</a></code> interface, in
+  JavaScript environments, appear to actually be part of the <code><a href=#window>Window</a></code> interface (e.g.
+  they are on the same prototype chain as the <code title=dom-alert><a href=#dom-alert>window.alert()</a></code>
+  method).</p>
 
   </div>
 
@@ -73927,8 +73727,7 @@
 
    <dd>
 
-    <p>Returns the <var title="">argument</var> argument that was
-    passed to the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
+    <p>Returns the <var title="">argument</var> argument that was passed to the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
 
    </dd>
 
@@ -73938,45 +73737,36 @@
 
     <p>Returns the current return value for the window.</p>
 
-    <p>Can be set, to change the value that will be returned by the
-    <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code>
-    method.</p>
+    <p>Can be set, to change the value that will be returned by the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method.</p>
 
    </dd>
 
   </dl><div class=impl>
 
-  <p>Such browsing contexts have associated <dfn id=dialog-arguments>dialog
-  arguments</dfn>, which are stored along with the <dfn id="dialog-arguments'-origin">dialog
-  arguments' origin</dfn>. These values are set by the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method in the
-  algorithm above, when the browsing context is created, based on the
-  arguments provided to the method.</p>
+  <p>Such browsing contexts have associated <dfn id=dialog-arguments>dialog arguments</dfn>, which are stored along with
+  the <dfn id="dialog-arguments'-origin">dialog arguments' origin</dfn>. These values are set by the <code title=dom-showModalDialog><a href=#dom-showmodaldialog>showModalDialog()</a></code> method in the algorithm above, when the
+  browsing context is created, based on the arguments provided to the method.</p>
 
-  <p>The <dfn id=dom-windowmodal-dialogarguments title=dom-WindowModal-dialogArguments><code>dialogArguments</code></dfn>
-  IDL attribute, on getting, must check whether its browsing context's
-  <a href=#active-document>active document</a>'s <a href=#origin>origin</a> is the <a href=#same-origin title="same origin">same</a> as the <a href="#dialog-arguments'-origin">dialog arguments'
-  origin</a>. If it is, then the browsing context's <a href=#dialog-arguments>dialog
-  arguments</a> must be returned unchanged. Otherwise, if the
-  <a href=#dialog-arguments>dialog arguments</a> are an object, then the empty string
-  must be returned, and if the <a href=#dialog-arguments>dialog arguments</a> are not
-  an object, then the stringification of the <a href=#dialog-arguments>dialog
-  arguments</a> must be returned.
+  <p>The <dfn id=dom-windowmodal-dialogarguments title=dom-WindowModal-dialogArguments><code>dialogArguments</code></dfn> IDL
+  attribute, on getting, must check whether its browsing context's <a href=#active-document>active document</a>'s
+  <a href=#origin>origin</a> is the <a href=#same-origin title="same origin">same</a> as the <a href="#dialog-arguments'-origin">dialog arguments'
+  origin</a>. If it is, then the browsing context's <a href=#dialog-arguments>dialog arguments</a> must be
+  returned unchanged. Otherwise, if the <a href=#dialog-arguments>dialog arguments</a> are an object, then the empty
+  string must be returned, and if the <a href=#dialog-arguments>dialog arguments</a> are not an object, then the
+  stringification of the <a href=#dialog-arguments>dialog arguments</a> must be returned.
 
-  <p>These browsing contexts also have an associated <dfn id=return-value>return
-  value</dfn>. The <a href=#return-value>return value</a> of a browsing context
-  must be initialized to the empty string when the browsing context is
-  created.</p>
+  <p>These browsing contexts also have an associated <dfn id=return-value>return value</dfn>. The <a href=#return-value>return
+  value</a> of a browsing context must be initialized to the empty string when the browsing
+  context is created.</p>
 
-  <p>The <dfn id=dom-windowmodal-returnvalue title=dom-WindowModal-returnValue><code>returnValue</code></dfn>
-  IDL attribute, on getting, must return the <a href=#return-value>return value</a>
-  of its browsing context, and on setting, must set the <a href=#return-value>return
-  value</a> to the given new value.</p>
+  <p>The <dfn id=dom-windowmodal-returnvalue title=dom-WindowModal-returnValue><code>returnValue</code></dfn> IDL attribute, on
+  getting, must return the <a href=#return-value>return value</a> of its browsing context, and on setting, must
+  set the <a href=#return-value>return value</a> to the given new value.</p>
 
   </div>
 
   <p class=note>The <code title=dom-window-close><a href=#dom-window-close>window.close()</a></code> method can be used to
   close the browsing context.</p>
-<!--TOPIC:HTML-->
 
 
 <!--TOPIC:DOM APIs-->
@@ -73986,12 +73776,10 @@
 
   <div class=impl>
 
-  <p>The <dfn id=dom-navigator title=dom-navigator><code>navigator</code></dfn>
-  attribute of the <code><a href=#window>Window</a></code> interface must return an
-  instance of the <code><a href=#navigator>Navigator</a></code> interface, which represents
-  the identity and state of the user agent (the client), and allows
-  Web pages to register themselves as potential protocol and content
-  handlers:</p>
+  <p>The <dfn id=dom-navigator title=dom-navigator><code>navigator</code></dfn> attribute of the
+  <code><a href=#window>Window</a></code> interface must return an instance of the <code><a href=#navigator>Navigator</a></code> interface,
+  which represents the identity and state of the user agent (the client), and allows Web pages to
+  register themselves as potential protocol and content handlers:</p>
 
   </div>
 
@@ -74013,9 +73801,8 @@
 
   <div class=impl>
 
-  <p>These interfaces are defined separately so that other
-  specifications can re-use parts of the <code><a href=#navigator>Navigator</a></code>
-  interface.</p>
+  <p>These interfaces are defined separately so that other specifications can re-use parts of the
+  <code><a href=#navigator>Navigator</a></code> interface.</p>
 
   </div>
 
@@ -74787,11 +74574,10 @@
 
   </dl><div class=impl>
 
-   <p>The <dfn id=dom-navigator-yieldforstorageupdates title=dom-navigator-yieldForStorageUpdates><code>yieldForStorageUpdates()</code></dfn>
-   method, when invoked, must, if the <a href=#storage-mutex>storage mutex</a> is
-   owned by the <a href=#event-loop>event loop</a> of the <a href=#concept-task title=concept-task>task</a> that resulted in the method being
-   called, release the <a href=#storage-mutex>storage mutex</a> so that it is once
-   again free. Otherwise, it must do nothing.</p>
+   <p>The <dfn id=dom-navigator-yieldforstorageupdates title=dom-navigator-yieldForStorageUpdates><code>yieldForStorageUpdates()</code></dfn> method,
+   when invoked, must, if the <a href=#storage-mutex>storage mutex</a> is owned by the <a href=#event-loop>event loop</a> of
+   the <a href=#concept-task title=concept-task>task</a> that resulted in the method being called, release the
+   <a href=#storage-mutex>storage mutex</a> so that it is once again free. Otherwise, it must do nothing.</p>
 
   </div>
 
@@ -74800,10 +74586,9 @@
 
   <div class=impl>
 
-  <p>The <dfn id=dom-external title=dom-external><code>external</code></dfn>
-  attribute of the <code><a href=#window>Window</a></code> interface must return an
-  instance of the <code><a href=#external>External</a></code> interface. The same object
-  must be returned each time.</p>
+  <p>The <dfn id=dom-external title=dom-external><code>external</code></dfn> attribute of the <code><a href=#window>Window</a></code>
+  interface must return an instance of the <code><a href=#external>External</a></code> interface. The same object must be
+  returned each time.</p>
 
   </div>
 
@@ -80083,38 +79868,32 @@
            attribute <a href=#eventhandler>EventHandler</a> <a href=#handler-workerglobalscope-ononline title=handler-WorkerGlobalScope-ononline>ononline</a>;
 };</pre>
 
-  <p>The <dfn id=dom-workerglobalscope-self title=dom-WorkerGlobalScope-self><code>self</code></dfn> attribute
-  must return the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object itself.</p>
+  <p>The <dfn id=dom-workerglobalscope-self title=dom-WorkerGlobalScope-self><code>self</code></dfn> attribute must return the
+  <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object itself.</p>
 
-  <p>The <dfn id=dom-workerglobalscope-location title=dom-WorkerGlobalScope-location><code>location</code></dfn>
-  attribute must return the <code><a href=#workerlocation>WorkerLocation</a></code> object created
-  for the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object when the worker was
-  created. It represents the <a href=#absolute-url>absolute URL</a> of the script
-  that was used to initialize the worker, after any redirects.</p>
+  <p>The <dfn id=dom-workerglobalscope-location title=dom-WorkerGlobalScope-location><code>location</code></dfn> attribute must
+  return the <code><a href=#workerlocation>WorkerLocation</a></code> object created for the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>
+  object when the worker was created. It represents the <a href=#absolute-url>absolute URL</a> of the script that
+  was used to initialize the worker, after any redirects.</p>
 
   <hr><p>When a script invokes the <dfn id=dom-workerglobalscope-close title=dom-WorkerGlobalScope-close><code>close()</code></dfn>
-  method on a <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object, the user agent
-  must run the following steps (atomically):</p>
+  method on a <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object, the user agent must run the following steps
+  (atomically):</p>
 
-  <ol><li><p>Discard any <a href=#concept-task title=concept-task>tasks</a> that
-   have been added to the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
-   queue">task queues</a>.</p>
+  <ol><li><p>Discard any <a href=#concept-task title=concept-task>tasks</a> that have been added to the
+   <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task queues</a>.</p>
 
 <!-- v2-onclose
-   <li><p><span>Queue a task</span> to <span>fire a simple
-   event</span> named <code title="event-worker-close">close</code> at the
-   <code>WorkerGlobalScope</code> object.</p></li>
+   <li><p><span>Queue a task</span> to <span>fire a simple event</span> named <code
+   title="event-worker-close">close</code> at the <code>WorkerGlobalScope</code> object.</p></li>
 -->
 
-   <li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's
-   <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to
-   true. (This prevents any further tasks from being queued.)</li>
+   <li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to true. (This prevents any further
+   tasks from being queued.)</li>
 
-  </ol><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their
-  corresponding <a href=#event-handler-event-type title="event handler event type">event handler
-  event types</a>) that must be supported, as IDL attributes, by
-  objects implementing the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>
-  interface:</p>
+  </ol><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their corresponding <a href=#event-handler-event-type title="event
+  handler event type">event handler event types</a>) that must be supported, as IDL attributes,
+  by objects implementing the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> interface:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
    <tbody><!-- v2-onclose    <tr><td><dfn title="handler-WorkerGlobalScope-onclose"><code>onclose</code></dfn> <td> <code title="event-worker-close">close</code> --><tr><td><dfn id=handler-workerglobalscope-onerror title=handler-WorkerGlobalScope-onerror><code>onerror</code></dfn> <td> <code title=event-error>error</code>
@@ -80223,191 +80002,159 @@
 
   <h4 id=the-event-loop><span class=secno>9.2.2 </span>The event loop</h4>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object has an <a href=#event-loop>event
-  loop</a> distinct from those defined for <a href=#unit-of-related-similar-origin-browsing-contexts title="unit of
-  related similar-origin browsing contexts">units of related
-  similar-origin browsing contexts</a>. This <a href=#event-loop>event
-  loop</a> has no associated <a href=#browsing-context>browsing context</a>, and its
-  <a href=#task-queue title="task queue">task queues</a> only have events,
-  callbacks, and networking activity as <a href=#concept-task title=concept-task>tasks</a>. The processing model of these
-  <a href=#event-loop title="event loop">event loops</a> is defined below in the
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object has an <a href=#event-loop>event loop</a> distinct from those
+  defined for <a href=#unit-of-related-similar-origin-browsing-contexts title="unit of related similar-origin browsing contexts">units of related
+  similar-origin browsing contexts</a>. This <a href=#event-loop>event loop</a> has no associated
+  <a href=#browsing-context>browsing context</a>, and its <a href=#task-queue title="task queue">task queues</a> only have
+  events, callbacks, and networking activity as <a href=#concept-task title=concept-task>tasks</a>. The
+  processing model of these <a href=#event-loop title="event loop">event loops</a> is defined below in the
   <a href=#run-a-worker>run a worker</a> algorithm.</p>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object also has a <dfn id=dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</dfn> flag, which must
-  initially be false, but which can get set to true by the algorithms
-  in the processing model section below.</p>
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object also has a <dfn id=dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</dfn> flag, which must initially be false, but which
+  can get set to true by the algorithms in the processing model section below.</p>
 
-  <p>Once the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to
-  true, the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
-  queues</a> must discard any further <a href=#concept-task title=concept-task>tasks</a> that would be added to them (tasks
-  already on the queue are unaffected except where otherwise
-  specified). Effectively, once the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is true,
-  timers stop firing, notifications for all pending asynchronous
-  operations are dropped, etc.</p>
+  <p>Once the <code><a href=#workerglobalscope>WorkerGlobalScope</a></code>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to true, the <a href=#event-loop>event
+  loop</a>'s <a href=#task-queue title="task queue">task queues</a> must discard any further <a href=#concept-task title=concept-task>tasks</a> that would be added to them (tasks already on the queue are
+  unaffected except where otherwise specified). Effectively, once the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is true, timers stop firing,
+  notifications for all pending asynchronous operations are dropped, etc.</p>
 
 
 
   <h4 id="the-worker's-lifetime"><span class=secno>9.2.3 </span>The worker's lifetime</h4>
 
-  <p>Workers communicate with other workers and with <a href=#browsing-context title="browsing context">browsing contexts</a> through <a href=#channel-messaging title="channel messaging">message channels</a> and their
+  <p>Workers communicate with other workers and with <a href=#browsing-context title="browsing context">browsing
+  contexts</a> through <a href=#channel-messaging title="channel messaging">message channels</a> and their
   <code><a href=#messageport>MessagePort</a></code> objects.</p>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> <var title="">worker global
-  scope</var> has a list of <dfn id="the-worker's-ports">the worker's ports</dfn>, which
-  consists of all the <code><a href=#messageport>MessagePort</a></code> objects that are
-  entangled with another port and that have one (but only one) port
-  owned by <var title="">worker global scope</var>. This list includes
-  <!--all the <code>MessagePort</code> objects that are in events
-  pending in the <span>event loop</span>, as well as (commented out
-  because in practice it makes no difference either way as far as I
-  can tell, and it would be hard to strictly implement since these
-  ports might not yet be across the thread boundary)--> the implicit
-  <code><a href=#messageport>MessagePort</a></code> in the case of <a href=#dedicatedworkerglobalscope title=DedicatedWorkerGlobalScope>dedicated workers</a>.</p>
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> <var title="">worker global scope</var> has a list of
+  <dfn id="the-worker's-ports">the worker's ports</dfn>, which consists of all the <code><a href=#messageport>MessagePort</a></code> objects that are
+  entangled with another port and that have one (but only one) port owned by <var title="">worker
+  global scope</var>. This list includes <!--all the <code>MessagePort</code> objects that are in
+  events pending in the <span>event loop</span>, as well as (commented out because in practice it
+  makes no difference either way as far as I can tell, and it would be hard to strictly implement
+  since these ports might not yet be across the thread boundary)--> the implicit
+  <code><a href=#messageport>MessagePort</a></code> in the case of <a href=#dedicatedworkerglobalscope title=DedicatedWorkerGlobalScope>dedicated
+  workers</a>.</p>
 
-  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of <dfn id="the-worker's-workers">the
-  worker's workers</dfn>. Initially this list is empty; it is
-  populated when the worker creates or obtains further workers.</p>
+  <p>Each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of <dfn id="the-worker's-workers">the worker's workers</dfn>.
+  Initially this list is empty; it is populated when the worker creates or obtains further
+  workers.</p>
 
-  <p>Finally, each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of
-  <dfn id="the-worker's-documents">the worker's <code>Document</code>s</dfn>. Initially this list
-  is empty; it is populated when the worker is created.</p>
+  <p>Finally, each <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> also has a list of <dfn id="the-worker's-documents">the worker's
+  <code>Document</code>s</dfn>. Initially this list is empty; it is populated when the worker is
+  created.</p>
 
-  <p>Whenever a <code><a href=#document>Document</a></code> <var title="">d</var> is <dfn id="add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">added to the
-  worker's <code>Document</code>s</dfn>, the user agent must, for each
-  worker <var title="">q</var> in the list of <a href="#the-worker's-workers">the worker's
-  workers</a> whose list of <a href="#the-worker's-documents">the worker's
-  <code>Document</code>s</a> does not contain <var title="">d</var>, <a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's
-  documents">add <var title="">d</var> to <var title="">q</var>'s
-  <code>WorkerGlobalScope</code> owner's list of <span>the worker's
-  <code>Document</code>s</span></a>.</p> <!-- suggestions welcome
-  on making this sentence into understandable English -->
+  <p>Whenever a <code><a href=#document>Document</a></code> <var title="">d</var> is <dfn id="add-a-document-to-the-worker's-documents" title="add a document to the
+  worker's documents">added to the worker's <code>Document</code>s</dfn>, the user agent must, for
+  each worker <var title="">q</var> in the list of <a href="#the-worker's-workers">the worker's workers</a> whose list of
+  <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> does not contain <var title="">d</var>, <a href="#add-a-document-to-the-worker's-documents" title="add a document to the worker's documents">add <var title="">d</var> to <var title="">q</var>'s <code>WorkerGlobalScope</code> owner's list of <span>the worker's
+  <code>Document</code>s</span></a>.</p> <!-- suggestions welcome on making this sentence into
+  understandable English -->
 
-  <p>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a
-  Document">discarded</a>, it must be removed from the list of
-  <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> of each worker
-  whose list contains that <code><a href=#document>Document</a></code>.</p>
+  <p>Whenever a <code><a href=#document>Document</a></code> object is <a href=#discard-a-document title="discard a Document">discarded</a>,
+  it must be removed from the list of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> of each
+  worker whose list contains that <code><a href=#document>Document</a></code>.</p>
 
-  <p>Given a <a href="#script's-global-object">script's global object</a> <var title="">o</var>
-  when creating or obtaining a worker, the <dfn id=list-of-relevant-document-objects-to-add>list of relevant
-  <code>Document</code> objects to add</dfn> depends on the type of
-  <var title="">o</var>. If <var title="">o</var> is a
-  <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object (i.e. if we are creating a
-  nested worker), then the relevant <code><a href=#document>Document</a></code>s are the
-  <code><a href=#document>Document</a></code>s that are in <var title="">o</var>'s own list
-  of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a>. Otherwise, <var title="">o</var> is a <code><a href=#window>Window</a></code> object, and the relevant
-  <code><a href=#document>Document</a></code> is just the <code><a href=#document>Document</a></code> that is the
-  <a href=#active-document>active document</a> of the <code><a href=#window>Window</a></code> object <var title="">o</var>.</p>
+  <p>Given a <a href="#script's-global-object">script's global object</a> <var title="">o</var> when creating or obtaining a
+  worker, the <dfn id=list-of-relevant-document-objects-to-add>list of relevant <code>Document</code> objects to add</dfn> depends on the type
+  of <var title="">o</var>. If <var title="">o</var> is a <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object
+  (i.e. if we are creating a nested worker), then the relevant <code><a href=#document>Document</a></code>s are the
+  <code><a href=#document>Document</a></code>s that are in <var title="">o</var>'s own list of <a href="#the-worker's-documents">the worker's
+  <code>Document</code>s</a>. Otherwise, <var title="">o</var> is a <code><a href=#window>Window</a></code> object,
+  and the relevant <code><a href=#document>Document</a></code> is just the <code><a href=#document>Document</a></code> that is the <a href=#active-document>active
+  document</a> of the <code><a href=#window>Window</a></code> object <var title="">o</var>.</p>
 
-  <hr><p>A worker is said to be a <dfn id=permissible-worker>permissible worker</dfn> if its
-  list of <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> is not
-  empty.</p>
+  <hr><p>A worker is said to be a <dfn id=permissible-worker>permissible worker</dfn> if its list of <a href="#the-worker's-documents">the worker's
+  <code>Document</code>s</a> is not empty.</p>
 
-  <p>A worker is said to be a <dfn id=protected-worker>protected worker</dfn> if it is a
-  <a href=#permissible-worker>permissible worker</a> and either it has outstanding
-  timers, database transactions, or network connections, or its list
-  of <a href="#the-worker's-ports">the worker's ports</a> is not empty, or its
-  <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> is actually a
-  <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a
-  shared worker).</p>
+  <p>A worker is said to be a <dfn id=protected-worker>protected worker</dfn> if it is a <a href=#permissible-worker>permissible worker</a>
+  and either it has outstanding timers, database transactions, or network connections, or its list
+  of <a href="#the-worker's-ports">the worker's ports</a> is not empty, or its <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> is actually
+  a <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a shared worker).</p>
 
-  <p>A worker is said to be an <dfn id=active-needed-worker>active needed worker</dfn> if any
-  of the <code><a href=#document>Document</a></code> objects in <a href="#the-worker's-documents">the worker's
-  <code>Document</code>s</a> are <a href=#fully-active>fully active</a>.</p>
+  <p>A worker is said to be an <dfn id=active-needed-worker>active needed worker</dfn> if any of the <code><a href=#document>Document</a></code>
+  objects in <a href="#the-worker's-documents">the worker's <code>Document</code>s</a> are <a href=#fully-active>fully active</a>.</p>
 
-  <p>A worker is said to be a <dfn id=suspendable-worker>suspendable worker</dfn> if it is
-  not an <a href=#active-needed-worker>active needed worker</a> but it is a
-  <a href=#permissible-worker>permissible worker</a>.</p>
+  <p>A worker is said to be a <dfn id=suspendable-worker>suspendable worker</dfn> if it is not an <a href=#active-needed-worker>active needed
+  worker</a> but it is a <a href=#permissible-worker>permissible worker</a>.</p>
 
 
   <h4 id=processing-model-6><span class=secno>9.2.4 </span>Processing model</h4>
 
-  <p>When a user agent is to <dfn id=run-a-worker>run a worker</dfn> for a script with
-  <a href=#url>URL</a> <var title="">url</var>, a <a href=#browsing-context>browsing
-  context</a> <var title="">owner browsing context</var>, a
-  <code><a href=#document>Document</a></code> <var title="">owner document</var>, an
-  <a href=#origin>origin</a> <var title="">owner origin</var>, and with
-  global scope <var title="">worker global scope</var>, it must run
-  the following steps:</p>
+  <p>When a user agent is to <dfn id=run-a-worker>run a worker</dfn> for a script with <a href=#url>URL</a> <var title="">url</var>, a <a href=#browsing-context>browsing context</a> <var title="">owner browsing context</var>, a
+  <code><a href=#document>Document</a></code> <var title="">owner document</var>, an <a href=#origin>origin</a> <var title="">owner origin</var>, and with global scope <var title="">worker global scope</var>, it
+  must run the following steps:</p>
 
   <ol><li>
 
-    <p>Create a separate parallel execution environment (i.e. a
-    separate thread or process or equivalent construct), and run the
-    rest of these steps asynchronously in that context.</p>
+    <p>Create a separate parallel execution environment (i.e. a separate thread or process or
+    equivalent construct), and run the rest of these steps asynchronously in that context.</p>
 
    </li>
 
    <li><p>If <var title="">worker global scope</var> is actually a
-   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a
-   shared worker), and there are any <a href=#relevant-application-cache title="relevant application
-   cache">relevant application caches</a> that are identified by a
-   manifest URL with the <a href=#same-origin>same origin</a> as <var title="">url</var> and that have <var title="">url</var> as one of
-   their entries, <em>not</em> excluding entries marked as <a href=#concept-appcache-foreign title=concept-appcache-foreign>foreign</a>, then associate the
-   <var title="">worker global scope</var> with the <a href=#concept-appcache-selection title=concept-appcache-selection>most appropriate application
+   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object (i.e. the worker is a shared worker), and there are
+   any <a href=#relevant-application-cache title="relevant application cache">relevant application caches</a> that are
+   identified by a manifest URL with the <a href=#same-origin>same origin</a> as <var title="">url</var> and
+   that have <var title="">url</var> as one of their entries, <em>not</em> excluding entries marked
+   as <a href=#concept-appcache-foreign title=concept-appcache-foreign>foreign</a>, then associate the <var title="">worker
+   global scope</var> with the <a href=#concept-appcache-selection title=concept-appcache-selection>most appropriate application
    cache</a> of those that match.</li>
 
    <li>
 
-    <p>Attempt to <a href=#fetch>fetch</a><!--FETCH--> the resource
-    identified by <var title="">url</var>, from the <var title="">owner origin</var>, using <var title="">owner
-    document</var> as the <a href=#referrer-source>referrer source</a>, with the
-    <i>synchronous flag</i> set and the <i>force same-origin flag</i>
-    set.</p> <!-- not http-origin privacy sensitive (looking forward
-    to CORS) -->
+    <p>Attempt to <a href=#fetch>fetch</a><!--FETCH--> the resource identified by <var title="">url</var>,
+    from the <var title="">owner origin</var>, using <var title="">owner document</var> as the
+    <a href=#referrer-source>referrer source</a>, with the <i>synchronous flag</i> set and the <i>force same-origin
+    flag</i> set.</p> <!-- not http-origin privacy sensitive (looking forward to CORS) -->
 
-    <p>If the attempt fails, then for each <code><a href=#worker>Worker</a></code> or
-    <code><a href=#sharedworker>SharedWorker</a></code> object associated with <var title="">worker global scope</var>, <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 that object. Abort these
+    <p>If the attempt fails, then for each <code><a href=#worker>Worker</a></code> or <code><a href=#sharedworker>SharedWorker</a></code> object
+    associated with <var title="">worker global scope</var>, <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 that object. Abort these
     steps.</p>
 
-    <p>If the attempt succeeds, then let <var title="">source</var> be
-    the script resource <a href=#decoded-as-utf-8,-with-error-handling>decoded as UTF-8, with error
-    handling</a>.
+    <p>If the attempt succeeds, then let <var title="">source</var> be the script resource
+    <a href=#decoded-as-utf-8,-with-error-handling>decoded as UTF-8, with error handling</a>.
     </p>
 
     <p>Let <var title="">language</var> be JavaScript.</p>
 
-    <p class=note>As with <code><a href=#the-script-element>script</a></code> elements, the MIME
-    type of the script is ignored. Unlike with <code><a href=#the-script-element>script</a></code>
-    elements, there is no way to override the type. It's always
+    <p class=note>As with <code><a href=#the-script-element>script</a></code> elements, the MIME type of the script is ignored.
+    Unlike with <code><a href=#the-script-element>script</a></code> elements, there is no way to override the type. It's always
     assumed to be JavaScript.</p>
 
    </li>
 
-   <li><p>In the newly created execution environment, create a
-   <a href=#javascript-global-environment>JavaScript global environment</a> whose <i>global
-   object</i> is <var title="">worker global scope</var>. If <var title="">worker global scope</var> is a
-   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object, then this is a
-   <a href=#dedicated-worker-environment>dedicated worker environment</a>. Otherwise, <var title="">worker global scope</var> is a
-   <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object, and this is a
-   <a href=#shared-worker-environment>shared worker environment</a>. (In either case, by
-   definition, it is a <a href=#worker-environment>worker environment</a>.)</li>
+   <li><p>In the newly created execution environment, create a <a href=#javascript-global-environment>JavaScript global
+   environment</a> whose <i>global object</i> is <var title="">worker global scope</var>. If <var title="">worker global scope</var> is a <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object, then this
+   is a <a href=#dedicated-worker-environment>dedicated worker environment</a>. Otherwise, <var title="">worker global
+   scope</var> is a <code><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> object, and this is a <a href=#shared-worker-environment>shared worker
+   environment</a>. (In either case, by definition, it is a <a href=#worker-environment>worker
+   environment</a>.)</li>
 
    <li>
 
-    <p>A new <a href=#concept-script title=concept-script>script</a> is now
-    created, as follows.</p>
+    <p>A new <a href=#concept-script title=concept-script>script</a> is now created, as follows.</p>
 
-    <p>Create a new <a href=#script-execution-environment>script execution environment</a>
-    set up as appropriate for the scripting language <var title="">language</var>.</p>
+    <p>Create a new <a href=#script-execution-environment>script execution environment</a> set up as appropriate for the
+    scripting language <var title="">language</var>.</p>
 
-    <p>Parse/compile/initialize <var title="">source</var> using that
-    <a href=#script-execution-environment>script execution environment</a>, as appropriate for <var title="">language</var>, and thus obtain a <a href=#list-of-code-entry-points>list of code
-    entry-points</a>; set the <i><a href=#initial-code-entry-point>initial code entry-point</a></i> to
-    the entry-point for any executable code to be immediately run.</p>
+    <p>Parse/compile/initialize <var title="">source</var> using that <a href=#script-execution-environment>script execution
+    environment</a>, as appropriate for <var title="">language</var>, and thus obtain a
+    <a href=#list-of-code-entry-points>list of code entry-points</a>; set the <i><a href=#initial-code-entry-point>initial code entry-point</a></i> to the
+    entry-point for any executable code to be immediately run.</p>
 
     <p>Set the <a href="#script's-global-object">script's global object</a> to <var title="">worker global scope</var>.</p>
 
-    <p>Set the <a href="#script's-browsing-context">script's browsing context</a> to <var title="">owner browsing context</var>.</p>
+    <p>Set the <a href="#script's-browsing-context">script's browsing context</a> to <var title="">owner browsing
+    context</var>.</p>
 
-    <p>Set the <a href="#script's-document">script's document</a> to <var title="">owner
-    document</var>.</p>
+    <p>Set the <a href="#script's-document">script's document</a> to <var title="">owner document</var>.</p>
 
     <p>Set the <a href="#script's-referrer-source">script's referrer source</a> to <var title="">url</var>.</p>
 
-    <p>Set the <a href="#script's-url-character-encoding">script's URL character encoding</a> to
-    UTF-8. (This is just used for encoding non-ASCII characters in the
-    query component of URLs.)</p>
+    <p>Set the <a href="#script's-url-character-encoding">script's URL character encoding</a> to UTF-8. (This is just used for
+    encoding non-ASCII characters in the query component of URLs.)</p>
 
     <p>Set the <a href="#script's-base-url">script's base URL</a> to <var title="">url</var>.</p>
 
@@ -80415,198 +80162,163 @@
 
    <li>
 
-    <p><strong>Closing orphan workers</strong>: Start monitoring the
-    worker such that no sooner than it stops being either a
-    <a href=#protected-worker>protected worker</a> or a <a href=#suspendable-worker>suspendable
-    worker</a>, and no later than it stops being a
-    <a href=#permissible-worker>permissible worker</a>, <var title="">worker global
-    scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set
-    to true<!-- v2-onclose and <span title="queue a task">a task is
-    queued</span> to <span>fire a simple event</span> named <code
-    title="event-worker-close">close</code> at <var title="">worker global
+    <p><strong>Closing orphan workers</strong>: Start monitoring the worker such that no sooner than
+    it stops being either a <a href=#protected-worker>protected worker</a> or a <a href=#suspendable-worker>suspendable worker</a>, and
+    no later than it stops being a <a href=#permissible-worker>permissible worker</a>, <var title="">worker global
+    scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to true<!--
+    v2-onclose and <span title="queue a task">a task is queued</span> to <span>fire a simple
+    event</span> named <code title="event-worker-close">close</code> at <var title="">worker global
     scope</var>-->.</p>
 
    </li>
 
    <li>
 
-    <p><strong>Suspending workers</strong>: Start monitoring the
-    worker, such that whenever <var title="">worker global
-    scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is false
-    and the worker is a <a href=#suspendable-worker>suspendable worker</a>, the user
-    agent suspends execution of script in that worker until such time
-    as either the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag switches
-    to true or the worker stops being a <a href=#suspendable-worker>suspendable
-    worker</a>.</p>
+    <p><strong>Suspending workers</strong>: Start monitoring the worker, such that whenever <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a>
+    flag is false and the worker is a <a href=#suspendable-worker>suspendable worker</a>, the user agent suspends
+    execution of script in that worker until such time as either the <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag switches to true or the worker stops
+    being a <a href=#suspendable-worker>suspendable worker</a>.</p>
 
    </li>
 
    <li>
 
-    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the
-    <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code
-    entry-point</a></i>, and let that run until it either returns, fails
-    to catch an exception, or gets prematurely aborted by the
-    "<a href=#kill-a-worker>kill a worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>"
-    algorithms defined below.</p>
+    <p><a href=#jump-to-a-code-entry-point title="jump to a code entry-point">Jump</a> to the <a href=#concept-script title=concept-script>script</a>'s <i><a href=#initial-code-entry-point>initial code entry-point</a></i>, and let that run until
+    it either returns, fails to catch an exception, or gets prematurely aborted by the "<a href=#kill-a-worker>kill a
+    worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms defined below.</p>
 
 <!-- v2-onclose
-    <p class="note">If the script gets aborted by the "<span>kill a
-    worker</span>" algorithm, then that same algorithm will cause
-    there to only be a single <span title="concept-task">task</span>
-    in the <span>event loop</span> at the next step, namely the task
-    for the <code title="message-close">close</code> event. The
-    "<span>terminate a worker</span>" algorithm removes all the
-    events.</p>
+    <p class="note">If the script gets aborted by the "<span>kill a worker</span>" algorithm, then
+    that same algorithm will cause there to only be a single <span title="concept-task">task</span>
+    in the <span>event loop</span> at the next step, namely the task for the <code
+    title="message-close">close</code> event. The "<span>terminate a worker</span>" algorithm
+    removes all the events.</p>
 -->
 
    </li>
 
    <li><p>If <var title="">worker global scope</var> is actually a
-   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the worker is
-   a dedicated worker), then enable the <a href=#port-message-queue>port message
-   queue</a> of the worker's implicit port.</li>
+   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the worker is a dedicated worker), then
+   enable the <a href=#port-message-queue>port message queue</a> of the worker's implicit port.</li>
 
    <li>
 
-    <p><i title="">Event loop</i>: Wait until either there is a <a href=#concept-task title=concept-task>task</a> in one of the <a href=#event-loop>event
-    loop</a>'s <a href=#task-queue title="task queue">task queues</a> or <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set
-    to true.</p>
+    <p><i title="">Event loop</i>: Wait until either there is a <a href=#concept-task title=concept-task>task</a> in one of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
+    queue">task queues</a> or <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to true.</p>
 
    </li>
 
    <li>
 
-    <p>Run the oldest task on one of the <a href=#event-loop>event loop</a>'s
-    <a href=#task-queue title="task queue">task queues</a>, if any. The user
-    agent may pick any <a href=#task-queue>task queue</a>.</p>
+    <p>Run the oldest task on one of the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
+    queues</a>, if any. The user agent may pick any <a href=#task-queue>task queue</a>.</p>
 
-    <p class=note>The handling of events or the execution of
-    callbacks might get prematurely aborted by the "<a href=#kill-a-worker>kill a
-    worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms
+    <p class=note>The handling of events or the execution of callbacks might get prematurely
+    aborted by the "<a href=#kill-a-worker>kill a worker</a>" or "<a href=#terminate-a-worker>terminate a worker</a>" algorithms
     defined below.</p>
 
    </li>
 
    <li>
 
-    <p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the worker's
-    <a href=#event-loop>event loop</a>, release it so that it is once again
-    free.</p>
+    <p>If the <a href=#storage-mutex>storage mutex</a> is now owned by the worker's <a href=#event-loop>event loop</a>,
+    release it so that it is once again free.</p>
 
    </li>
 
    <li>
 
-    <p>Remove the task just run in the earlier step, if any, from its
-    <a href=#task-queue>task queue</a>.</p>
+    <p>Remove the task just run in the earlier step, if any, from its <a href=#task-queue>task queue</a>.</p>
 
    </li>
 
    <li>
 
-    <p>If there are any more events in the <a href=#event-loop>event loop</a>'s
-    <a href=#task-queue title="task queue">task queues</a> or if <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set
-    to false, then jump back to the step above labeled <i><a href=#event-loop>event
-    loop</a></i>.</p>
+    <p>If there are any more events in the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task queue">task
+    queues</a> or if <var title="">worker global scope</var>'s <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag is set to false, then jump back to the
+    step above labeled <i><a href=#event-loop>event loop</a></i>.</p>
 
    </li>
 
    <li>
 
-    <p>Empty the <var title="">worker global scope</var>'s <a href=#list-of-active-timers>list
-    of active timers</a>.</p>
+    <p>Empty the <var title="">worker global scope</var>'s <a href=#list-of-active-timers>list of active timers</a>.</p>
 
    </li>
 
    <li>
 
-    <p>Disentangle all the ports in the list of <a href="#the-worker's-ports">the worker's
-    ports</a>.</p>
+    <p>Disentangle all the ports in the list of <a href="#the-worker's-ports">the worker's ports</a>.</p>
 
    </li>
 
 <!-- v2-onclose
    <li>
 
-    <p>For each <code>Worker</code> or <code>SharedWorker</code>
-    object associated with <var title="">worker global scope</var>,
-    <span>queue a task</span> to <span>fire a simple event</span>
-    named <code title="event-worker-close">close</code> at that object.</p>
+    <p>For each <code>Worker</code> or <code>SharedWorker</code> object associated with <var
+    title="">worker global scope</var>, <span>queue a task</span> to <span>fire a simple
+    event</span> named <code title="event-worker-close">close</code> at that object.</p>
 
    </li>
 -->
-  </ol><hr><p>When a user agent is to <dfn id=kill-a-worker>kill a worker</dfn> it must
-  run the following steps in parallel with the worker's main loop (the
-  "<a href=#run-a-worker>run a worker</a>" processing model defined above):</p>
+  </ol><hr><p>When a user agent is to <dfn id=kill-a-worker>kill a worker</dfn> it must run the following steps in parallel
+  with the worker's main loop (the "<a href=#run-a-worker>run a worker</a>" processing model defined above):</p>
 
   <ol><!-- v2-onclose
-   <li><p>If the worker's <code>WorkerGlobalScope</code> object's
-   <span title="dom-WorkerGlobalScope-closing">closing</span> flag is
-   false, <span>queue a task</span> to <span>fire a simple
-   event</span> named <code title="event-worker-close">close</code> at the
+   <li><p>If the worker's <code>WorkerGlobalScope</code> object's <span
+   title="dom-WorkerGlobalScope-closing">closing</span> flag is false, <span>queue a task</span> to
+   <span>fire a simple event</span> named <code title="event-worker-close">close</code> at the
    worker's <code>WorkerGlobalScope</code> object.</p></li>
---><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to
-   true.</li>
+--><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to true.</li>
 
 <!-- v2-onclose
-   <li><p>Wait a user-agent-defined amount of time. If the "<span>run
-   a worker</span>" processing model defined above immediately starts
-   running event listeners registered for the <code
-   title="event-worker-close">close</code> event, this time should not be
-   zero — the idea is that the <code
-   title="event-worker-close">close</code> event can be used to clean up
-   when shutting down unexpectedly.</p></li>
+   <li><p>Wait a user-agent-defined amount of time. If the "<span>run a worker</span>" processing
+   model defined above immediately starts running event listeners registered for the <code
+   title="event-worker-close">close</code> event, this time should not be zero — the idea is
+   that the <code title="event-worker-close">close</code> event can be used to clean up when
+   shutting down unexpectedly.</p></li>
 -->
 
-   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a>
-   queued in the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
-   queue">task queues</a><!-- v2-onclose other than the <code
-   title="event-worker-close">close</code> event that this algorithm just
-   added-->, discard them without processing them.</li>
+   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a> queued in the <a href=#event-loop>event
+   loop</a>'s <a href=#task-queue title="task queue">task queues</a><!-- v2-onclose other than the <code
+   title="event-worker-close">close</code> event that this algorithm just added-->, discard them
+   without processing them.</li>
 
 <!-- v2-onclose
-   <li><p>If the <code title="event-worker-close">close</code> event that
-   this algorithm just queued hasn't yet been dispatched, then abort
-   the script currently running in the worker.</p></li>
+   <li><p>If the <code title="event-worker-close">close</code> event that this algorithm just queued
+   hasn't yet been dispatched, then abort the script currently running in the worker.</p></li>
 -->
 
    <li><p>Wait a user-agent-defined amount of time.</li>
 
-   <li><p>Abort the script currently running in the worker<!--
-   v2-onclose (if any script is running, then it will be a handler for
-   the <code title="event-worker-close">close</code> event)-->.</li>
+   <li><p>Abort the script currently running in the worker<!-- v2-onclose (if any script is running,
+   then it will be a handler for the <code title="event-worker-close">close</code>
+   event)-->.</li>
 
-  </ol><p>User agents may invoke the "<a href=#kill-a-worker>kill a worker</a>"
-  processing model on a worker at any time, e.g. in response to user
-  requests, in response to CPU quota management, or when a worker
-  stops being an <a href=#active-needed-worker>active needed worker</a> if the worker
-  continues executing even after its <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag was
-  set to true.</p>
+  </ol><p>User agents may invoke the "<a href=#kill-a-worker>kill a worker</a>" processing model on a worker at any
+  time, e.g. in response to user requests, in response to CPU quota management, or when a worker
+  stops being an <a href=#active-needed-worker>active needed worker</a> if the worker continues executing even after its
+  <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag was set to true.</p>
 
-  <hr><p>When a user agent is to <dfn id=terminate-a-worker>terminate a worker</dfn> it must run
-  the following steps in parallel with the worker's main loop (the
-  "<a href=#run-a-worker>run a worker</a>" processing model defined above):</p>
+  <hr><p>When a user agent is to <dfn id=terminate-a-worker>terminate a worker</dfn> it must run the following steps in
+  parallel with the worker's main loop (the "<a href=#run-a-worker>run a worker</a>" processing model defined
+  above):</p>
 
-  <ol><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's
-   <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to
-   true.</li>
+  <ol><li><p>Set the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object's <a href=#dom-workerglobalscope-closing title=dom-WorkerGlobalScope-closing>closing</a> flag to true.</li>
 
-   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a>
-   queued in the <a href=#event-loop>event loop</a>'s <a href=#task-queue title="task
-   queue">task queues</a>, discard them without processing
+   <li><p>If there are any <a href=#concept-task title=concept-task>tasks</a> queued in the <a href=#event-loop>event
+   loop</a>'s <a href=#task-queue title="task queue">task queues</a>, discard them without processing
    them.</li>
 
    <li><p>Abort the script currently running in the worker.</li>
 
-   <li><p>If the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object is
-   actually a <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the
-   worker is a dedicated worker), then empty the <a href=#port-message-queue>port message
-   queue</a> of the port that the worker's implicit port is
+   <li><p>If the worker's <code><a href=#workerglobalscope>WorkerGlobalScope</a></code> object is actually a
+   <code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> object (i.e. the worker is a dedicated worker), then
+   empty the <a href=#port-message-queue>port message queue</a> of the port that the worker's implicit port is
    entangled with.</li>
 
-  </ol><hr><p>The <a href=#task-source>task source</a> for the tasks mentioned above is the
-  <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
+  </ol><hr><p>The <a href=#task-source>task source</a> for the tasks mentioned above is the <a href=#dom-manipulation-task-source>DOM manipulation task
+  source</a>.</p>
 
 
   <h4 id=runtime-script-errors-0><span class=secno>9.2.5 </span>Runtime script errors</h4>
@@ -80618,9 +80330,9 @@
   <code title=handler-WorkerGlobalScope-onerror><a href=#handler-workerglobalscope-onerror>onerror</a></code> attribute.
   </p>
 
-  <p>For shared workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i> afterwards, or if
-  the error occurred while handling a previous script error, the error
-  may be reported to the user.
+  <p>For shared workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not handled</a></i>
+  afterwards, or if the error occurred while handling a previous script error, the error may be
+  reported to the user.
   </p>
 
   <p>For dedicated workers, if the error is still <i title=concept-error-nothandled><a href=#concept-error-nothandled>not
@@ -80633,20 +80345,18 @@
   error had occurred in the global scope that the <code><a href=#worker>Worker</a></code> object is in, thus repeating
   the entire runtime script error reporting process one level up.</p>
 
-  <p>If the implicit port connecting the worker to its
-  <code><a href=#worker>Worker</a></code> object has been disentangled (i.e. if the parent
-  worker has been terminated), then the user agent must act as if the
-  <code><a href=#worker>Worker</a></code> object had no <code title=event-error>error</code> event handler and as if that
-  worker's <code title=handler-WorkerGlobalScope-onerror><a href=#handler-workerglobalscope-onerror>onerror</a></code> attribute
-  was null, but must otherwise act as described above.</p>
+  <p>If the implicit port connecting the worker to its <code><a href=#worker>Worker</a></code> object has been
+  disentangled (i.e. if the parent worker has been terminated), then the user agent must act as if
+  the <code><a href=#worker>Worker</a></code> object had no <code title=event-error>error</code> event handler and as
+  if that worker's <code title=handler-WorkerGlobalScope-onerror><a href=#handler-workerglobalscope-onerror>onerror</a></code> attribute was
+  null, but must otherwise act as described above.</p>
 
-  <p class=note>Thus, error reports propagate up to the chain of
-  dedicated workers up to the original <code><a href=#document>Document</a></code>, even if
-  some of the workers along this chain have been terminated and
-  garbage collected.</p>
+  <p class=note>Thus, error reports propagate up to the chain of dedicated workers up to the
+  original <code><a href=#document>Document</a></code>, even if some of the workers along this chain have been terminated
+  and garbage collected.</p>
 
-  <p>The <a href=#task-source>task source</a> for the task mentioned above is the
-  <a href=#dom-manipulation-task-source>DOM manipulation task source</a>.</p>
+  <p>The <a href=#task-source>task source</a> for the task mentioned above is the <a href=#dom-manipulation-task-source>DOM manipulation task
+  source</a>.</p>
 
   <hr><pre class=idl>[Constructor(DOMString type, optional <a href=#erroreventinit>ErrorEventInit</a> eventInitDict)]
 interface <dfn id=errorevent>ErrorEvent</dfn> : <a href=#event>Event</a> {
@@ -82626,26 +82336,23 @@
 
     </dl></li>
 
-  </ol><hr><p>The <dfn id=dom-websocket-bufferedamount title=dom-WebSocket-bufferedAmount><code>bufferedAmount</code></dfn>
-  attribute must return the number of bytes of application data (UTF-8
-  text and binary data) that have been queued using <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> but that, as of the last
-  time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a>, had not yet been transmitted to
-  the network. (This thus includes any text sent during the execution
-  of the current task, regardless of whether the user agent is able to
-  transmit text asynchronously with script execution.) This does not
-  include framing overhead incurred by the protocol, or buffering done
-  by the operating system or network hardware. If the connection is
-  closed, this attribute's value will only increase with each call to
-  the <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> method (the
+  </ol><hr><p>The <dfn id=dom-websocket-bufferedamount title=dom-WebSocket-bufferedAmount><code>bufferedAmount</code></dfn> attribute must
+  return the number of bytes of application data (UTF-8 text and binary data) that have been queued
+  using <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> but that, as of the last time the <a href=#event-loop>event
+  loop</a> started executing a <a href=#concept-task title=concept-task>task</a>, had not yet been
+  transmitted to the network. (This thus includes any text sent during the execution of the current
+  task, regardless of whether the user agent is able to transmit text asynchronously with script
+  execution.) This does not include framing overhead incurred by the protocol, or buffering done by
+  the operating system or network hardware. If the connection is closed, this attribute's value will
+  only increase with each call to the <code title=dom-WebSocket-send><a href=#dom-websocket-send>send()</a></code> method (the
   number does not reset to zero once the connection closes).</p>
 
   <div class=example>
 
    <p>In this simple example, the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-   attribute is used to ensure that updates are sent either at the
-   rate of one update every 50ms, if the network can handle that rate,
-   or at whatever rate the network <em>can</em> handle, if that is too
-   fast.</p>
+   attribute is used to ensure that updates are sent either at the rate of one update every 50ms, if
+   the network can handle that rate, or at whatever rate the network <em>can</em> handle, if that is
+   too fast.</p>
 
    <pre>var socket = new WebSocket('ws://game.example.com:12010/updates');
 socket.onopen = function () {
@@ -82655,60 +82362,46 @@
   }, 50);
 };</pre>
 
-   <p>The <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-   attribute can also be used to saturate the network without sending
-   the data at a higher rate than the network can handle, though this
-   requires more careful monitoring of the value of the attribute over
-   time.</p>
+   <p>The <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute can also be
+   used to saturate the network without sending the data at a higher rate than the network can
+   handle, though this requires more careful monitoring of the value of the attribute over time.</p>
 
   </div>
 
-  <hr><p>When a <code><a href=#websocket>WebSocket</a></code> object is created, its <dfn id=dom-websocket-binarytype title=dom-WebSocket-binaryType><code>binaryType</code></dfn> IDL
-  attribute must be set to the string "<code title="">blob</code>". On
-  getting, it must return the last value it was set to. On setting,
-  the user agent must set the IDL attribute to the new value.</p>
+  <hr><p>When a <code><a href=#websocket>WebSocket</a></code> object is created, its <dfn id=dom-websocket-binarytype title=dom-WebSocket-binaryType><code>binaryType</code></dfn> IDL attribute must be set to the
+  string "<code title="">blob</code>". On getting, it must return the last value it was set to. On
+  setting, the user agent must set the IDL attribute to the new value.</p>
 
-  <p class=note>This attribute allows authors to control how binary
-  data is exposed to scripts. By setting the attribute to "<code title="">blob</code>", binary data is returned in <code><a href=#blob>Blob</a></code>
-  form; by setting it to "<code title="">arraybuffer</code>", it is
-  returned in <code><a href=#arraybuffer>ArrayBuffer</a></code> form. User agents can use this
-  as a hint for how to handle incoming binary data: if the attribute
-  is set to "<code title="">blob</code>", it is safe to spool it to
-  disk, and if it is set to "<code title="">arraybuffer</code>", it is
-  likely more efficient to keep the data in memory. Naturally, user
-  agents are encouraged to use more subtle heuristics to decide
-  whether to keep incoming data in memory or not, e.g. based on how
-  big the data is or how common it is for a script to change the
-  attribute at the last minute. This latter aspect is important in
-  particular because it is quite possible for the attribute to be
-  changed after the user agent has received the data but before the
-  user agent has fired the event for it.</p>
+  <p class=note>This attribute allows authors to control how binary data is exposed to scripts. By
+  setting the attribute to "<code title="">blob</code>", binary data is returned in
+  <code><a href=#blob>Blob</a></code> form; by setting it to "<code title="">arraybuffer</code>", it is returned in
+  <code><a href=#arraybuffer>ArrayBuffer</a></code> form. User agents can use this as a hint for how to handle incoming
+  binary data: if the attribute is set to "<code title="">blob</code>", it is safe to spool it to
+  disk, and if it is set to "<code title="">arraybuffer</code>", it is likely more efficient to keep
+  the data in memory. Naturally, user agents are encouraged to use more subtle heuristics to decide
+  whether to keep incoming data in memory or not, e.g. based on how big the data is or how common it
+  is for a script to change the attribute at the last minute. This latter aspect is important in
+  particular because it is quite possible for the attribute to be changed after the user agent has
+  received the data but before the user agent has fired the event for it.</p>
 
-  <p>The <dfn id=dom-websocket-send title=dom-WebSocket-send><code>send(<var title="">data</var>)</code></dfn> method transmits data using the
-  connection. If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute is
-  <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code>, it must
-  throw an <code><a href=#invalidstateerror>InvalidStateError</a></code> exception. Otherwise, the
-  user agent must run the appropriate set of steps from the following
-  list:</p>
+  <p>The <dfn id=dom-websocket-send title=dom-WebSocket-send><code>send(<var title="">data</var>)</code></dfn> method
+  transmits data using the connection. If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute is <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code>, it must throw an
+  <code><a href=#invalidstateerror>InvalidStateError</a></code> exception. Otherwise, the user agent must run the appropriate set
+  of steps from the following list:</p>
 
   <dl><dt>If the argument is a string</dt>
 
    <dd>
 
-    <p>Let <var title="">data</var> be the result of <a href=#convert-a-domstring-to-a-sequence-of-unicode-characters title="convert a DOMString to a sequence of Unicode
-    characters">converting the <var title="">data</var> argument to a
-    sequence of Unicode characters</a>. If <i><a href=#the-websocket-connection-is-established>the WebSocket
-    connection is established</a></i> and <i title="the WebSocket closing
-    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet
-    started</a></i>, then the user agent must <i>send a WebSocket
-    Message</i> comprised of <var title="">data</var> using a text
-    frame opcode; if the data cannot be sent, e.g. because it would
-    need to be buffered but the buffer is full, the user agent must
-    <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any
-    invocation of this method with a string argument that does not
-    throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the number of bytes needed to express the argument as
-    UTF-8. <a href=#refsUNICODE>[UNICODE]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></p>
+    <p>Let <var title="">data</var> be the result of <a href=#convert-a-domstring-to-a-sequence-of-unicode-characters title="convert a DOMString to a sequence
+    of Unicode characters">converting the <var title="">data</var> argument to a sequence of Unicode
+    characters</a>. If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i> and <i title="the WebSocket
+    closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the
+    user agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a
+    text frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. Any invocation of this method with a
+    string argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the number of bytes
+    needed to express the argument as UTF-8. <a href=#refsUNICODE>[UNICODE]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></p>
 
    </dd>
 
@@ -82717,19 +82410,15 @@
 
    <dd>
 
-    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket
-    closing handshake has not yet started</a></i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket
-    connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with
-    prejudice</a>. The data to be sent is the raw data represented
-    by the <code><a href=#blob>Blob</a></code> object. <!-- that sentence is meant to
-    invoke "This interface represents immutable raw data." --> Any
-    invocation of this method with a <code><a href=#blob>Blob</a></code> argument that
-    does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the size of the <code><a href=#blob>Blob</a></code> object's raw data,
-    in bytes. <!-- that sentence is meant to invoke the same as
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the raw data
+    represented by the <code><a href=#blob>Blob</a></code> object. <!-- that sentence is meant to invoke "This
+    interface represents immutable raw data." --> Any invocation of this method with a
+    <code><a href=#blob>Blob</a></code> argument that does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the size of the
+    <code><a href=#blob>Blob</a></code> object's raw data, in bytes. <!-- that sentence is meant to invoke the same as
     Blob.size --> <a href=#refsWSP>[WSP]</a> <a href=#refsFILEAPI>[FILEAPI]</a></p>
 
    </dd>
@@ -82739,24 +82428,19 @@
 
    <dd>
 
-    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket
-    closing handshake has not yet started</a></i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket
-    connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with
-    prejudice</a>. The data to be sent is the data stored in the
-    buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object. <!-- that
-    sentence is meant to invoke "The ArrayBuffer type describes a
-    buffer used to store data for the array buffer views." at the top
-    of the Typed Array spec, and "Optional byteOffset and length can
-    be used to limit the section of the buffer referenced" in the
-    definition of the TypedArray constructor --> Any invocation of
-    this method with an <code><a href=#arraybuffer>ArrayBuffer</a></code> argument that does
-    not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the length of the <code><a href=#arraybuffer>ArrayBuffer</a></code> in bytes.
-    <!-- that sentence is meant to invoke the same as
-    ArrayBuffer.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    stored in the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object. <!-- that sentence is
+    meant to invoke "The ArrayBuffer type describes a buffer used to store data for the array buffer
+    views." at the top of the Typed Array spec, and "Optional byteOffset and length can be used to
+    limit the section of the buffer referenced" in the definition of the TypedArray constructor -->
+    Any invocation of this method with an <code><a href=#arraybuffer>ArrayBuffer</a></code> argument that does not throw an
+    exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
+    attribute by the length of the <code><a href=#arraybuffer>ArrayBuffer</a></code> in bytes. <!-- that sentence is meant to
+    invoke the same as ArrayBuffer.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
 
    </dd>
 
@@ -82765,32 +82449,26 @@
 
    <dd>
 
-    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket
-    closing handshake has not yet started</a></i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket
-    connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with
-    prejudice</a>. The data to be sent is the data stored in the
-    section of the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code>
-    object that the <code><a href=#arraybufferview>ArrayBufferView</a></code> object references.
-    <!-- that sentence is meant to invoke "The ArrayBuffer type
-    describes a buffer used to store data for the array buffer views."
-    at the top of the Typed Array spec, and "Optional byteOffset and
-    length can be used to limit the section of the buffer referenced"
-    in the definition of the TypedArray constructor --> Any invocation
-    of this method with an <code><a href=#arraybufferview>ArrayBufferView</a></code> argument that
-    does not throw an exception must increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code>
-    attribute by the length of the <code><a href=#arraybufferview>ArrayBufferView</a></code> in
-    bytes. <!-- that sentence is meant to invoke the same as
-    ArrayBufferView.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
+    <p>If <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, and <i title="the WebSocket closing
+    handshake is started"><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake has not yet started</a></i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i><a href=#close-the-websocket-connection>close the WebSocket connection</a></i> <a href=#concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</a>. The data to be sent is the data
+    stored in the section of the buffer described by the <code><a href=#arraybuffer>ArrayBuffer</a></code> object that the
+    <code><a href=#arraybufferview>ArrayBufferView</a></code> object references. <!-- that sentence is meant to invoke "The
+    ArrayBuffer type describes a buffer used to store data for the array buffer views." at the top
+    of the Typed Array spec, and "Optional byteOffset and length can be used to limit the section of
+    the buffer referenced" in the definition of the TypedArray constructor --> Any invocation of
+    this method with an <code><a href=#arraybufferview>ArrayBufferView</a></code> argument that does not throw an exception must
+    increase the <code title=dom-WebSocket-bufferedAmount><a href=#dom-websocket-bufferedamount>bufferedAmount</a></code> attribute by the
+    length of the <code><a href=#arraybufferview>ArrayBufferView</a></code> in bytes. <!-- that sentence is meant to invoke the
+    same as ArrayBufferView.byteLength --> <a href=#refsWSP>[WSP]</a> <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
 
    </dd>
 
-  </dl><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their
-  corresponding <a href=#event-handler-event-type title="event handler event type">event handler
-  event types</a>) that must be supported, as IDL attributes, by
-  all objects implementing the <code><a href=#websocket>WebSocket</a></code> interface:</p>
+  </dl><hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their corresponding <a href=#event-handler-event-type title="event
+  handler event type">event handler event types</a>) that must be supported, as IDL attributes,
+  by all objects implementing the <code><a href=#websocket>WebSocket</a></code> interface:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
    <tbody><tr><td><dfn id=handler-websocket-onopen title=handler-WebSocket-onopen><code>onopen</code></dfn> <td> <code title=event-open>open</code>
@@ -82799,34 +82477,32 @@
     <tr><td><dfn id=handler-websocket-onclose title=handler-WebSocket-onclose><code>onclose</code></dfn> <td> <code title=event-socket-close>close</code>
   </table><h4 id=feedback-from-the-protocol><span class=secno>10.3.3 </span>Feedback from the protocol</h4>
 
-  <p>When <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, the user
-  agent must <a href=#queue-a-task>queue a task</a> to run these steps:</p>
+  <p>When <i><a href=#the-websocket-connection-is-established>the WebSocket connection is established</a></i>, the user agent must <a href=#queue-a-task>queue a
+  task</a> to run these steps:</p>
 
-  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
-   value to <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1).</li>
+  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
+   <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1).</li>
 
-   <li><p>Change the <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute's
-   value to the <i><a href=#extensions-in-use>extensions in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   <li><p>Change the <code title=dom-WebSocket-extensions><a href=#dom-websocket-extensions>extensions</a></code> attribute's value to
+   the <i><a href=#extensions-in-use>extensions in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
-   <li><p>Change the <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute's value to
-   the <i><a href=#subprotocol-in-use>subprotocol in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
+   <li><p>Change the <code title=dom-WebSocket-protocol><a href=#dom-websocket-protocol>protocol</a></code> attribute's value to the
+   <i><a href=#subprotocol-in-use>subprotocol in use</a></i>, if is not the null value. <a href=#refsWSP>[WSP]</a></li>
 
-   <li><p>Act as if the user agent had <a href=#receives-a-set-cookie-string title="receives a
-   set-cookie-string">received a set-cookie-string</a> consisting
-   of the <i><a href="#cookies-set-during-the-server's-opening-handshake">cookies set during the server's opening handshake</a></i>,
-   for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
+   <li><p>Act as if the user agent had <a href=#receives-a-set-cookie-string title="receives a set-cookie-string">received a
+   set-cookie-string</a> consisting of the <i><a href="#cookies-set-during-the-server's-opening-handshake">cookies set during the server's opening
+   handshake</a></i>, for the URL <var title="">url</var> given to the <code title=dom-WebSocket><a href=#dom-websocket>WebSocket()</a></code> constructor. <a href=#refsCOOKIES>[COOKIES]</a> <a href=#refsRFC3629>[RFC3629]</a> <a href=#refsWSP>[WSP]</a></li>
 
-   <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-open>open</code> at the <code><a href=#websocket>WebSocket</a></code>
-   object.</p>
+   <li><p><a href=#fire-a-simple-event>Fire a simple event</a> named <code title=event-open>open</code> at the
+   <code><a href=#websocket>WebSocket</a></code> object.</p>
 
-  </ol><hr><p>When <i><a href=#a-websocket-message-has-been-received>a WebSocket message has been received</a></i> with type <var title="">type</var> and data <var title="">data</var>, the user
-  agent must <a href=#queue-a-task>queue a task</a> to follow these steps: <a href=#refsWSP>[WSP]</a></p>
+  </ol><hr><p>When <i><a href=#a-websocket-message-has-been-received>a WebSocket message has been received</a></i> with type <var title="">type</var> and data
+  <var title="">data</var>, the user agent must <a href=#queue-a-task>queue a task</a> to follow these steps: <a href=#refsWSP>[WSP]</a></p>
 
   <ol><li>
 
-    <p>If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
-    attribute's value is not <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1), then abort these
-    steps.</p>
+    <p>If the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value is not
+    <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1), then abort these steps.</p>
 
    </li>
 
@@ -82839,27 +82515,21 @@
 
    </li>
 
-   <li><p>Initialize <var title="">event</var>'s <code title=dom-MessageEvent-origin><a href=#dom-messageevent-origin>origin</a></code> attribute to the
-   <a href=#unicode-serialization-of-an-origin title="Unicode serialization of an origin">Unicode
-   serialization</a> of the <a href=#origin>origin</a> of the
-   <a href=#url>URL</a> that was passed to the <code><a href=#websocket>WebSocket</a></code>
+   <li><p>Initialize <var title="">event</var>'s <code title=dom-MessageEvent-origin><a href=#dom-messageevent-origin>origin</a></code>
+   attribute to the <a href=#unicode-serialization-of-an-origin title="Unicode serialization of an origin">Unicode serialization</a> of
+   the <a href=#origin>origin</a> of the <a href=#url>URL</a> that was passed to the <code><a href=#websocket>WebSocket</a></code>
    object's constructor.</li>
 
    <li>
 
-    <p>If <var title="">type</var> indicates that the data is Text,
-    then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to <var title="">data</var>.
+    <p>If <var title="">type</var> indicates that the data is Text, then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to <var title="">data</var>.
 
-    <p>If <var title="">type</var> indicates that the data is Binary,
-    and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is
-    set to "<code title="">blob</code>", then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to a new
-    <code><a href=#blob>Blob</a></code> object that represents <var title="">data</var>
-    as its raw data. <a href=#refsFILEAPI>[FILEAPI]</a></p>
+    <p>If <var title="">type</var> indicates that the data is Binary, and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is set to "<code title="">blob</code>", then
+    initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute
+    to a new <code><a href=#blob>Blob</a></code> object that represents <var title="">data</var> as its raw data. <a href=#refsFILEAPI>[FILEAPI]</a></p>
 
-    <p>If <var title="">type</var> indicates that the data is Binary,
-    and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is
-    set to "<code title="">arraybuffer</code>", then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to a new
-    read-only <code><a href=#arraybuffer>ArrayBuffer</a></code> object whose contents are <var title="">data</var>. <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
+    <p>If <var title="">type</var> indicates that the data is Binary, and <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> is set to "<code title="">arraybuffer</code>", then initialize <var title="">event</var>'s <code title=dom-MessageEvent-data><a href=#dom-messageevent-data>data</a></code> attribute to a new read-only <code><a href=#arraybuffer>ArrayBuffer</a></code>
+    object whose contents are <var title="">data</var>. <a href=#refsTYPEDARRAY>[TYPEDARRAY]</a></p>
 
    </li>
 
@@ -82870,21 +82540,17 @@
 
    </li>
 
-  </ol><p class=note>User agents are encouraged to check if they can
-  perform the above steps efficiently before they run the task,
-  picking tasks from other <a href=#task-queue title="task queue">task queues</a>
-  while they prepare the buffers if not. For example, if the <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> attribute was set
-  to "<code title="">blob</code>" when the data arrived, and the user
-  agent spooled all the data to disk, but just before running the
-  above <a href=#concept-task title=concept-task>task</a> for this particular
-  message the script switched <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> to "<code title="">arraybuffer</code>", the user agent would want to page the
-  data back to RAM before running this <a href=#concept-task title=concept-task>task</a> so as to avoid stalling the main
-  thread while it created the <code><a href=#arraybuffer>ArrayBuffer</a></code> object.</p>
+  </ol><p class=note>User agents are encouraged to check if they can perform the above steps
+  efficiently before they run the task, picking tasks from other <a href=#task-queue title="task queue">task
+  queues</a> while they prepare the buffers if not. For example, if the <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> attribute was set to "<code title="">blob</code>" when the data arrived, and the user agent spooled all the data to disk, but
+  just before running the above <a href=#concept-task title=concept-task>task</a> for this particular message
+  the script switched <code title=dom-WebSocket-binaryType><a href=#dom-websocket-binarytype>binaryType</a></code> to "<code title="">arraybuffer</code>", the user agent would want to page the data back to RAM before
+  running this <a href=#concept-task title=concept-task>task</a> so as to avoid stalling the main thread while
+  it created the <code><a href=#arraybuffer>ArrayBuffer</a></code> object.</p>
 
   <div class=example>
 
-   <p>Here is an example of how to define a handler for the <code title=event-message><a href=#event-message>message</a></code> event in the case of text
-   frames:</p>
+   <p>Here is an example of how to define a handler for the <code title=event-message><a href=#event-message>message</a></code> event in the case of text frames:</p>
 
    <pre>mysocket.onmessage = function (event) {
   if (event.data == 'on') {
@@ -82894,31 +82560,24 @@
   }
 };</pre>
 
-   <p>The protocol here is a trivial one, with the server just sending
-   "on" or "off" messages.</p>
+   <p>The protocol here is a trivial one, with the server just sending "on" or "off" messages.</p>
 
   </div>
 
-  <hr><p>When <i><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake is started</a></i>, the user
-  agent must <a href=#queue-a-task>queue a task</a> to change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). (If the
-  <code title=dom-WebSocket-close><a href=#dom-websocket-close>close()</a></code> method was called,
-  the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
-  attribute's value will already be set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) when this task
-  runs.) <a href=#refsWSP>[WSP]</a></p>
+  <hr><p>When <i><a href=#the-websocket-closing-handshake-is-started>the WebSocket closing handshake is started</a></i>, the user agent must <a href=#queue-a-task>queue a
+  task</a> to change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
+  value to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2). (If the <code title=dom-WebSocket-close><a href=#dom-websocket-close>close()</a></code> method was called, the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value will already be set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) when this task runs.) <a href=#refsWSP>[WSP]</a></p>
 
-  <hr><p id=closeWebSocket>When <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is
-  closed</a></i>, possibly <i title="">cleanly</i>, the user agent must
-  <a href=#queue-a-task>queue a task</a> to run the following substeps:</p>
+  <hr><p id=closeWebSocket>When <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i>, possibly <i title="">cleanly</i>, the user agent must <a href=#queue-a-task>queue a task</a> to run the following
+  substeps:</p>
 
-  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's
-   value to <code title=dom-WebSocket-CLOSED><a href=#dom-websocket-closed>CLOSED</a></code>
-   (3).</li>
+  <ol><li><p>Change the <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value to
+   <code title=dom-WebSocket-CLOSED><a href=#dom-websocket-closed>CLOSED</a></code> (3).</li>
 
-   <li><p>If the user agent was required to <i><a href=#fail-the-websocket-connection>fail the WebSocket
-   connection</a></i> or <i><a href=#the-websocket-connection-is-closed>the WebSocket connection is closed</a></i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
-   <a href=#fire-a-simple-event>fire a simple event</a> named <code title="">error</code>
-   at the <code><a href=#websocket>WebSocket</a></code> object. <a href=#refsWSP>[WSP]</a></li>
+   <li><p>If the user agent was required to <i><a href=#fail-the-websocket-connection>fail the WebSocket connection</a></i> or <i><a href=#the-websocket-connection-is-closed>the WebSocket
+   connection is closed</a></i> <dfn id=concept-websocket-close-fail title=concept-websocket-close-fail>with prejudice</dfn>,
+   <a href=#fire-a-simple-event>fire a simple event</a> named <code title="">error</code> at the <code><a href=#websocket>WebSocket</a></code>
+   object. <a href=#refsWSP>[WSP]</a></li>
 
    <li><p>Create a <a href=#concept-events-trusted title=concept-events-trusted>trusted</a> event that uses the
    <code><a href=#closeevent>CloseEvent</a></code> interface, with the event type <code title=event-socket-close>close</code>, which does not bubble, is not cancelable, has no default
@@ -82931,9 +82590,8 @@
 
   </ol><div class=warning>
 
-   <p>User agents must not convey any failure information to scripts
-   in a way that would allow a script to distinguish the following
-   situations:</p>
+   <p>User agents must not convey any failure information to scripts in a way that would allow a
+   script to distinguish the following situations:</p>
 
    <ul><li>A server whose host name could not be resolved.
 
@@ -82941,37 +82599,32 @@
 
     <li>A server that refused the connection on the specified port.
 
-    <li>A server that failed to correctly perform a TLS handshake
-    (e.g., the server certificate can't be verified).
+    <li>A server that failed to correctly perform a TLS handshake (e.g., the server certificate
+    can't be verified).
 
-    <li>A server that did not complete the opening handshake (e.g.
-    because it was not a WebSocket server).
+    <li>A server that did not complete the opening handshake (e.g. because it was not a WebSocket
+    server).
 
-    <li>A WebSocket server that sent a correct opening handshake, but
-    that specified options that caused the client to drop the
-    connection (e.g. the server specified a subprotocol that the
+    <li>A WebSocket server that sent a correct opening handshake, but that specified options that
+    caused the client to drop the connection (e.g. the server specified a subprotocol that the
     client did not offer).
 
-    <li>A WebSocket server that abruptly closed the connection after
-    successfully completing the opening handshake.
+    <li>A WebSocket server that abruptly closed the connection after successfully completing the
+    opening handshake.
 
-   </ul><p>In all of these cases, the <i><a href=#the-websocket-connection-close-code>the WebSocket connection close
-   code</a></i> would be 1006, as required by the WebSocket Protocol
-   specification. <a href=#refsWSP>[WSP]</a></p>
+   </ul><p>In all of these cases, the <i><a href=#the-websocket-connection-close-code>the WebSocket connection close code</a></i> would be 1006, as
+   required by the WebSocket Protocol specification. <a href=#refsWSP>[WSP]</a></p>
 
-   <p>Allowing a script to distinguish these cases would allow a
-   script to probe the user's local network in preparation for an
-   attack.</p>
+   <p>Allowing a script to distinguish these cases would allow a script to probe the user's local
+   network in preparation for an attack.</p>
 
-   <p class=note>In particular, this means the code 1015 is not used
-   by the user agent (unless the server erroneously uses it in its
-   close frame, of course).</p>
+   <p class=note>In particular, this means the code 1015 is not used by the user agent (unless the
+   server erroneously uses it in its close frame, of course).</p>
 
   </div>
 
-  <hr><p>The <a href=#task-source>task source</a> for all <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue a
-  task">queued</a> in this section is the <dfn id=websocket-task-source>WebSocket task
-  source</dfn>.</p>
+  <hr><p>The <a href=#task-source>task source</a> for all <a href=#concept-task title=concept-task>tasks</a> <a href=#queue-a-task title="queue
+  a task">queued</a> in this section is the <dfn id=websocket-task-source>WebSocket task source</dfn>.</p>
 
 
   <h4 id=ping-and-pong-frames><span class=secno>10.3.4 </span>Ping and Pong frames</h4>
@@ -83092,38 +82745,33 @@
 
   <h4 id=garbage-collection-1><span class=secno>10.3.7 </span>Garbage collection</h4>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  was set to <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code>
-  (0) as of the last time the <a href=#event-loop>event loop</a> started
-  executing a <a href=#concept-task title=concept-task>task</a> must not be
-  garbage collected if there are any event listeners registered for
-  <code title=event-open>open</code> events, <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code> events, or <code title=event-socket-close>close</code> events.</p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
+  attribute's value was set to <code title=dom-WebSocket-CONNECTING><a href=#dom-websocket-connecting>CONNECTING</a></code> (0) as of
+  the last time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must not be garbage collected if there are any event listeners
+  registered for <code title=event-open>open</code> events, <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code> events, or
+  <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  was set to <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1) as of
-  the last time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must not be garbage collected if
-  there are any event listeners registered for <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code>, or <code title=event-socket-close>close</code> events.</p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
+  attribute's value was set to <code title=dom-WebSocket-OPEN><a href=#dom-websocket-open>OPEN</a></code> (1) as of the last time
+  the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must not be
+  garbage collected if there are any event listeners registered for <code title=event-message><a href=#event-message>message</a></code> events, <code title=event-error>error</code>, or <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code> attribute's value
-  was set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) as
-  of the last time the <a href=#event-loop>event loop</a> started executing a
-  <a href=#concept-task title=concept-task>task</a> must not be garbage collected
-  if there are any event listeners registered for <code title=event-error>error</code> or <code title=event-socket-close>close</code> events.</p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object whose <code title=dom-WebSocket-readyState><a href=#dom-websocket-readystate>readyState</a></code>
+  attribute's value was set to <code title=dom-WebSocket-CLOSING><a href=#dom-websocket-closing>CLOSING</a></code> (2) as of the last
+  time the <a href=#event-loop>event loop</a> started executing a <a href=#concept-task title=concept-task>task</a> must
+  not be garbage collected if there are any event listeners registered for <code title=event-error>error</code> or <code title=event-socket-close>close</code> events.</p>
 
-  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket
-  connection is established"><a href=#the-websocket-connection-is-established>an established connection</a></i> that has
-  data queued to be transmitted to the network must not be garbage
-  collected. <a href=#refsWSP>[WSP]</a></p>
+  <p>A <code><a href=#websocket>WebSocket</a></code> object with <i title="the WebSocket connection is established"><a href=#the-websocket-connection-is-established>an
+  established connection</a></i> that has data queued to be transmitted to the network must not be
+  garbage collected. <a href=#refsWSP>[WSP]</a></p>
 
-  <p>If a <code><a href=#websocket>WebSocket</a></code> object is garbage collected while its
-  connection is still open, the user agent must <i><a href=#start-the-websocket-closing-handshake>start the
-  WebSocket closing handshake</a></i>, with no status code<!--CLOSE
-  CODE--> for the Close message. <a href=#refsWSP>[WSP]</a></p>
+  <p>If a <code><a href=#websocket>WebSocket</a></code> object is garbage collected while its connection is still open, the
+  user agent must <i><a href=#start-the-websocket-closing-handshake>start the WebSocket closing handshake</a></i>, with no status code<!--CLOSE CODE-->
+  for the Close message. <a href=#refsWSP>[WSP]</a></p>
 
-  <hr><p>If a user agent is to <dfn id=make-disappear>make disappear</dfn> a
-  <code><a href=#websocket>WebSocket</a></code> object (this happens when a
-  <code><a href=#document>Document</a></code> object goes away), the user agent must follow
-  the first appropriate set of steps from the following list:</p>
+  <hr><p>If a user agent is to <dfn id=make-disappear>make disappear</dfn> a <code><a href=#websocket>WebSocket</a></code> object (this happens
+  when a <code><a href=#document>Document</a></code> object goes away), the user agent must follow the first appropriate
+  set of steps from the following list:</p>
 
   <dl class=switch><dt>If the WebSocket connection is not yet <i title="the WebSocket
    connection is established"><a href=#the-websocket-connection-is-established>established</a></i> <a href=#refsWSP>[WSP]</a></dt>
@@ -83800,16 +83448,13 @@
 
   </dl><div class=impl>
 
-  <p>Each <code><a href=#messageport>MessagePort</a></code> object can be entangled with
-  another (a symmetric relationship). Each <code><a href=#messageport>MessagePort</a></code>
-  object also has a <a href=#task-source>task source</a> called the <dfn id=port-message-queue>port
-  message queue</dfn>, initially empty. A <a href=#port-message-queue>port message
-  queue</a> can be enabled or disabled, and is initially
-  disabled. Once enabled, a port can never be disabled again (though
-  messages in the queue can get moved to another queue or removed
-  altogether, which has much the same effect).
-  A <code><a href=#messageport>MessagePort</a></code> also has a <dfn id=has-been-shipped>has been shipped</dfn> flag. It must initially be
-  false.</p>
+  <p>Each <code><a href=#messageport>MessagePort</a></code> object can be entangled with another (a symmetric relationship).
+  Each <code><a href=#messageport>MessagePort</a></code> object also has a <a href=#task-source>task source</a> called the <dfn id=port-message-queue>port
+  message queue</dfn>, initially empty. A <a href=#port-message-queue>port message queue</a> can be enabled or
+  disabled, and is initially disabled. Once enabled, a port can never be disabled again (though
+  messages in the queue can get moved to another queue or removed altogether, which has much the
+  same effect). A <code><a href=#messageport>MessagePort</a></code> also has a <dfn id=has-been-shipped>has been shipped</dfn> flag. It must
+  initially be false.</p>
 
   <p>Each <a href=#event-loop>event loop</a> has a <a href=#task-source>task source</a> called the <dfn id=unshipped-port-message-queue>unshipped port
   message queue</dfn>. This is a virtual <a href=#task-source>task source</a>: it must act as if it contained
@@ -83828,15 +83473,12 @@
   is true, its <a href=#port-message-queue>port message queue</a> acts as a first-class <a href=#task-source>task source</a>,
   unaffected to any <a href=#unshipped-port-message-queue>unshipped port message queue</a>.</p>
 
-  <p>When the user agent is to <dfn id=create-a-new-messageport-object>create a new
-  <code>MessagePort</code> object</dfn> owned by a <a href="#script's-global-object">script's
-  global object</a> object <var title="">owner</var>, it must
-  instantiate a new <code><a href=#messageport>MessagePort</a></code> object, and let its owner
-  be <var title="">owner</var>.</p>
+  <p>When the user agent is to <dfn id=create-a-new-messageport-object>create a new <code>MessagePort</code> object</dfn> owned by a
+  <a href="#script's-global-object">script's global object</a> object <var title="">owner</var>, it must instantiate a new
+  <code><a href=#messageport>MessagePort</a></code> object, and let its owner be <var title="">owner</var>.</p>
 
-  <p>When the user agent is to <dfn id=entangle>entangle</dfn> two
-  <code><a href=#messageport>MessagePort</a></code> objects, it must run the following
-  steps:</p>
+  <p>When the user agent is to <dfn id=entangle>entangle</dfn> two <code><a href=#messageport>MessagePort</a></code> objects, it must run
+  the following steps:</p>
 
   <ol><li>
 
@@ -84090,29 +83732,24 @@
    title="">target port</var>.</p></li>
 
   </ol>
---><hr><p>The <dfn id=dom-messageport-start title=dom-MessagePort-start><code>start()</code></dfn>
-  method must enable its port's <a href=#port-message-queue>port message queue</a>, if it
-  is not already enabled.</p>
+--><hr><p>The <dfn id=dom-messageport-start title=dom-MessagePort-start><code>start()</code></dfn> method must enable its port's
+  <a href=#port-message-queue>port message queue</a>, if it is not already enabled.</p>
 
-  <p>When a port's <a href=#port-message-queue>port message queue</a> is enabled, the
-  <a href=#event-loop>event loop</a> must use it as one of its <a href=#task-source title="task
-  source">task sources</a>.</p>
+  <p>When a port's <a href=#port-message-queue>port message queue</a> is enabled, the <a href=#event-loop>event loop</a> must use
+  it as one of its <a href=#task-source title="task source">task sources</a>.</p>
 
-  <p class=note>If the <code><a href=#document>Document</a></code> of the port's event
-  listeners' <a href="#script's-global-object" title="script's global object">global object</a>
-  is not <a href=#fully-active>fully active</a>, then the messages are lost.</p>
-  <!-- because of the jump-to-entry-point algorithm first step -->
+  <p class=note>If the <code><a href=#document>Document</a></code> of the port's event listeners' <a href="#script's-global-object" title="script's
+  global object">global object</a> is not <a href=#fully-active>fully active</a>, then the messages are
+  lost.</p> <!-- because of the jump-to-entry-point algorithm first step -->
 
-  <hr><p>The <dfn id=dom-messageport-close title=dom-MessagePort-close><code>close()</code></dfn>
-  method, when called on a port <var title="">local port</var> that is
-  entangled with another port, must cause the user agents to
-  disentangle the two ports. If the method is called on a port that is
-  not entangled, then the method must do nothing.</p>
+  <hr><p>The <dfn id=dom-messageport-close title=dom-MessagePort-close><code>close()</code></dfn> method, when called on a port
+  <var title="">local port</var> that is entangled with another port, must cause the user agents to
+  disentangle the two ports. If the method is called on a port that is not entangled, then the
+  method must do nothing.</p>
 
-  <hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their
-  corresponding <a href=#event-handler-event-type title="event handler event type">event handler
-  event types</a>) that must be supported, as IDL attributes, by
-  all objects implementing the <code><a href=#messageport>MessagePort</a></code> interface:</p>
+  <hr><p>The following are the <a href=#event-handlers>event handlers</a> (and their corresponding <a href=#event-handler-event-type title="event
+  handler event type">event handler event types</a>) that must be supported, as IDL attributes,
+  by all objects implementing the <code><a href=#messageport>MessagePort</a></code> interface:</p>
 
   <table><thead><tr><th><a href=#event-handlers title="event handlers">Event handler</a> <th><a href=#event-handler-event-type>Event handler event type</a>
    <tbody><tr><td><dfn id=handler-messageport-onmessage title=handler-MessagePort-onmessage><code>onmessage</code></dfn> <td> <code title=event-message><a href=#event-message>message</a></code>
@@ -84655,27 +84292,20 @@
   <p>The <a href=#task-source>task source</a> for these tasks is the <a href=#dom-manipulation-task-source>DOM manipulation task
   source</a>.</p>
 
-  <p>If the event is being fired due to an invocation of the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code> or <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code> methods, the
-  event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code>
-  attribute initialized to the name of the key in question, its <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code> attribute initialized to
-  the old value of the key in question, or null if the key is newly
-  added, and its <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attribute initialized to
-  the new value of the key in question, or null if the key was
-  removed.</p>
+  <p>If the event is being fired due to an invocation of the <code title=dom-Storage-setItem><a href=#dom-storage-setitem>setItem()</a></code> or <code title=dom-Storage-removeItem><a href=#dom-storage-removeitem>removeItem()</a></code> methods, the event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code> attribute initialized to the name of the key in question,
+  its <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code> attribute initialized to the old value
+  of the key in question, or null if the key is newly added, and its <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attribute initialized to the new value of the
+  key in question, or null if the key was removed.</p>
 
-  <p>Otherwise, if the event is being fired due to an invocation of
-  the <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> method, the event
-  must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code>, <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code>, and <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attributes
-  initialized to null.</p>
+  <p>Otherwise, if the event is being fired due to an invocation of the <code title=dom-Storage-clear><a href=#dom-storage-clear>clear()</a></code> method, the event must have its <code title=dom-StorageEvent-key><a href=#dom-storageevent-key>key</a></code>, <code title=dom-StorageEvent-oldValue><a href=#dom-storageevent-oldvalue>oldValue</a></code>,
+  and <code title=dom-StorageEvent-newValue><a href=#dom-storageevent-newvalue>newValue</a></code> attributes initialized to null.</p>
 
-  <p>In addition, the event must have its <code title=dom-StorageEvent-url><a href=#dom-storageevent-url>url</a></code> attribute initialized to
-  <a href="#the-document's-address" title="the document's address">the address of the
-  document</a> whose <code><a href=#storage-0>Storage</a></code> object was affected; and
-  its <code title=dom-StorageEvent-storageArea><a href=#dom-storageevent-storagearea>storageArea</a></code>
-  attribute initialized to the <code><a href=#storage-0>Storage</a></code> object from the
-  <code><a href=#window>Window</a></code> object of the target <code><a href=#document>Document</a></code> that
-  represents the same kind of <code><a href=#storage-0>Storage</a></code> area as was
-  affected (i.e. session or local).</p>
+  <p>In addition, the event must have its <code title=dom-StorageEvent-url><a href=#dom-storageevent-url>url</a></code> attribute
+  initialized to <a href="#the-document's-address" title="the document's address">the address of the document</a> whose
+  <code><a href=#storage-0>Storage</a></code> object was affected; and its <code title=dom-StorageEvent-storageArea><a href=#dom-storageevent-storagearea>storageArea</a></code> attribute initialized to the
+  <code><a href=#storage-0>Storage</a></code> object from the <code><a href=#window>Window</a></code> object of the target
+  <code><a href=#document>Document</a></code> that represents the same kind of <code><a href=#storage-0>Storage</a></code> area as was affected
+  (i.e. session or local).</p>
 
 
   <h5 id=event-definition-0><span class=secno>11.2.4.1 </span>Event definition</h5>
@@ -91636,48 +91266,39 @@
 
       <p>Run these steps:</p>
 
-      <ol><li><p>Let <var title="">the script</var> be the <a href=#pending-parsing-blocking-script>pending
-       parsing-blocking script</a>. There is no longer a <a href=#pending-parsing-blocking-script>pending
-       parsing-blocking script</a>.</li>
+      <ol><li><p>Let <var title="">the script</var> be the <a href=#pending-parsing-blocking-script>pending parsing-blocking
+       script</a>. There is no longer a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>.</li>
 
-       <li><p>Block the <a href=#tokenization title=tokenization>tokenizer</a>
-       for this instance of the <a href=#html-parser>HTML parser</a>, such that
-       the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a>.</li>
+       <li><p>Block the <a href=#tokenization title=tokenization>tokenizer</a> for this instance of the
+       <a href=#html-parser>HTML parser</a>, such that the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a>.</li>
 
-       <li><p>If the parser's <code><a href=#document>Document</a></code> <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style
-       sheet that is blocking scripts</a> or <var title="">the
-       script</var>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag
-       is not set: <a href=#spin-the-event-loop>spin the event loop</a> until the parser's
-       <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
-       scripts</a> and <var title="">the script</var>'s
-       <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is
-       set.</li>
+       <li><p>If the parser's <code><a href=#document>Document</a></code> <a href=#has-a-style-sheet-that-is-blocking-scripts>has a style sheet that is blocking
+       scripts</a> or <var title="">the script</var>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a>
+       flag is not set: <a href=#spin-the-event-loop>spin the event loop</a> until the parser's <code><a href=#document>Document</a></code>
+       <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking scripts</a> and <var title="">the script</var>'s
+       <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is set.</li>
 
-       <li><p>Unblock the <a href=#tokenization title=tokenization>tokenizer</a>
-       for this instance of the <a href=#html-parser>HTML parser</a>, such that
-       <a href=#concept-task title=concept-task>tasks</a> that invoke the <a href=#tokenization title=tokenization>tokenizer</a> can again be
-       run.</li>
+       <li><p>Unblock the <a href=#tokenization title=tokenization>tokenizer</a> for this instance of the
+       <a href=#html-parser>HTML parser</a>, such that <a href=#concept-task title=concept-task>tasks</a> that invoke the
+       <a href=#tokenization title=tokenization>tokenizer</a> can again be run.</li>
 
-       <li><p>Let the <a href=#insertion-point>insertion point</a> be just before the
-       <a href=#next-input-character>next input character</a>.</li>
+       <li><p>Let the <a href=#insertion-point>insertion point</a> be just before the <a href=#next-input-character>next input
+       character</a>.</li>
 
-       <li><p>Increment the parser's <a href=#script-nesting-level>script nesting level</a>
-       by one (it should be zero before this step, so this sets it to
-       one).</li>
+       <li><p>Increment the parser's <a href=#script-nesting-level>script nesting level</a> by one (it should be zero
+       before this step, so this sets it to one).</li>
 
-       <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a>
-       <var title="">the script</var>.</li>
+       <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> <var title="">the
+       script</var>.</li>
 
-       <li><p>Decrement the parser's <a href=#script-nesting-level>script nesting level</a>
-       by one. If the parser's <a href=#script-nesting-level>script nesting level</a> is
-       zero (which it always should be at this point), then set the
-       <a href=#parser-pause-flag>parser pause flag</a> to false.</p>
+       <li><p>Decrement the parser's <a href=#script-nesting-level>script nesting level</a> by one. If the parser's
+       <a href=#script-nesting-level>script nesting level</a> is zero (which it always should be at this point), then set
+       the <a href=#parser-pause-flag>parser pause flag</a> to false.</p>
 
-       <li><p>Let the <a href=#insertion-point>insertion point</a> be undefined
-       again.</li>
+       <li><p>Let the <a href=#insertion-point>insertion point</a> be undefined again.</li>
 
-       <li><p>If there is once again a <a href=#pending-parsing-blocking-script>pending parsing-blocking
-       script</a>, then repeat these steps from step 1.</li>
+       <li><p>If there is once again a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>, then repeat
+       these steps from step 1.</li>
 
       </ol></dd>
 
@@ -93065,56 +92686,44 @@
   <p>Once the user agent <dfn id=stop-parsing title="stop parsing">stops parsing</dfn>
   the document, the user agent must run the following steps:</p>
 
-  <ol><!-- this happens as part of one of the tasks that runs the parser --><li><p>Set the <a href=#current-document-readiness>current document readiness</a> to "<code title="">interactive</code>" <!-- this also synchronously fires an
-   event --> and the <a href=#insertion-point>insertion point</a> to
+  <ol><!-- this happens as part of one of the tasks that runs the parser --><li><p>Set the <a href=#current-document-readiness>current document readiness</a> to "<code title="">interactive</code>"
+   <!-- this also synchronously fires an event --> and the <a href=#insertion-point>insertion point</a> to
    undefined.</li>
 
-   <li><p>Pop <em>all</em> the nodes off the <a href=#stack-of-open-elements>stack of open
-   elements</a>.</li>
+   <li><p>Pop <em>all</em> the nodes off the <a href=#stack-of-open-elements>stack of open elements</a>.</li>
 
-   <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the
-   document has finished parsing</a> is not empty, run these
-   substeps:</p>
+   <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has finished
+   parsing</a> is not empty, run these substeps:</p>
 
-    <ol><li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the first
-     <code><a href=#the-script-element>script</a></code> in the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will
-     execute when the document has finished parsing</a> has its
-     <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag set <em>and</em>
-     the parser's <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that
-     is blocking scripts</a>.</li>
+    <ol><li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the first <code><a href=#the-script-element>script</a></code> in the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list
+     of scripts that will execute when the document has finished parsing</a> has its <a href=#ready-to-be-parser-executed>"ready
+     to be parser-executed"</a> flag set <em>and</em> the parser's <code><a href=#document>Document</a></code>
+     <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking scripts</a>.</li>
 
-     <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the
-     first <code><a href=#the-script-element>script</a></code> in the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will
-     execute when the document has finished parsing</a>.</li>
+     <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the first <code><a href=#the-script-element>script</a></code> in
+     the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has finished
+     parsing</a>.</li>
 
-     <li><p>Remove the first <code><a href=#the-script-element>script</a></code> element from the
-     <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has
-     finished parsing</a> (i.e. shift out the first entry in the
+     <li><p>Remove the first <code><a href=#the-script-element>script</a></code> element from the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will
+     execute when the document has finished parsing</a> (i.e. shift out the first entry in the
      list).</li>
 
-     <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the
-     document has finished parsing</a> is still not empty, repeat
-     these substeps again from substep 1.</p>
+     <li><p>If the <a href=#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing>list of scripts that will execute when the document has finished
+     parsing</a> is still not empty, repeat these substeps again from substep 1.</p>
 
     </ol></li>
 
-   <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple
-   event</a> that bubbles named <code title=event-DOMContentLoaded>DOMContentLoaded</code> at the
-   <code><a href=#document>Document</a></code>.</li>
+   <li><p><a href=#queue-a-task>Queue a task</a> to <a href=#fire-a-simple-event>fire a simple event</a> that bubbles named <code title=event-DOMContentLoaded>DOMContentLoaded</code> at the <code><a href=#document>Document</a></code>.</li>
 
-   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the <a href=#set-of-scripts-that-will-execute-as-soon-as-possible>set of
-   scripts that will execute as soon as possible</a> and the
-   <a href=#list-of-scripts-that-will-execute-in-order-as-soon-as-possible>list of scripts that will execute in order as soon as
-   possible</a> are empty.</li> <!-- this step is not redundant
-   with the next one, since <script> nodes delay the load event of the
-   document they are in, but they might change document between being
-   added to one document's set/list and executing those scripts, so
-   they might be delaying another document but still be in this
-   document's set/list. -->
+   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the <a href=#set-of-scripts-that-will-execute-as-soon-as-possible>set of scripts that will execute as soon
+   as possible</a> and the <a href=#list-of-scripts-that-will-execute-in-order-as-soon-as-possible>list of scripts that will execute in order as soon as
+   possible</a> are empty.</li> <!-- this step is not redundant with the next one, since
+   <script> nodes delay the load event of the document they are in, but they might change document
+   between being added to one document's set/list and executing those scripts, so they might be
+   delaying another document but still be in this document's set/list. -->
 
-   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until there is nothing that
-   <dfn id=delay-the-load-event title="delay the load event">delays the load event</dfn> in
-   the <code><a href=#document>Document</a></code>.</li>
+   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until there is nothing that <dfn id=delay-the-load-event title="delay the load
+   event">delays the load event</dfn> in the <code><a href=#document>Document</a></code>.</li>
 
    <li>
 
@@ -94118,17 +93727,14 @@
    <li><code title="">-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN</code></li>
    <li><code title="">-//W3C//DTD MathML 2.0//EN</code></li>
    <li><code title="">-//WAPFORUM//DTD XHTML Mobile 1.0//EN</code></li>
-  </ul><p>Furthermore, user agents should attempt to retrieve the above
-  external entity's content when one of the above public identifiers
-  is used, and should not attempt to retrieve any other external
+  </ul><p>Furthermore, user agents should attempt to retrieve the above external entity's content when
+  one of the above public identifiers is used, and should not attempt to retrieve any other external
   entity's content.</p>
 
-  <p class=note>This is not strictly a <a href=#willful-violation title="willful
-  violation">violation</a> of the XML specification, but it does
-  contradict the spirit of the XML specification's requirements. This
-  is motivated by a desire for user agents to all handle entities in
-  an interoperable fashion without requiring any network access for
-  handling external subsets. <a href=#refsXML>[XML]</a></p>
+  <p class=note>This is not strictly a <a href=#willful-violation title="willful violation">violation</a> of the XML
+  specification, but it does contradict the spirit of the XML specification's requirements. This is
+  motivated by a desire for user agents to all handle entities in an interoperable fashion without
+  requiring any network access for handling external subsets. <a href=#refsXML>[XML]</a></p>
 
   <p id=scriptTagXML>When an <a href=#xml-parser>XML parser</a> creates a <code><a href=#the-script-element>script</a></code> element, it
   must be marked as being <a href=#parser-inserted>"parser-inserted"</a> and its <a href=#force-async>"force-async"</a> flag
@@ -94139,45 +93745,36 @@
   <code><a href=#the-script-element>script</a></code> element. If this causes there to be a <a href=#pending-parsing-blocking-script>pending parsing-blocking
   script</a>, then the user agent must run the following steps:</p>
 
-  <ol><li><p>Block this instance of the <a href=#xml-parser>XML parser</a>, such
-   that the <a href=#event-loop>event loop</a> will not run <a href=#concept-task title=concept-task>tasks</a> that invoke it.</li>
+  <ol><li><p>Block this instance of the <a href=#xml-parser>XML parser</a>, such that the <a href=#event-loop>event loop</a>
+   will not run <a href=#concept-task title=concept-task>tasks</a> that invoke it.</li>
 
-   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the parser's
-   <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no style sheet that is blocking
-   scripts</a> and the <a href=#pending-parsing-blocking-script>pending parsing-blocking
-   script</a>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is
-   set.</li>
+   <li><p><a href=#spin-the-event-loop>Spin the event loop</a> until the parser's <code><a href=#document>Document</a></code> <a href=#has-no-style-sheet-that-is-blocking-scripts>has no
+   style sheet that is blocking scripts</a> and the <a href=#pending-parsing-blocking-script>pending parsing-blocking
+   script</a>'s <a href=#ready-to-be-parser-executed>"ready to be parser-executed"</a> flag is set.</li>
 
-   <li><p>Unblock this instance of the <a href=#xml-parser>XML parser</a>, such
-   that <a href=#concept-task title=concept-task>tasks</a> that invoke it can
-   again be run.</li>
+   <li><p>Unblock this instance of the <a href=#xml-parser>XML parser</a>, such that <a href=#concept-task title=concept-task>tasks</a> that invoke it can again be run.</li>
 
-   <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the
-   <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>.</li>
-
-   <li><p>There is no longer a <a href=#pending-parsing-blocking-script>pending parsing-blocking
+   <li><p><a href=#execute-the-script-block title="execute the script block">Execute</a> the <a href=#pending-parsing-blocking-script>pending parsing-blocking
    script</a>.</li>
 
+   <li><p>There is no longer a <a href=#pending-parsing-blocking-script>pending parsing-blocking script</a>.</li>
+
   </ol><p class=note>Since the <code title=dom-document-write><a href=#dom-document-write>document.write()</a></code> API is not
-  available for <a href=#xml-documents>XML documents</a>, much of the complexity in
-  the <a href=#html-parser>HTML parser</a> is not needed in the <a href=#xml-parser>XML
-  parser</a>.</p>
+  available for <a href=#xml-documents>XML documents</a>, much of the complexity in the <a href=#html-parser>HTML parser</a>
+  is not needed in the <a href=#xml-parser>XML parser</a>.</p>
 
-  <p>Certain algorithms in this specification <dfn id=feed-the-parser title="feed the
-  parser">spoon-feed the parser</dfn> characters one string at a
-  time. In such cases, the <a href=#xml-parser>XML parser</a> must act as it
-  would have if faced with a single string consisting of the
-  concatenation of all those characters.</p>
+  <p>Certain algorithms in this specification <dfn id=feed-the-parser title="feed the parser">spoon-feed the
+  parser</dfn> characters one string at a time. In such cases, the <a href=#xml-parser>XML parser</a> must act
+  as it would have if faced with a single string consisting of the concatenation of all those
+  characters.</p>
 
-  <p>When an <a href=#xml-parser>XML parser</a> reaches the end of its input, it
-  must <a href=#stop-parsing>stop parsing</a>, following the same rules as the
-  <a href=#html-parser>HTML parser</a>. An <a href=#xml-parser>XML parser</a> can also be
-  <a href=#abort-a-parser title="abort a parser">aborted</a>, which must again by
-  done in the same way as for an <a href=#html-parser>HTML parser</a>.</p>
+  <p>When an <a href=#xml-parser>XML parser</a> reaches the end of its input, it must <a href=#stop-parsing>stop
+  parsing</a>, following the same rules as the <a href=#html-parser>HTML parser</a>. An <a href=#xml-parser>XML
+  parser</a> can also be <a href=#abort-a-parser title="abort a parser">aborted</a>, which must again by done in
+  the same way as for an <a href=#html-parser>HTML parser</a>.</p>
 
-  <p>For the purposes of conformance checkers, if a resource is
-  determined to be in <a href=#the-xhtml-syntax>the XHTML syntax</a>, then it is an
-  <a href=#xml-documents title="XML documents">XML document</a>.</p>
+  <p>For the purposes of conformance checkers, if a resource is determined to be in <a href=#the-xhtml-syntax>the XHTML
+  syntax</a>, then it is an <a href=#xml-documents title="XML documents">XML document</a>.</p>
 
 
 

Modified: source
===================================================================
--- source	2013-02-05 20:33:00 UTC (rev 7694)
+++ source	2013-02-05 22:23:45 UTC (rev 7695)
@@ -12720,30 +12720,24 @@
 
   <h3>Interactions with XPath and XSLT</h3>
 
-  <p id="xpath-1.0-processors">Implementations of XPath 1.0 that
-  operate on <span>HTML documents</span> parsed or created in the
-  manners described in this specification (e.g. as part of the <code
-  title="">document.evaluate()</code> API) must act as if the
-  following edit was applied to the XPath 1.0 specification.</p>
+  <p id="xpath-1.0-processors">Implementations of XPath 1.0 that operate on <span>HTML
+  documents</span> parsed or created in the manners described in this specification (e.g. as part of
+  the <code title="">document.evaluate()</code> API) must act as if the following edit was applied
+  to the XPath 1.0 specification.</p>
 
   <p>First, remove this paragraph:</p>
 
   <blockquote cite="http://www.w3.org/TR/1999/REC-xpath-19991116#node-tests">
 
-   <p>A <a
-   href="http://www.w3.org/TR/REC-xml-names#NT-QName">QName</a> in the
-   node test is expanded into an <a
-   href="http://www.w3.org/TR/1999/REC-xpath-19991116#dt-expanded-name">expanded-name</a>
-   using the namespace declarations from the expression context.  This
-   is the same way expansion is done for element type names in start
-   and end-tags except that the default namespace declared with <code
-   title="">xmlns</code> is not used: if the <a
-   href="http://www.w3.org/TR/REC-xml-names#NT-QName">QName</a> does
-   not have a prefix, then the namespace URI is null (this is the same
-   way attribute names are expanded).  It is an error if the <a
-   href="http://www.w3.org/TR/REC-xml-names#NT-QName">QName</a> has a
-   prefix for which there is no namespace declaration in the
-   expression context.</p>
+   <p>A <a href="http://www.w3.org/TR/REC-xml-names#NT-QName">QName</a> in the node test is expanded
+   into an <a href="http://www.w3.org/TR/1999/REC-xpath-19991116#dt-expanded-name">expanded-name</a>
+   using the namespace declarations from the expression context. This is the same way expansion is
+   done for element type names in start and end-tags except that the default namespace declared with
+   <code title="">xmlns</code> is not used: if the <a
+   href="http://www.w3.org/TR/REC-xml-names#NT-QName">QName</a> does not have a prefix, then the
+   namespace URI is null (this is the same way attribute names are expanded). It is an error if the
+   <a href="http://www.w3.org/TR/REC-xml-names#NT-QName">QName</a> has a prefix for which there is
+   no namespace declaration in the expression context.</p>
 
   </blockquote>
 
@@ -12751,99 +12745,80 @@
 
   <blockquote cite="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7059#c37">
 
-   <p>A QName in the node test is expanded into an expanded-name using
-   the namespace declarations from the expression context. If the
-   QName has a prefix, then there must be a<!-- added 2009-10-27 -
-   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8062 --> namespace
-   declaration for this prefix in the expression context, and the
-   corresponding<!-- typo fixed 2009-10-27 -
-   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8063 --> namespace
-   URI is the one that is associated with this prefix.  It is an error
-   if the QName has a prefix for which there is no namespace
-   declaration in the expression context. </p>
+   <p>A QName in the node test is expanded into an expanded-name using the namespace declarations
+   from the expression context. If the QName has a prefix, then there must be a<!-- added 2009-10-27
+   - http://www.w3.org/Bugs/Public/show_bug.cgi?id=8062 --> namespace declaration for this prefix in
+   the expression context, and the corresponding<!-- typo fixed 2009-10-27 -
+   http://www.w3.org/Bugs/Public/show_bug.cgi?id=8063 --> namespace URI is the one that is
+   associated with this prefix. It is an error if the QName has a prefix for which there is no
+   namespace declaration in the expression context. </p>
 
-   <p>If the QName has no prefix and the principal node type of the
-   axis is element, then the default element namespace is
-   used. Otherwise if the QName has no prefix, the namespace URI is
-   null. The default element namespace is a member of the context for
-   the XPath expression. The value of the default element namespace
-   when executing an XPath expression through the DOM3 XPath API is
-   determined in the following way:</p>
+   <p>If the QName has no prefix and the principal node type of the axis is element, then the
+   default element namespace is used. Otherwise if the QName has no prefix, the namespace URI is
+   null. The default element namespace is a member of the context for the XPath expression. The
+   value of the default element namespace when executing an XPath expression through the DOM3 XPath
+   API is determined in the following way:</p>
 
    <ol>
 
-    <li>If the context node is from an HTML DOM, the default element
-    namespace is "http://www.w3.org/1999/xhtml".</li>
+    <li>If the context node is from an HTML DOM, the default element namespace is
+    "http://www.w3.org/1999/xhtml".</li>
 
     <li>Otherwise, the default element namespace URI is null.</li>
 
    </ol>
 
-   <p class="note">This is equivalent to adding the default element
-   namespace feature of XPath 2.0 to XPath 1.0, and using the HTML
-   namespace as the default element namespace for HTML documents. It
-   is motivated by the desire to have implementations be compatible
-   with legacy HTML content while still supporting the changes that
-   this specification introduces to HTML regarding the namespace used
-   for HTML elements, and by the desire to use XPath 1.0 rather than
-   XPath 2.0.</p>
+   <p class="note">This is equivalent to adding the default element namespace feature of XPath 2.0
+   to XPath 1.0, and using the HTML namespace as the default element namespace for HTML documents.
+   It is motivated by the desire to have implementations be compatible with legacy HTML content
+   while still supporting the changes that this specification introduces to HTML regarding the
+   namespace used for HTML elements, and by the desire to use XPath 1.0 rather than XPath 2.0.</p>
 
   </blockquote>
 
-  <p class="note">This change is a <span>willful violation</span> of
-  the XPath 1.0 specification, motivated by desire to have
-  implementations be compatible with legacy content while still
-  supporting the changes that this specification introduces to HTML
-  regarding which namespace is used for HTML elements. <a
-  href="#refsXPATH10">[XPATH10]</a></p> <!-- note: version matters for
+  <p class="note">This change is a <span>willful violation</span> of the XPath 1.0 specification,
+  motivated by desire to have implementations be compatible with legacy content while still
+  supporting the changes that this specification introduces to HTML regarding which namespace is
+  used for HTML elements. <a href="#refsXPATH10">[XPATH10]</a></p> <!-- note: version matters for
   this ref -->
 
   <hr>
 
-  <p id="dom-based-xslt-1.0-processors">XSLT 1.0 processors outputting
-  to a DOM when the output method is "html" (either explicitly or via
-  the defaulting rule in XSLT 1.0) are affected as follows:</p>
+  <p id="dom-based-xslt-1.0-processors">XSLT 1.0 processors outputting to a DOM when the output
+  method is "html" (either explicitly or via the defaulting rule in XSLT 1.0) are affected as
+  follows:</p>
 
-  <p>If the transformation program outputs an element in no namespace,
-  the processor must, prior to constructing the corresponding DOM
-  element node, change the namespace of the element to the <span>HTML
-  namespace</span>, <span title="converted to ASCII
-  lowercase">ASCII-lowercase</span> the element's local name, and
-  <span title="converted to ASCII lowercase">ASCII-lowercase</span>
-  the names of any non-namespaced attributes on the element.</p>
+  <p>If the transformation program outputs an element in no namespace, the processor must, prior to
+  constructing the corresponding DOM element node, change the namespace of the element to the
+  <span>HTML namespace</span>, <span title="converted to ASCII lowercase">ASCII-lowercase</span> the
+  element's local name, and <span title="converted to ASCII lowercase">ASCII-lowercase</span> the
+  names of any non-namespaced attributes on the element.</p>
 
-  <p class="note">This requirement is a <span>willful violation</span>
-  of the XSLT 1.0 specification, required because this specification
-  changes the namespaces and case-sensitivity rules of HTML in a
-  manner that would otherwise be incompatible with DOM-based XSLT
-  transformations. (Processors that serialize the output are
-  unaffected.) <a href="#refsXSLT10">[XSLT10]</a></p> <!-- note:
-  version matters for this ref -->
+  <p class="note">This requirement is a <span>willful violation</span> of the XSLT 1.0
+  specification, required because this specification changes the namespaces and case-sensitivity
+  rules of HTML in a manner that would otherwise be incompatible with DOM-based XSLT
+  transformations. (Processors that serialize the output are unaffected.) <a
+  href="#refsXSLT10">[XSLT10]</a></p> <!-- note: version matters for this ref -->
 
   <hr>
 
-  <p>This specification does not specify precisely how XSLT processing
-  interacts with the <span>HTML parser</span> infrastructure (for
-  example, whether an XSLT processor acts as if it puts any elements
-  into a <span>stack of open elements</span>). However, XSLT
-  processors must <span>stop parsing</span> if they successfully
-  complete, and must set the <span>current document readiness</span>
-  first to "<code title="">interactive</code>"<!-- this synchronously
-  fires an event --> and then to "<code title="">complete</code>"<!--
-  this also synchronously fires an event --> if they are aborted.</p>
+  <p>This specification does not specify precisely how XSLT processing interacts with the <span>HTML
+  parser</span> infrastructure (for example, whether an XSLT processor acts as if it puts any
+  elements into a <span>stack of open elements</span>). However, XSLT processors must <span>stop
+  parsing</span> if they successfully complete, and must set the <span>current document
+  readiness</span> first to "<code title="">interactive</code>"<!-- this synchronously fires an
+  event --> and then to "<code title="">complete</code>"<!-- this also synchronously fires an event
+  --> if they are aborted.</p>
 
   <hr>
 
-  <p>This specification does not specify how XSLT interacts with the
-  <span title="navigate">navigation</span> algorithm, how it fits in
-  with the <span>event loop</span>, nor how error pages are to be
-  handled (e.g. whether XSLT errors are to replace an incremental XSLT
+  <p>This specification does not specify how XSLT interacts with the <span
+  title="navigate">navigation</span> algorithm, how it fits in with the <span>event loop</span>, nor
+  how error pages are to be handled (e.g. whether XSLT errors are to replace an incremental XSLT
   output, or are rendered inline, etc).</p>
 
-  <p class="note">There are also additional non-normative comments
-  regarding the interaction of XSLT and HTML <a
-  href="#scriptTagXSLT">in the <code>script</code> element
-  section</a>.</p>
+  <p class="note">There are also additional non-normative comments regarding the interaction of XSLT
+  and HTML <a href="#scriptTagXSLT">in the <code>script</code> element section</a>.</p>
 
   </div>
 
@@ -13109,29 +13084,27 @@
 
   <div class="impl">
 
-  <p>The <dfn title="dom-document-close"><code>close()</code></dfn>
-  method must run the following steps:</p>
+  <p>The <dfn title="dom-document-close"><code>close()</code></dfn> method must run the following
+  steps:</p>
 
   <ol>
 
-   <li><p>If the <code>Document</code> object is not flagged as an
-   <span title="HTML documents">HTML document</span>, throw an
-   <code>InvalidStateError</code> exception and abort these
+   <li><p>If the <code>Document</code> object is not flagged as an <span title="HTML documents">HTML
+   document</span>, throw an <code>InvalidStateError</code> exception and abort these
    steps.</p></li>
 
-   <li><p>If there is no <span>script-created parser</span> associated
-   with the document, then abort these steps.</p></li>
+   <li><p>If there is no <span>script-created parser</span> associated with the document, then abort
+   these steps.</p></li>
 
-   <li><p>Insert an <span>explicit "EOF" character</span> at the end
-   of the parser's <span>input stream</span>.</p></li>
+   <li><p>Insert an <span>explicit "EOF" character</span> at the end of the parser's <span>input
+   stream</span>.</p></li>
 
-   <li><p>If there is a <span>pending parsing-blocking script</span>,
-   then abort these steps.</p></li>
+   <li><p>If there is a <span>pending parsing-blocking script</span>, then abort these
+   steps.</p></li>
 
-   <li><p>Run the tokenizer, processing resulting tokens as they are
-   emitted, and stopping when the tokenizer reaches the <span>explicit
-   "EOF" character</span> or <span title="spin the event loop">spins
-   the event loop</span>.</p></li>
+   <li><p>Run the tokenizer, processing resulting tokens as they are emitted, and stopping when the
+   tokenizer reaches the <span>explicit "EOF" character</span> or <span title="spin the event
+   loop">spins the event loop</span>.</p></li>
 
   </ol>
 
@@ -15347,16 +15320,13 @@
 
   <h4 id="styling"><dfn title="styling processing model">Styling</dfn></h4>
 
-  <p>The <code>link</code> and <code>style</code> elements can provide
-  styling information for the user agent to use when rendering the
-  document. The CSS and CSSOM specifications specify what styling
-  information is to be used by the user agent and how it is to be
-  used. <a href="#refsCSS">[CSS]</a> <a
-  href="#refsCSSOM">[CSSOM]</a></p>
+  <p>The <code>link</code> and <code>style</code> elements can provide styling information for the
+  user agent to use when rendering the document. The CSS and CSSOM specifications specify what
+  styling information is to be used by the user agent and how it is to be used. <a
+  href="#refsCSS">[CSS]</a> <a href="#refsCSSOM">[CSSOM]</a></p>
 
-  <p>The <code>style</code> and <code>link</code> elements implement
-  the <code>LinkStyle</code> interface. <a
-  href="#refsCSSOM">[CSSOM]</a></p>
+  <p>The <code>style</code> and <code>link</code> elements implement the <code>LinkStyle</code>
+  interface. <a href="#refsCSSOM">[CSSOM]</a></p>
 
   <div class="impl">
 
@@ -15383,136 +15353,105 @@
 
    <dt>The style sheet type</dt>
 
-   <dd><p>The style sheet type must be the same as the style's specified
-   type. For <code>style</code> elements, this is the same as the
-   <code title="attr-style-type">type</code> content attribute's
-   value, or <code title="">text/css</code> if that is omitted. For
-   <code>link</code> elements, this is the <span
-   title="Content-Type">Content-Type metadata of the specified
-   resource</span>.</p></dd>
+   <dd><p>The style sheet type must be the same as the style's specified type. For
+   <code>style</code> elements, this is the same as the <code title="attr-style-type">type</code>
+   content attribute's value, or <code title="">text/css</code> if that is omitted. For
+   <code>link</code> elements, this is the <span title="Content-Type">Content-Type metadata of the
+   specified resource</span>.</p></dd>
 
    <dt>The style sheet location</dt>
 
-   <dd><p>For <code>link</code> elements, the location must be the
-   result of <span title="resolve a url">resolving</span> the
-   <span>URL</span> given by the element's <code
-   title="attr-link-href">href</code> content attribute, relative to
-   the element, or the empty string if that fails. For
-   <code>style</code> elements, there is no location.</p></dd> <!--
-   note that this might not match the style sheet URL, if the base URL
-   has changed for instance -->
+   <dd><p>For <code>link</code> elements, the location must be the result of <span title="resolve a
+   url">resolving</span> the <span>URL</span> given by the element's <code
+   title="attr-link-href">href</code> content attribute, relative to the element, or the empty
+   string if that fails. For <code>style</code> elements, there is no location.</p></dd> <!-- note
+   that this might not match the style sheet URL, if the base URL has changed for instance -->
 
    <dt>The style sheet media</dt>
 
-   <dd><p>The media must be the same as the value of the element's
-   <code title="">media</code> content attribute, or the empty string,
-   if the attribute is omitted.</p></dd>
+   <dd><p>The media must be the same as the value of the element's <code title="">media</code>
+   content attribute, or the empty string, if the attribute is omitted.</p></dd>
 
    <dt>The style sheet title</dt>
 
-   <dd><p>The title must be the same as the value of the element's
-   <code title="dom-title">title</code> content attribute, if the
-   attribute is present and has a non-empty value. If the attribute is
-   absent or its value is the empty string, then the style sheet does
-   not have a title (it is the empty string). The title is used for
-   defining <span>alternative style sheet sets</span>.</p></dd>
+   <dd><p>The title must be the same as the value of the element's <code
+   title="dom-title">title</code> content attribute, if the attribute is present and has a non-empty
+   value. If the attribute is absent or its value is the empty string, then the style sheet does not
+   have a title (it is the empty string). The title is used for defining <span>alternative style
+   sheet sets</span>.</p></dd>
 
    <dt>The style sheet alternate flag</dt>
 
-   <dd><p>For <code>link</code> elements, true if <span>the link is an
-   alternative stylesheet</span>. In all other cases, false.</p></dd>
+   <dd><p>For <code>link</code> elements, true if <span>the link is an alternative
+   stylesheet</span>. In all other cases, false.</p></dd>
 
 <!--
-   <dt>The style sheet disabled flag</dt>
-   (not included, because I assume CSSOM will change to not require
-   this spec to initialise the value, but will instead initialise it
-   based on the other values)
+   <dt>The style sheet disabled flag</dt> (not included, because I assume CSSOM will change to not
+   require this spec to initialise the value, but will instead initialise it based on the other
+   values)
 -->
 
   </dl>
 
   <p>The same object must be returned each time.</p>
 
-  <p>The <dfn
-  title="dom-LinkStyle-disabled"><code>disabled</code></dfn> IDL
-  attribute on <code>link</code> and <code>style</code> elements must
-  return false and do nothing on setting, if the <code
-  title="dom-linkstyle-sheet">sheet</code> attribute of their
-  <code>LinkStyle</code> interface is null. Otherwise, it must return
-  the value of the <code>StyleSheet</code> interface's <code
-  title="dom-stylesheet-disabled">disabled</code> attribute on
-  getting, and forward the new value to that same attribute on
-  setting.</p>
+  <p>The <dfn title="dom-LinkStyle-disabled"><code>disabled</code></dfn> IDL attribute on
+  <code>link</code> and <code>style</code> elements must return false and do nothing on setting, if
+  the <code title="dom-linkstyle-sheet">sheet</code> attribute of their <code>LinkStyle</code>
+  interface is null. Otherwise, it must return the value of the <code>StyleSheet</code> interface's
+  <code title="dom-stylesheet-disabled">disabled</code> attribute on getting, and forward the new
+  value to that same attribute on setting.</p>
 
-  <!-- [CSSOM] covers the following: the term "alternative style sheet
-  sets", the term "default style sheet set", preferred stylesheets,
-  alternative stylesheets, persistent stylesheets, ordering of
-  stylesheets, dynamic additions/removals, window.styleSheets, style
-  sheets given by HTTP Link: headers, and the alternative style sheet
-  API -->
+  <!-- [CSSOM] covers the following: the term "alternative style sheet sets", the term "default
+  style sheet set", preferred stylesheets, alternative stylesheets, persistent stylesheets, ordering
+  of stylesheets, dynamic additions/removals, window.styleSheets, style sheets given by HTTP Link:
+  headers, and the alternative style sheet API -->
 
-  <p id="alternate-style-sheets">The rules for handling alternative
-  style sheets are defined in the CSS object model specification. <a
-  href="#refsCSSOM">[CSSOM]</a></p>
+  <p id="alternate-style-sheets">The rules for handling alternative style sheets are defined in the
+  CSS object model specification. <a href="#refsCSSOM">[CSSOM]</a></p>
 
   <hr>
 
-  <p>Style sheets, whether added by a <code>link</code> element, a
-  <code>style</code> element, an <code><?xml-stylesheet></code> PI,
-  an HTTP <code title="http-link">Link:</code> header, or some other
-  mechanism, have a <dfn>style sheet ready</dfn> flag, which is
-  initially unset.</p>
+  <p>Style sheets, whether added by a <code>link</code> element, a <code>style</code> element, an
+  <code><?xml-stylesheet></code> PI, an HTTP <code title="http-link">Link:</code> header, or some
+  other mechanism, have a <dfn>style sheet ready</dfn> flag, which is initially unset.</p>
 
-  <p>When a style sheet is ready to be applied, its <span>style sheet
-  ready</span> flag must be set. If the style sheet referenced no
-  other resources (e.g. it was an internal style sheet given by a
-  <code>style</code> element with no <code title="">@import</code>
-  rules), then the style rules must be synchronously made available to
-  script; otherwise, the style rules must only be made available to
-  script once the <span>event loop</span> reaches its "update the
-  rendering" step.</p>
+  <p>When a style sheet is ready to be applied, its <span>style sheet ready</span> flag must be set.
+  If the style sheet referenced no other resources (e.g. it was an internal style sheet given by a
+  <code>style</code> element with no <code title="">@import</code> rules), then the style rules must
+  be synchronously made available to script; otherwise, the style rules must only be made available
+  to script once the <span>event loop</span> reaches its "update the rendering" step.</p>
 
-  <p>A style sheet in the context of the <code>Document</code> of an
-  <span>HTML parser</span> or <span>XML parser</span> is said to be
-  <dfn>a style sheet that is blocking scripts</dfn> if the element was
-  created by that <code>Document</code>'s parser, and the element is
-  either a <code>style</code> element or a <code>link</code> element
-  that was an <span title="rel-stylesheet">external resource link that
-  contributes to the styling processing model</span> when the element
-  was created by the parser, and the element's style sheet was enabled
-  when the element was created by the parser, and the element's
-  <span>style sheet ready</span> flag is not yet set, and, the last
-  time the <span>event loop</span> reached step 1, the element was
-  <span title="in a document">in that <code>Document</code></span>,
-  and the user agent hasn't given up on that particular style sheet
-  yet. A user agent may give up on a style sheet at any time.</p>
+  <p>A style sheet in the context of the <code>Document</code> of an <span>HTML parser</span> or
+  <span>XML parser</span> is said to be <dfn>a style sheet that is blocking scripts</dfn> if the
+  element was created by that <code>Document</code>'s parser, and the element is either a
+  <code>style</code> element or a <code>link</code> element that was an <span
+  title="rel-stylesheet">external resource link that contributes to the styling processing
+  model</span> when the element was created by the parser, and the element's style sheet was enabled
+  when the element was created by the parser, and the element's <span>style sheet ready</span> flag
+  is not yet set, and, the last time the <span>event loop</span> reached step 1, the element was
+  <span title="in a document">in that <code>Document</code></span>, and the user agent hasn't given
+  up on that particular style sheet yet. A user agent may give up on a style sheet at any time.</p>
 
-  <p class="note">Giving up on a style sheet before the style sheet
-  loads, if the style sheet eventually does still load, means that the
-  script might end up operating with incorrect information. For
-  example, if a style sheet sets the color of an element to green, but
-  a script that inspects the resulting style is executed before the
-  sheet is loaded, the script will find that the element is black (or
-  whatever the default color is), and might thus make poor choices
-  (e.g. deciding to use black as the color elsewhere on the page,
-  instead of green). Implementors have to balance the likelihood of a
-  script using incorrect information with the performance impact of
-  doing nothing while waiting for a slow network request to
-  finish.</p>
+  <p class="note">Giving up on a style sheet before the style sheet loads, if the style sheet
+  eventually does still load, means that the script might end up operating with incorrect
+  information. For example, if a style sheet sets the color of an element to green, but a script
+  that inspects the resulting style is executed before the sheet is loaded, the script will find
+  that the element is black (or whatever the default color is), and might thus make poor choices
+  (e.g. deciding to use black as the color elsewhere on the page, instead of green). Implementors
+  have to balance the likelihood of a script using incorrect information with the performance impact
+  of doing nothing while waiting for a slow network request to finish.</p>
 
-  <p>A <code>Document</code> <dfn>has a style sheet that is blocking
-  scripts</dfn> if there is either <span>a style sheet that is
-  blocking scripts</span> in the context of that
-  <code>Document</code>, or if that <code>Document</code> is in a
-  <span>browsing context</span> that has a <span>parent browsing
-  context</span>, and the <span>active document</span> of that
-  <span>parent browsing context</span> itself <span>has a style sheet
-  that is blocking scripts</span>.</p>
+  <p>A <code>Document</code> <dfn>has a style sheet that is blocking scripts</dfn> if there is
+  either <span>a style sheet that is blocking scripts</span> in the context of that
+  <code>Document</code>, or if that <code>Document</code> is in a <span>browsing context</span> that
+  has a <span>parent browsing context</span>, and the <span>active document</span> of that
+  <span>parent browsing context</span> itself <span>has a style sheet that is blocking
+  scripts</span>.</p>
 
-  <p>A <code>Document</code> <dfn>has no style sheet that is blocking
-  scripts</dfn> if it does not <span title="has a style sheet that is
-  blocking scripts">have a style sheet that is blocking scripts</span>
-  as defined in the previous paragraph.</p>
+  <p>A <code>Document</code> <dfn>has no style sheet that is blocking scripts</dfn> if it does not
+  <span title="has a style sheet that is blocking scripts">have a style sheet that is blocking
+  scripts</span> as defined in the previous paragraph.</p>
 
   </div>
 
@@ -30886,8 +30825,8 @@
       <p><span>Queue a task</span> to <span>fire a simple event</span> named <code
       title="event-media-loadedmetadata">loadedmetadata</code> at the element.</p>
 
-      <p class="note">Before this task is run, as part of the event loop mechanism, the rendering
-      will have been updated to resize the <code>video</code> element if appropriate.</p>
+      <p class="note">Before this task is run, as part of the <span>event loop</span> mechanism, the
+      rendering will have been updated to resize the <code>video</code> element if appropriate.</p>
 
      </dd>
 
@@ -34664,75 +34603,59 @@
 
   </dl>
 
-  <p>If the <span>text track mode</span> of the <span>text
-  track</span> that the <code>TextTrack</code> object represents is
-  not the <span>text track disabled</span> mode, then the <dfn
-  title="dom-TextTrack-cues"><code>cues</code></dfn> attribute must
-  return a <span>live</span> <code>TextTrackCueList</code> object that
-  represents the subset of the <span>text track list of cues</span> of
-  the <span>text track</span> that the <code>TextTrack</code> object
-  represents whose <span title="text track cue end time">end
-  times</span> occur at or after the <span>earliest possible position
-  when the script started</span>, in <span>text track cue
-  order</span>. Otherwise, it must return null. When an object is
-  returned, the same object must be returned each time.</p>
+  <p>If the <span>text track mode</span> of the <span>text track</span> that the
+  <code>TextTrack</code> object represents is not the <span>text track disabled</span> mode, then
+  the <dfn title="dom-TextTrack-cues"><code>cues</code></dfn> attribute must return a
+  <span>live</span> <code>TextTrackCueList</code> object that represents the subset of the
+  <span>text track list of cues</span> of the <span>text track</span> that the
+  <code>TextTrack</code> object represents whose <span title="text track cue end time">end
+  times</span> occur at or after the <span>earliest possible position when the script
+  started</span>, in <span>text track cue order</span>. Otherwise, it must return null. When an
+  object is returned, the same object must be returned each time.</p>
 
-  <p>The <dfn>earliest possible position when the script started</dfn>
-  is whatever the <span>earliest possible position</span> was the last
-  time the <span>event loop</span> reached step 1.</p>
+  <p>The <dfn>earliest possible position when the script started</dfn> is whatever the
+  <span>earliest possible position</span> was the last time the <span>event loop</span> reached step
+  1.</p>
 
-  <p>If the <span>text track mode</span> of the <span>text
-  track</span> that the <code>TextTrack</code> object represents is
-  not the <span>text track disabled</span> mode, then the <dfn
-  title="dom-TextTrack-activeCues"><code>activeCues</code></dfn>
-  attribute must return a <span>live</span>
-  <code>TextTrackCueList</code> object that represents the subset of
-  the <span>text track list of cues</span> of the <span>text
-  track</span> that the <code>TextTrack</code> object represents
-  whose <span>active flag was set when the script started</span>, in
-  <span>text track cue order</span>. Otherwise, it must return
-  null. When an object is returned, the same object must be returned
-  each time.</p>
+  <p>If the <span>text track mode</span> of the <span>text track</span> that the
+  <code>TextTrack</code> object represents is not the <span>text track disabled</span> mode, then
+  the <dfn title="dom-TextTrack-activeCues"><code>activeCues</code></dfn> attribute must return a
+  <span>live</span> <code>TextTrackCueList</code> object that represents the subset of the
+  <span>text track list of cues</span> of the <span>text track</span> that the
+  <code>TextTrack</code> object represents whose <span>active flag was set when the script
+  started</span>, in <span>text track cue order</span>. Otherwise, it must return null. When an
+  object is returned, the same object must be returned each time.</p>
 
-  <p>A <span>text track cue</span>'s <dfn>active flag was set when
-  the script started</dfn> if its <span>text track cue active
-  flag</span> was set the last time the <span>event loop</span>
-  reached step 1.</p>
+  <p>A <span>text track cue</span>'s <dfn>active flag was set when the script started</dfn> if its
+  <span>text track cue active flag</span> was set the last time the <span>event loop</span> reached
+  step 1.</p>
 
   <hr>
 
-  <p>The <dfn title="dom-TextTrack-addCue"><code>addCue(<var
-  title="">cue</var>)</code></dfn> method of <code>TextTrack</code>
-  objects, when invoked, must run the following steps:</p>
+  <p>The <dfn title="dom-TextTrack-addCue"><code>addCue(<var title="">cue</var>)</code></dfn> method
+  of <code>TextTrack</code> objects, when invoked, must run the following steps:</p>
 
   <ol>
 
-   <li><p>If the given <var title="">cue</var> is in a <span>text
-   track list of cues</span>, then remove <var title="">cue</var> from
-   that <span>text track list of cues</span>.</p></li>
+   <li><p>If the given <var title="">cue</var> is in a <span>text track list of cues</span>, then
+   remove <var title="">cue</var> from that <span>text track list of cues</span>.</p></li>
 
-   <li><p>Add <var title="">cue</var> to the method's
-   <code>TextTrack</code> object's <span>text track</span>'s
-   <span>text track list of cues</span>.</p></li>
+   <li><p>Add <var title="">cue</var> to the method's <code>TextTrack</code> object's <span>text
+   track</span>'s <span>text track list of cues</span>.</p></li>
 
   </ol>
 
-  <p>The <dfn
-  title="dom-TextTrack-removeCue"><code>removeCue(<var
-  title="">cue</var>)</code></dfn> method of
-  <code>TextTrack</code> objects, when invoked, must run the
-  following steps:</p>
+  <p>The <dfn title="dom-TextTrack-removeCue"><code>removeCue(<var title="">cue</var>)</code></dfn>
+  method of <code>TextTrack</code> objects, when invoked, must run the following steps:</p>
 
   <ol>
 
-   <li><p>If the given <var title="">cue</var> is not currently listed
-   in the method's <code>TextTrack</code> object's <span>text
-   track</span>'s <span>text track list of cues</span>, then throw a
-   <code>NotFoundError</code> exception.</p></li>
+   <li><p>If the given <var title="">cue</var> is not currently listed in the method's
+   <code>TextTrack</code> object's <span>text track</span>'s <span>text track list of cues</span>,
+   then throw a <code>NotFoundError</code> exception.</p></li>
 
-   <li><p>Remove <var title="">cue</var> from the method's
-   <code>TextTrack</code> object's <span>text track</span>'s
-   <span>text track list of cues</span>.</p></li>
+   <li><p>Remove <var title="">cue</var> from the method's <code>TextTrack</code> object's
+   <span>text track</span>'s <span>text track list of cues</span>.</p></li>
 
   </ol>
 
@@ -34740,13 +34663,11 @@
 
   <div class="example">
 
-   <p>In this example, an <code>audio</code> element is used to play a
-   specific sound-effect from a sound file containing many sound
-   effects. A cue is used to pause the audio, so that it ends exactly
-   at the end of the clip, even if the browser is busy running some
-   script. If the page had relied on script to pause the audio, then
-   the start of the next clip might be heard if the browser was not
-   able to run the script at the exact time specified.</p>
+   <p>In this example, an <code>audio</code> element is used to play a specific sound-effect from a
+   sound file containing many sound effects. A cue is used to pause the audio, so that it ends
+   exactly at the end of the clip, even if the browser is busy running some script. If the page had
+   relied on script to pause the audio, then the start of the next clip might be heard if the
+   browser was not able to run the script at the exact time specified.</p>
 
    <pre>var sfx = new Audio('sfx.wav');
 var sounds = sfx.addTextTrack('metadata');
@@ -34808,38 +34729,29 @@
 
   <div class="impl">
 
-  <p>A <code>TextTrackCueList</code> object represents a dynamically
-  updating list of <span title="text track cue">text track
-  cues</span> in a given order.</p>
+  <p>A <code>TextTrackCueList</code> object represents a dynamically updating list of <span
+  title="text track cue">text track cues</span> in a given order.</p>
 
-  <p>The <dfn
-  title="dom-TextTrackCueList-length"><code>length</code></dfn>
-  attribute must return the number of <span title="text track
-  cue">cues</span> in the list represented by the
+  <p>The <dfn title="dom-TextTrackCueList-length"><code>length</code></dfn> attribute must return
+  the number of <span title="text track cue">cues</span> in the list represented by the
   <code>TextTrackCueList</code> object.</p>
 
-  <p>The <span>supported property indices</span> of a
-  <code>TextTrackCueList</code> object at any instant are the numbers
-  from zero to the number of <span title="text track cue">cues</span>
-  in the list represented by the <code>TextTrackCueList</code> object
-  minus one, if any. If there are no <span title="text track
-  cue">cues</span> in the list, there are no <span>supported property
+  <p>The <span>supported property indices</span> of a <code>TextTrackCueList</code> object at any
+  instant are the numbers from zero to the number of <span title="text track cue">cues</span> in the
+  list represented by the <code>TextTrackCueList</code> object minus one, if any. If there are no
+  <span title="text track cue">cues</span> in the list, there are no <span>supported property
   indices</span>.</p>
 
-  <p>To <span>determine the value of an indexed property</span> for a
-  given index <var title="">index</var>, the user agent must return
-  the <var title="">index</var>th <span>text track cue</span> in the
-  list represented by the <code>TextTrackCueList</code> object.</p>
+  <p>To <span>determine the value of an indexed property</span> for a given index <var
+  title="">index</var>, the user agent must return the <var title="">index</var>th <span>text track
+  cue</span> in the list represented by the <code>TextTrackCueList</code> object.</p>
 
-  <p>The <dfn
-  title="dom-TextTrackCueList-getCueById"><code>getCueById(<var
-  title="">id</var>)</code></dfn> method, when called with an argument
-  other than the empty string, must return the first <span>text track
-  cue</span> in the list represented by the
-  <code>TextTrackCueList</code> object whose <span>text track cue
-  identifier</span> is <var title="">id</var>, if any, or null
-  otherwise. If the argument is the empty string, then the method must
-  return null.</p>
+  <p>The <dfn title="dom-TextTrackCueList-getCueById"><code>getCueById(<var
+  title="">id</var>)</code></dfn> method, when called with an argument other than the empty string,
+  must return the first <span>text track cue</span> in the list represented by the
+  <code>TextTrackCueList</code> object whose <span>text track cue identifier</span> is <var
+  title="">id</var>, if any, or null otherwise. If the argument is the empty string, then the method
+  must return null.</p>
 
   </div>
 
@@ -38606,62 +38518,48 @@
 
   <!--END dev-html--><p><i>This section is non-normative.</i></p><!--START dev-html-->
 
-  <p>How accurately various aspects of the <span>media element</span>
-  API are implemented is considered a quality-of-implementation issue.</p>
+  <p>How accurately various aspects of the <span>media element</span> API are implemented is
+  considered a quality-of-implementation issue.</p>
 
-  <p>For example, when implementing the <code
-  title="attr-media-buffered">buffered</code> attribute, how precise
-  an implementation reports the ranges that have been buffered depends
-  on how carefully the user agent inspects the data. Since the API
-  reports ranges as times, but the data is obtained in byte streams, a
-  user agent receiving a variable-bit-rate stream might only be able
-  to determine precise times by actually decoding all of the data.
-  User agents aren't required to do this, however; they can instead
-  return estimates (e.g. based on the average bit rate seen so far)
-  which get revised as more information becomes available.</p>
+  <p>For example, when implementing the <code title="attr-media-buffered">buffered</code> attribute,
+  how precise an implementation reports the ranges that have been buffered depends on how carefully
+  the user agent inspects the data. Since the API reports ranges as times, but the data is obtained
+  in byte streams, a user agent receiving a variable-bit-rate stream might only be able to determine
+  precise times by actually decoding all of the data. User agents aren't required to do this,
+  however; they can instead return estimates (e.g. based on the average bit rate seen so far) which
+  get revised as more information becomes available.</p>
 
-  <p>As a general rule, user agents are urged to be conservative
-  rather than optimistic. For example, it would be bad to report that
-  everything had been buffered when it had not.</p>
+  <p>As a general rule, user agents are urged to be conservative rather than optimistic. For
+  example, it would be bad to report that everything had been buffered when it had not.</p>
 
-  <p>Another quality-of-implementation issue would be playing a video
-  backwards when the codec is designed only for forward playback (e.g.
-  there aren't many key frames, and they are far apart, and the
-  intervening frames only have deltas from the previous frame). User
-  agents could do a poor job, e.g. only showing key frames; however,
-  better implementations would do more work and thus do a better job,
-  e.g. actually decoding parts of the video forwards, storing the
-  complete frames, and then playing the frames backwards.</p>
+  <p>Another quality-of-implementation issue would be playing a video backwards when the codec is
+  designed only for forward playback (e.g. there aren't many key frames, and they are far apart, and
+  the intervening frames only have deltas from the previous frame). User agents could do a poor job,
+  e.g. only showing key frames; however, better implementations would do more work and thus do a
+  better job, e.g. actually decoding parts of the video forwards, storing the complete frames, and
+  then playing the frames backwards.</p>
 
-  <p>Similarly, while implementations are allowed to drop buffered
-  data at any time (there is no requirement that a user agent keep all
-  the media data obtained for the lifetime of the media element), it
-  is again a quality of implementation issue: user agents with
-  sufficient resources to keep all the data around are encouraged to
-  do so, as this allows for a better user experience. For example, if
-  the user is watching a live stream, a user agent could allow the
-  user only to view the live video; however, a better user agent would
-  buffer everything and allow the user to seek through the earlier
-  material, pause it, play it forwards and backwards, etc.</p>
+  <p>Similarly, while implementations are allowed to drop buffered data at any time (there is no
+  requirement that a user agent keep all the media data obtained for the lifetime of the media
+  element), it is again a quality of implementation issue: user agents with sufficient resources to
+  keep all the data around are encouraged to do so, as this allows for a better user experience. For
+  example, if the user is watching a live stream, a user agent could allow the user only to view the
+  live video; however, a better user agent would buffer everything and allow the user to seek
+  through the earlier material, pause it, play it forwards and backwards, etc.</p>
 
-  <p>When multiple tracks are synchronised with a
-  <code>MediaController</code>, it is possible for scripts to add and
-  remove media elements from the <code>MediaController</code>'s list
-  of <span>slaved media elements</span>, even while these tracks are
-  playing. How smoothly the media plays back in such situations is
-  another quality-of-implementation issue.</p>
+  <p>When multiple tracks are synchronised with a <code>MediaController</code>, it is possible for
+  scripts to add and remove media elements from the <code>MediaController</code>'s list of
+  <span>slaved media elements</span>, even while these tracks are playing. How smoothly the media
+  plays back in such situations is another quality-of-implementation issue.</p>
 
   <hr>
 
-  <p>When a <span>media element</span> that is paused is <span
-  title="remove an element from a document">removed from a
-  document</span> and not reinserted before the next time the
-  <span>event loop</span> spins, implementations that are resource
-  constrained are encouraged to take that opportunity to release all
-  hardware resources (like video planes, networking resources, and
-  data buffers) used by the <span>media element</span>. (User agents
-  still have to keep track of the playback position and so forth,
-  though, in case playback is later restarted.)</p>
+  <p>When a <span>media element</span> that is paused is <span title="remove an element from a
+  document">removed from a document</span> and not reinserted before the next time the <span>event
+  loop</span> spins, implementations that are resource constrained are encouraged to take that
+  opportunity to release all hardware resources (like video planes, networking resources, and data
+  buffers) used by the <span>media element</span>. (User agents still have to keep track of the
+  playback position and so forth, though, in case playback is later restarted.)</p>
 
   </div>
   
@@ -43837,17 +43735,15 @@
 
   <ol>
 
-   <li><p>Let <var title="">the specified rectangle</var> be the
-   rectangle of the bounding box of the intended path.</p></li>
+   <li><p>Let <var title="">the specified rectangle</var> be the rectangle of the bounding box of
+   the intended path.</p></li>
 
-   <li><p>Let <var title="">notional child</var> be a hypothetical
-   element that is a rendered child of the <code>canvas</code> element
-   whose dimensions are those of <var title="">the specified
+   <li><p>Let <var title="">notional child</var> be a hypothetical element that is a rendered child
+   of the <code>canvas</code> element whose dimensions are those of <var title="">the specified
    rectangle</var>.</p></li>
 
-   <li><p><span title="scroll an element into view">Scroll <var
-   title="">notional child</var> into view</span> with the <var
-   title="">align to top flag</var> set.</p>
+   <li><p><span title="scroll an element into view">Scroll <var title="">notional child</var> into
+   view</span> with the <var title="">align to top flag</var> set.</p>
 
    <li><p>Optionally, <a href="#inform">inform the user</a> that the caret or selection (or both)
    cover <var title="">the specified rectangle</var> of the canvas. If the
@@ -43859,18 +43755,14 @@
 
   </ol>
 
-  <p class="note" id="inform">"Inform the user", as used in this
-  section, could mean calling a system accessibility API, which would
-  notify assistive technologies such as magnification tools. To
-  properly drive magnification based on a focus change, a system
-  accessibility API driving a screen magnifier needs the bounds for
-  the newly focused object. The methods above are intended to enable
-  this by allowing the user agent to report the bounding box of the
-  path used to render the focus ring as the bounds of the <var
-  title="">element</var> element passed as an argument, if that
-  element is focused, and the bounding box of the area to which the
-  user agent is scrolling as the bounding box of the current
-  selection.</p>
+  <p class="note" id="inform">"Inform the user", as used in this section, could mean calling a
+  system accessibility API, which would notify assistive technologies such as magnification tools.
+  To properly drive magnification based on a focus change, a system accessibility API driving a
+  screen magnifier needs the bounds for the newly focused object. The methods above are intended to
+  enable this by allowing the user agent to report the bounding box of the path used to render the
+  focus ring as the bounds of the <var title="">element</var> element passed as an argument, if that
+  element is focused, and the bounding box of the area to which the user agent is scrolling as the
+  bounding box of the current selection.</p>
 
   <hr>
 
@@ -43880,9 +43772,8 @@
   be implicitly closed when computing the clipping region, without affecting the actual subpaths.
   The new clipping region replaces the current clipping region.</p>
 
-  <p>When the context is initialized, the clipping region must be set
-  to the rectangle with the top left corner at (0,0) and the width and
-  height of the coordinate space.</p>
+  <p>When the context is initialized, the clipping region must be set to the rectangle with the top
+  left corner at (0,0) and the width and height of the coordinate space.</p>
 
   <!-- v6
    Jordan OSETE suggests:
@@ -80577,25 +80468,23 @@
   <div class="impl">
 
   <p>A <code>Document</code> has a <dfn
-  title="concept-document-salvageable"><var>salvageable</var></dfn>
-  state, which must initially be true, a <dfn>fired unload</dfn> flag,
-  which must initially be false, and a <dfn>page showing</dfn> flag,
-  which must initially be false.</p>
+  title="concept-document-salvageable"><var>salvageable</var></dfn> state, which must initially be
+  true, a <dfn>fired unload</dfn> flag, which must initially be false, and a <dfn>page showing</dfn>
+  flag, which must initially be false.</p>
 
-  <p><span title="event loop">Event loops</span> have a
-  <dfn>termination nesting level</dfn> counter, which must initially
-  be zero.</p>
+  <p><span title="event loop">Event loops</span> have a <dfn>termination nesting level</dfn>
+  counter, which must initially be zero.</p>
 
-  <p>When a user agent is to <dfn>prompt to unload a document</dfn>,
-  it must run the following steps.</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>Increase the <span>event loop</span>'s <span>termination
-   nesting level</span> by one.</p></li>
+   <li><p>Increase the <span>event loop</span>'s <span>termination nesting level</span> by
+   one.</p></li>
 
-   <li><p>Increase the <code>Document</code>'s
-   <span>ignore-opens-during-unload counter</span> by one.</p></li>
+   <li><p>Increase the <code>Document</code>'s <span>ignore-opens-during-unload counter</span> by
+   one.</p></li>
 
    <li><p>Let <var title="">event</var> be a new <span title="concept-events-trusted">trusted</span>
    <code>BeforeUnloadEvent</code> event object with the name <code
@@ -80604,103 +80493,87 @@
    <li><p><i>Dispatch</i>: <span title="concept-event-dispatch">Dispatch</span> <var
    title="">event</var> at the <code>Document</code>'s <code>Window</code> object.</p></li>
 
-   <li><p>Decrease the <span>event loop</span>'s <span>termination
-   nesting level</span> by one.</p></li>
+   <li><p>Decrease the <span>event loop</span>'s <span>termination nesting level</span> by
+   one.</p></li>
 
    <li><p>Release the <span>storage mutex</span>.</p></li>
 
-   <li><p>If any event listeners were triggered by the earlier
-   <i>dispatch</i> step, then set the <code>Document</code>'s <var
-   title="concept-document-salvageable">salvageable</var> state to
+   <li><p>If any event listeners were triggered by the earlier <i>dispatch</i> step, then set the
+   <code>Document</code>'s <var title="concept-document-salvageable">salvageable</var> state to
    false.</p></li>
 
    <li>
 
-    <p>If the <code
-    title="dom-BeforeUnloadEvent-returnValue">returnValue</code>
-    attribute of the <var title="">event</var> object is not the empty
-    string, or if the event was canceled, then the user agent should
-    ask the user to confirm that they wish to unload the document.</p>
+    <p>If the <code title="dom-BeforeUnloadEvent-returnValue">returnValue</code> attribute of the
+    <var title="">event</var> object is not the empty string, or if the event was canceled, then the
+    user agent should ask the user to confirm that they wish to unload the document.</p>
 
-    <p>The prompt shown by the user agent may include the string of
-    the <code
-    title="dom-BeforeUnloadEvent-returnValue">returnValue</code>
-    attribute, or some leading subset thereof. (A user agent may want
-    to truncate the string to 1024 characters for display, for
+    <p>The prompt shown by the user agent may include the string of the <code
+    title="dom-BeforeUnloadEvent-returnValue">returnValue</code> attribute, or some leading subset
+    thereof. (A user agent may want to truncate the string to 1024 characters for display, for
     instance.)</p>
 
-    <p>The user agent must <span>pause</span> while waiting for the
-    user's response.</p>
+    <p>The user agent must <span>pause</span> while waiting for the user's response.</p>
 
-    <p>If the user did not confirm the page navigation, then the user
-    agent <dfn>refused to allow the document to be unloaded</dfn>.</p>
+    <p>If the user did not confirm the page navigation, then the user agent <dfn>refused to allow
+    the document to be unloaded</dfn>.</p>
 
    </li>
 
-   <li><p>If this algorithm was invoked by another instance of the
-   "prompt to unload a document" algorithm (i.e. through the steps
-   below that invoke this algorithm for all descendant browsing
+   <li><p>If this algorithm was invoked by another instance of the "prompt to unload a document"
+   algorithm (i.e. through the steps below that invoke this algorithm for all descendant browsing
    contexts), then jump to the step labeled <i>end</i>.</p></li>
 
-   <li><p>Let <var title="">descendants</var> be the <span>list of the
-   descendant browsing contexts</span> of the
-   <code>Document</code>.</p></li>
+   <li><p>Let <var title="">descendants</var> be the <span>list of the descendant browsing
+   contexts</span> of the <code>Document</code>.</p></li>
 
    <li>
 
-    <p>If <var title="">descendants</var> is not an empty list, then
-    for each <span>browsing context</span> <var title="">b</var> in
-    <var title="">descendants</var> run the following substeps:</p>
+    <p>If <var title="">descendants</var> is not an empty list, then for each <span>browsing
+    context</span> <var title="">b</var> in <var title="">descendants</var> run the following
+    substeps:</p>
 
     <ol>
 
-     <li><p><span title="prompt to unload a document">Prompt to
-     unload</span> the <span>active document</span> of the
-     <span>browsing context</span> <var title="">b</var>. If the user
-     <span>refused to allow the document to be unloaded</span>, then
-     the user implicitly also <span title="refused to allow the
-     document to be unloaded">refused to allow <em>this</em> document
-     to be unloaded</span>; jump to the step labeled <i>end</i>.</p>
+     <li><p><span title="prompt to unload a document">Prompt to unload</span> the <span>active
+     document</span> of the <span>browsing context</span> <var title="">b</var>. If the user
+     <span>refused to allow the document to be unloaded</span>, then the user implicitly also <span
+     title="refused to allow the document to be unloaded">refused to allow <em>this</em> document to
+     be unloaded</span>; jump to the step labeled <i>end</i>.</p>
 
-     <li><p>If <var
-     title="concept-document-salvageable">salvageable</var> state of
-     the <span>active document</span> of the <span>browsing
-     context</span> <var title="">b</var> is false, then set the <var
-     title="concept-document-salvageable">salvageable</var> state of
-     <em>this</em> document to false also.</p></li>
+     <li><p>If <var title="concept-document-salvageable">salvageable</var> state of the <span>active
+     document</span> of the <span>browsing context</span> <var title="">b</var> is false, then set
+     the <var title="concept-document-salvageable">salvageable</var> state of <em>this</em> document
+     to false also.</p></li>
 
     </ol>
 
    </li>
 
-   <li><p><i>End</i>: Decrease the <code>Document</code>'s
-   <span>ignore-opens-during-unload counter</span> by one.</p></li>
+   <li><p><i>End</i>: Decrease the <code>Document</code>'s <span>ignore-opens-during-unload
+   counter</span> by one.</p></li>
 
   </ol>
 
-  <p>When a user agent is to <dfn>unload a document</dfn>, it must run
-  the following steps. These steps are passed an argument, <var
-  title="">recycle</var>, which is either true or false, indicating
-  whether the <code>Document</code> object is going to be
-  re-used. (This is set by the <code
-  title="dom-document-open">document.open()</code> method.)</p>
+  <p>When a user agent is to <dfn>unload a document</dfn>, it must run the following steps. These
+  steps are passed an argument, <var title="">recycle</var>, which is either true or false,
+  indicating whether the <code>Document</code> object is going to be re-used. (This is set by the
+  <code title="dom-document-open">document.open()</code> method.)</p>
 
   <ol>
 
-   <li><p>Increase the <span>event loop</span>'s <span>termination
-   nesting level</span> by one.</p></li>
+   <li><p>Increase the <span>event loop</span>'s <span>termination nesting level</span> by
+   one.</p></li>
 
-   <li><p>Increase the <code>Document</code>'s
-   <span>ignore-opens-during-unload counter</span> by one.</p></li>
+   <li><p>Increase the <code>Document</code>'s <span>ignore-opens-during-unload counter</span> by
+   one.</p></li>
 
-   <li><p>If the <code>Document</code>'s <span>page showing</span>
-   flag is false, then jump to the step labeled <i>unload event</i>
-   below (i.e. skip firing the <code
-   title="event-pagehide">pagehide</code> even and don't rerun the
-   <span>unloading document visibility change steps</span>).</p></li>
+   <li><p>If the <code>Document</code>'s <span>page showing</span> flag is false, then jump to the
+   step labeled <i>unload event</i> below (i.e. skip firing the <code
+   title="event-pagehide">pagehide</code> even and don't rerun the <span>unloading document
+   visibility change steps</span>).</p></li>
 
-   <li><p>Set the <code>Document</code>'s <span>page showing</span>
-   flag to false.</p></li>
+   <li><p>Set the <code>Document</code>'s <span>page showing</span> flag to false.</p></li>
 
    <li><p><span title="concept-event-fire">Fire</span> a <span
    title="concept-events-trusted">trusted</span> event with the name <code
@@ -80713,64 +80586,54 @@
 
    <li>
 
-    <p>Run any <dfn>unloading document visibility change steps</dfn>
-    for <code>Document</code> that are defined by <span>other
-    applicable specifications</span>.</p>
+    <p>Run any <dfn>unloading document visibility change steps</dfn> for <code>Document</code> that
+    are defined by <span>other applicable specifications</span>.</p>
 
-    <p class="note">This is specifically intended for use by the Page
-    Visibility specification. <a href="#refsPAGEVIS">[PAGEVIS]</a></p>
+    <p class="note">This is specifically intended for use by the Page Visibility specification. <a
+    href="#refsPAGEVIS">[PAGEVIS]</a></p>
 
    </li>
 
-   <li><p><i>Unload event</i>: If the <code>Document</code>'s
-   <span>fired unload</span> flag is false, <span>fire a simple
-   event</span> named <code title="event-unload">unload</code> at the
+   <li><p><i>Unload event</i>: If the <code>Document</code>'s <span>fired unload</span> flag is
+   false, <span>fire a simple event</span> named <code title="event-unload">unload</code> at the
    <code>Document</code>'s <code>Window</code> object.</p></li>
 
-   <li><p>Decrease the <span>event loop</span>'s <span>termination
-   nesting level</span> by one.</p></li>
+   <li><p>Decrease the <span>event loop</span>'s <span>termination nesting level</span> by
+   one.</p></li>
 
    <li><p>Release the <span>storage mutex</span>.</p></li>
 
-   <li><p>If any event listeners were triggered by the earlier
-   <i>unload event</i> step, then set the <code>Document</code>
-   object's <var
-   title="concept-document-salvageable">salvageable</var> state to
-   false and set the <code>Document</code>'s <span>fired unload</span>
-   flag to true.</p></li>
+   <li><p>If any event listeners were triggered by the earlier <i>unload event</i> step, then set
+   the <code>Document</code> object's <var title="concept-document-salvageable">salvageable</var>
+   state to false and set the <code>Document</code>'s <span>fired unload</span> flag to
+   true.</p></li>
 
-   <li><p>Run any <span>unloading document cleanup steps</span> for
-   <code>Document</code> that are defined by this specification and
-   <span>other applicable specifications</span>.</p></li>
+   <li><p>Run any <span>unloading document cleanup steps</span> for <code>Document</code> that are
+   defined by this specification and <span>other applicable specifications</span>.</p></li>
 
-   <li><p>If this algorithm was invoked by another instance of the
-   "unload a document" algorithm (i.e. by the steps below that invoke
-   this algorithm for all descendant browsing contexts), then jump to
-   the step labeled <i>end</i>.</p></li>
+   <li><p>If this algorithm was invoked by another instance of the "unload a document" algorithm
+   (i.e. by the steps below that invoke this algorithm for all descendant browsing contexts), then
+   jump to the step labeled <i>end</i>.</p></li>
 
-   <li><p>Let <var title="">descendants</var> be the <span>list of the
-   descendant browsing contexts</span> of the
-   <code>Document</code>.</p></li>
+   <li><p>Let <var title="">descendants</var> be the <span>list of the descendant browsing
+   contexts</span> of the <code>Document</code>.</p></li>
 
    <li>
 
-    <p>If <var title="">descendants</var> is not an empty list, then
-    for each <span>browsing context</span> <var title="">b</var> in
-    <var title="">descendants</var> run the following substeps:</p>
+    <p>If <var title="">descendants</var> is not an empty list, then for each <span>browsing
+    context</span> <var title="">b</var> in <var title="">descendants</var> run the following
+    substeps:</p>
 
     <ol>
 
-     <li><p><span title="unload a document">Unload</span> the
-     <span>active document</span> of the <span>browsing context</span>
-     <var title="">b</var> with the <var title="">recycle</var>
+     <li><p><span title="unload a document">Unload</span> the <span>active document</span> of the
+     <span>browsing context</span> <var title="">b</var> with the <var title="">recycle</var>
      parameter set to false.</p></li>
 
-     <li><p>If <var
-     title="concept-document-salvageable">salvageable</var> state of
-     the <span>active document</span> of the <span>browsing
-     context</span> <var title="">b</var> is false, then set the <var
-     title="concept-document-salvageable">salvageable</var> state of
-     <em>this</em> document to false also.</p></li>
+     <li><p>If <var title="concept-document-salvageable">salvageable</var> state of the <span>active
+     document</span> of the <span>browsing context</span> <var title="">b</var> is false, then set
+     the <var title="concept-document-salvageable">salvageable</var> state of <em>this</em> document
+     to false also.</p></li>
 
     </ol>
 
@@ -84039,60 +83902,46 @@
 
   <h5>Definitions</h5>
 
-  <p>To coordinate events, user interaction, scripts, rendering,
-  networking, and so forth, user agents must use <dfn title="event
-  loop">event loops</dfn> as described in this section.</p>
+  <p>To coordinate events, user interaction, scripts, rendering, networking, and so forth, user
+  agents must use <dfn title="event loop">event loops</dfn> as described in this section.</p>
 
-  <p>There must be at least one <span>event loop</span> per user
-  agent, and at most one <span>event loop</span> per <span>unit of
-  related similar-origin browsing contexts</span>.</p>
+  <p>There must be at least one <span>event loop</span> per user agent, and at most one <span>event
+  loop</span> per <span>unit of related similar-origin browsing contexts</span>.</p>
 
-  <p class="note">When there is more than one <span>event loop</span>
-  for a <span>unit of related browsing contexts</span>, complications
-  arise when a <span>browsing context</span> in that group is <span
-  title="navigate">navigated</span> such that it switches from one
-  <span>unit of related similar-origin browsing contexts</span> to
-  another. This specification does not currently describe how to
-  handle these complications.</p>
+  <p class="note">When there is more than one <span>event loop</span> for a <span>unit of related
+  browsing contexts</span>, complications arise when a <span>browsing context</span> in that group
+  is <span title="navigate">navigated</span> such that it switches from one <span>unit of related
+  similar-origin browsing contexts</span> to another. This specification does not currently describe
+  how to handle these complications.</p>
 
-  <p>An <span>event loop</span> always has at least one <span>browsing
-  context</span>. If an <span>event loop</span>'s <span
-  title="browsing context">browsing contexts</span> all go away, then
-  the <span>event loop</span> goes away as well. A <span>browsing
-  context</span> always has an <span>event loop</span> coordinating
-  its activities.</p>
+  <p>An <span>event loop</span> always has at least one <span>browsing context</span>. If an
+  <span>event loop</span>'s <span title="browsing context">browsing contexts</span> all go away,
+  then the <span>event loop</span> goes away as well. A <span>browsing context</span> always has an
+  <span>event loop</span> coordinating its activities.</p>
 
-  <!--END complete-->
-  <p class="note">Other specifications can define new kinds of event
-  loops that aren't associated with browsing contexts; in particular,
-  the Web Workers specification does so.</p>
-  <!--START complete-->
+  <p>An <span>event loop</span> has one or more <dfn title="task queue">task queues</dfn>. A
+  <span>task queue</span> is an ordered list of <dfn title="concept-task">tasks</dfn>, which can
+  be:</p>
 
-  <p>An <span>event loop</span> has one or more <dfn title="task
-  queue">task queues</dfn>. A <span>task queue</span> is an ordered
-  list of <dfn title="concept-task">tasks</dfn>, which can be:</p>
-
   <dl>
 
    <dt>Events</dt>
 
    <dd>
 
-    <p>Asynchronously dispatching an <code>Event</code> object at a
-    particular <code>EventTarget</code> object is a task.</p>
+    <p>Asynchronously dispatching an <code>Event</code> object at a particular
+    <code>EventTarget</code> object is a task.</p>
 
-    <p class="note">Not all events are dispatched using the <span>task
-    queue</span>, many are dispatched synchronously during other
-    tasks.</p>
+    <p class="note">Not all events are dispatched using the <span>task queue</span>, many are
+    dispatched synchronously during other tasks.</p>
 
    </dd>
 
 
    <dt>Parsing</dt>
 
-   <dd><p>The <span>HTML parser</span> tokenizing one or more bytes,
-   and then processing any resulting tokens, is typically a
-   task.</p></dd>
+   <dd><p>The <span>HTML parser</span> tokenizing one or more bytes, and then processing any
+   resulting tokens, is typically a task.</p></dd>
 
 
    <dt>Callbacks</dt>
@@ -84102,89 +83951,71 @@
 
    <dt>Using a resource</dt>
 
-   <dd><p>When an algorithm <span title="fetch">fetches</span> a
-   resource, if the fetching occurs asynchronously then the processing
-   of the resource once some or all of the resource is available is a
-   task.</p></dd>
+   <dd><p>When an algorithm <span title="fetch">fetches</span> a resource, if the fetching occurs
+   asynchronously then the processing of the resource once some or all of the resource is available
+   is a task.</p></dd>
 
 
    <dt>Reacting to DOM manipulation</dt>
 
-   <dd><p>Some elements have tasks that trigger in response to DOM
-   manipulation, e.g. when that element is <span title="insert an
-   element into a document">inserted into the document</span>.</p>
+   <dd><p>Some elements have tasks that trigger in response to DOM manipulation, e.g. when that
+   element is <span title="insert an element into a document">inserted into the document</span>.</p>
 
   </dl>
 
-  <p>When a user agent is to <dfn>queue a task</dfn>, it must add the
-  given task to one of the <span title="task queue">task queues</span>
-  of the relevant <span>event loop</span>. All the tasks from one
-  particular <dfn>task source</dfn> (e.g. the callbacks generated by
-  timers, the events fired for mouse movements, the tasks queued for
-  the parser) must always be added to the same <span>task
-  queue</span>, but tasks from different <span title="task
-  source">task sources</span> may be placed in different <span
-  title="task queue">task queues</span>.</p>
+  <p>When a user agent is to <dfn>queue a task</dfn>, it must add the given task to one of the <span
+  title="task queue">task queues</span> of the relevant <span>event loop</span>. All the tasks from
+  one particular <dfn>task source</dfn> (e.g. the callbacks generated by timers, the events fired
+  for mouse movements, the tasks queued for the parser) must always be added to the same <span>task
+  queue</span>, but tasks from different <span title="task source">task sources</span> may be placed
+  in different <span title="task queue">task queues</span>.</p>
 
-  <p class="example">For example, a user agent could have one
-  <span>task queue</span> for mouse and key events (the <span>user
-  interaction task source</span>), and another for everything
-  else. The user agent could then give keyboard and mouse events
-  preference over other tasks three quarters of the time, keeping the
-  interface responsive but not starving other task queues, and never
-  processing events from any one <span>task source</span> out of
-  order.</p>
+  <p class="example">For example, a user agent could have one <span>task queue</span> for mouse and
+  key events (the <span>user interaction task source</span>), and another for everything else. The
+  user agent could then give keyboard and mouse events preference over other tasks three quarters of
+  the time, keeping the interface responsive but not starving other task queues, and never
+  processing events from any one <span>task source</span> out of order.</p>
 
-  <p>Each <span title="concept-task">task</span> that is <span
-  title="queue a task">queued</span> onto a <span>task queue</span> of
-  an <span>event loop</span> defined by this specification is
-  associated with a <code>Document</code>; if the task was queued in
-  the context of an element, then it is the element's
-  <code>Document</code>; if the task was queued in the context of a
-  <span>browsing context</span>, then it is the <span>browsing
-  context</span>'s <span>active document</span> at the time the task
-  was queued; if the task was queued by or for a <span
-  title="concept-script">script</span> then the document is the
-  <span>script's document</span>.</p>
+  <p>Each <span title="concept-task">task</span> that is <span title="queue a task">queued</span>
+  onto a <span>task queue</span> of an <span>event loop</span> defined by this specification is
+  associated with a <code>Document</code>; if the task was queued in the context of an element, then
+  it is the element's <code>Document</code>; if the task was queued in the context of a
+  <span>browsing context</span>, then it is the <span>browsing context</span>'s <span>active
+  document</span> at the time the task was queued; if the task was queued by or for a <span
+  title="concept-script">script</span> then the document is the <span>script's document</span>.</p>
 
-  <p>A user agent may have one <dfn>storage mutex</dfn>. This mutex is
-  used to control access to shared state like cookies. At any one
-  point, the <span>storage mutex</span> is either free, or owned by a
-  particular <span>event loop</span> or instance of the <span
+  <p>A user agent may have one <dfn>storage mutex</dfn>. This mutex is used to control access to
+  shared state like cookies. At any one point, the <span>storage mutex</span> is either free, or
+  owned by a particular <span>event loop</span> or instance of the <span
   title="fetch">fetching</span> algorithm.</p>
 
-  <p>If a user agent does not implement a <span>storage mutex</span>,
-  it is exempt from implementing the requirements that require it to
-  acquire or release it.</p>
+  <p>If a user agent does not implement a <span>storage mutex</span>, it is exempt from implementing
+  the requirements that require it to acquire or release it.</p>
 
-  <p class="note">User agent implementors have to make a choice
-  between two evils. On the one hand, not implementing the storage
-  mutex means that there is a risk of data corruption: a site could,
-  for instance, try to read a cookie, increment its value, then write
-  it back out, using the new value of the cookie as a unique
-  identifier for the session; if the site does this twice in two
-  different browser windows at the same time, it might end up using
-  the same "unique" identifier for both sessions, with potentially
-  disastrous effects. On the other hand, implementing the storage
-  mutex has potentially serious performance implications: whenever a
-  site uses Web Storage or cookies, all other sites that try to use
-  Web Storage or cookies are blocked until the first site finishes.</p>
+  <p class="note">User agent implementors have to make a choice between two evils. On the one hand,
+  not implementing the storage mutex means that there is a risk of data corruption: a site could,
+  for instance, try to read a cookie, increment its value, then write it back out, using the new
+  value of the cookie as a unique identifier for the session; if the site does this twice in two
+  different browser windows at the same time, it might end up using the same "unique" identifier for
+  both sessions, with potentially disastrous effects. On the other hand, implementing the storage
+  mutex has potentially serious performance implications: whenever a site uses Web Storage or
+  cookies, all other sites that try to use Web Storage or cookies are blocked until the first site
+  finishes.</p>
 
-  <p>Whenever a <span title="concept-script">script</span> calls into
-  a <span>plugin</span>, and whenever a <span>plugin</span> calls into
-  a <span title="concept-script">script</span>, the user agent must
-  release the <span>storage mutex</span>.</p>
+  <p>Whenever a <span title="concept-script">script</span> calls into a <span>plugin</span>, and
+  whenever a <span>plugin</span> calls into a <span title="concept-script">script</span>, the user
+  agent must release the <span>storage mutex</span>.</p>
 
 
   <h5>Processing model</h5>
 
-  <p>An <span>event loop</span> must continually run through the
-  following steps for as long as it exists:</p>
+  <p>An <span>event loop</span> must continually run through the following steps for as long as it
+  exists:</p>
 
   <ol>
 
    <!-- if you add a step here, make sure to go through the spec updating references to the "first
-   step" of the event loop -->
+   step" or "step 1" of the event loop -->
 
    <li><p>Run the oldest <span title="concept-task">task</span> on one of the <span>event
    loop</span>'s <span title="task queue">task queues</span>, if any, ignoring tasks whose
@@ -84204,34 +84035,29 @@
 
    <li><p><span>Provide a stable state</span>.</p></li>
 
-   <li><p>If necessary, update the rendering or user interface of any
-   <code>Document</code> or <span>browsing context</span> to reflect
-   the current state.</p></li>
+   <li><p>If necessary, update the rendering or user interface of any <code>Document</code> or
+   <span>browsing context</span> to reflect the current state.</p></li>
 
-   <li><p>Return to the first step of the <span>event
-   loop</span>.</p></li>
+   <li><p>Return to the first step of the <span>event loop</span>.</p></li>
 
   </ol>
 
   <hr>
 
-  <p>When a user agent is to <dfn>perform a microtask
-  checkpoint</dfn>, if the <span>running mutation observers</span>
-  flag is false, then the user agent must run the following steps:</p>
+  <p>When a user agent is to <dfn>perform a microtask checkpoint</dfn>, if the <span>running
+  mutation observers</span> flag is false, then the user agent must run the following steps:</p>
 
   <ol>
 
-   <li><p>Let the <span>running mutation observers</span> flag be
-   true.</p></li>
+   <li><p>Let the <span>running mutation observers</span> flag be true.</p></li>
 
    <li><p><span>Sort the tables with pending sorts</span>.</p></li>
 
    <li>
 
-    <p><span title="concept-mo-invoke">Invoke
-    <code>MutationObserver</code> objects</span> for the <span>unit
-    of related similar-origin browsing contexts</span> to which the
-    <span>script's browsing context</span> belongs.</p>
+    <p><span title="concept-mo-invoke">Invoke <code>MutationObserver</code> objects</span> for the
+    <span>unit of related similar-origin browsing contexts</span> to which the <span>script's
+    browsing context</span> belongs.</p>
 
     <p class="note">This will typically invoke scripted callbacks, which calls the <span>jump to a
     code entry-point</span> algorithm, which calls this <span>perform a microtask checkpoint</span>
@@ -84240,8 +84066,7 @@
 
    </li>
 
-   <li><p>Let the <span>running mutation observers</span> flag be
-   false.</p></li>
+   <li><p>Let the <span>running mutation observers</span> flag be false.</p></li>
 
   </ol>
 
@@ -84261,34 +84086,28 @@
 
   <hr>
 
-  <p>When an algorithm says to <dfn>spin the event loop</dfn> until
-  a condition <var title="">goal</var> is met, the user agent must run
-  the following steps:</p>
+  <p>When an algorithm says to <dfn>spin the event loop</dfn> until a condition <var
+  title="">goal</var> is met, the user agent must run the following steps:</p>
 
   <ol>
 
-   <li><p>Let <var title="">task source</var> be the <span>task
-   source</span> of the currently running <span
-   title="concept-task">task</span>.</p></li>
+   <li><p>Let <var title="">task source</var> be the <span>task source</span> of the currently
+   running <span title="concept-task">task</span>.</p></li>
 
    <li>
 
-    <p>Stop the currently running <span
-    title="concept-task">task</span>, allowing the <span>event
-    loop</span> to resume, but continue these steps
-    asynchronously.</p>
+    <p>Stop the currently running <span title="concept-task">task</span>, allowing the <span>event
+    loop</span> to resume, but continue these steps asynchronously.</p>
 
-    <p class="note">This causes the <span>event loop</span> to move on
-    to the second step of its processing model (defined above).</p>
+    <p class="note">This causes the <span>event loop</span> to move on to the second step of its
+    processing model (defined above).</p>
 
    </li>
 
-   <li><p>Wait until the condition <var title="">goal</var> is
-   met.</p></li>
+   <li><p>Wait until the condition <var title="">goal</var> is met.</p></li>
 
-   <li><p><span>Queue a task</span> to continue running these steps,
-   using the <span>task source</span> <var title="">task
-   source</var>. Wait until this task runs before continuing these
+   <li><p><span>Queue a task</span> to continue running these steps, using the <span>task
+   source</span> <var title="">task source</var>. Wait until this task runs before continuing these
    steps.</p></li>
 
    <li><p>Return to the caller.</p></li>
@@ -84297,50 +84116,41 @@
 
   <hr>
 
-  <p>Some of the algorithms in this specification, for historical
-  reasons, require the user agent to <dfn>pause</dfn> while running a
-  <span title="concept-task">task</span> until a condition <var
-  title="">goal</var> is met. This means running the following
-  steps:</p>
+  <p>Some of the algorithms in this specification, for historical reasons, require the user agent to
+  <dfn>pause</dfn> while running a <span title="concept-task">task</span> until a condition <var
+  title="">goal</var> is met. This means running the following steps:</p>
 
   <ol>
 
-   <li><p>If any asynchronously-running algorithms are <span
-   title="await a stable state">awaiting a stable state</span>, then
-   run their <span>synchronous section</span> and then resume running
-   their asynchronous algorithm. (See the <span>event loop</span>
-   processing model definition above for details.)</p>
+   <li><p>If any asynchronously-running algorithms are <span title="await a stable state">awaiting a
+   stable state</span>, then run their <span>synchronous section</span> and then resume running
+   their asynchronous algorithm. (See the <span>event loop</span> processing model definition above
+   for details.)</p>
 
-   <li><p>If necessary, update the rendering or user interface of any
-   <code>Document</code> or <span>browsing context</span> to reflect
-   the current state.</p></li>
+   <li><p>If necessary, update the rendering or user interface of any <code>Document</code> or
+   <span>browsing context</span> to reflect the current state.</p></li>
 
-   <li><p>Wait until the condition <var title="">goal</var> is met.
-   While a user agent has a paused <span
-   title="concept-task">task</span>, the corresponding <span>event
-   loop</span> must not run further <span
-   title="concept-task">tasks</span>, and any script in the currently
-   running <span title="concept-task">task</span> must block. User
-   agents should remain responsive to user input while paused,
-   however, albeit in a reduced capacity since the <span>event
-   loop</span> will not be doing anything.</p></li>
+   <li><p>Wait until the condition <var title="">goal</var> is met. While a user agent has a paused
+   <span title="concept-task">task</span>, the corresponding <span>event loop</span> must not run
+   further <span title="concept-task">tasks</span>, and any script in the currently running <span
+   title="concept-task">task</span> must block. User agents should remain responsive to user input
+   while paused, however, albeit in a reduced capacity since the <span>event loop</span> will not be
+   doing anything.</p></li>
 
   </ol>
 
   <hr>
 
-  <p>When a user agent is to <dfn>obtain the storage mutex</dfn> as
-  part of running a <span title="concept-task">task</span>, it must
-  run through the following steps:</p>
+  <p>When a user agent is to <dfn>obtain the storage mutex</dfn> as part of running a <span
+  title="concept-task">task</span>, it must run through the following steps:</p>
 
   <ol>
 
-   <li><p>If the <span>storage mutex</span> is already owned by this
-   <span title="concept-task">task</span>'s <span>event loop</span>,
-   then abort these steps.</p></li>
+   <li><p>If the <span>storage mutex</span> is already owned by this <span
+   title="concept-task">task</span>'s <span>event loop</span>, then abort these steps.</p></li>
 
-   <li><p>Otherwise, <span>pause</span> until the <span>storage
-   mutex</span> can be taken by the <span>event loop</span>.</p></li>
+   <li><p>Otherwise, <span>pause</span> until the <span>storage mutex</span> can be taken by the
+   <span>event loop</span>.</p></li>
 
    <li><p>Take ownership of the <span>storage mutex</span>.</p></li>
 
@@ -84353,9 +84163,8 @@
 
   <h5>Generic task sources</h5>
 
-  <p>The following <span title="task source">task sources</span> are
-  used by a number of mostly unrelated features in this and other
-  specifications.</p>
+  <p>The following <span title="task source">task sources</span> are used by a number of mostly
+  unrelated features in this and other specifications.</p>
 
   <dl>
 
@@ -84363,9 +84172,8 @@
 
    <dd>
 
-    <p>This <span>task source</span> is used for features that react
-    to DOM manipulations, such as things that happen asynchronously
-    when an element is <span title="insert an element into a
+    <p>This <span>task source</span> is used for features that react to DOM manipulations, such as
+    things that happen asynchronously when an element is <span title="insert an element into a
     document">inserted into the document</span>.</p>
 
    </dd>
@@ -84374,15 +84182,14 @@
 
    <dd>
 
-    <p>This <span>task source</span> is used for features that react
-    to user interaction, for example keyboard or mouse input.</p>
+    <p>This <span>task source</span> is used for features that react to user interaction, for
+    example keyboard or mouse input.</p>
 
     <p>Asynchronous events sent in response to user input (e.g. <code
-    title="event-click">click</code> events) must be fired using
-    <span title="concept-task">tasks</span> <span title="queue a
-    task">queued</span> with the <span>user interaction task
-    source</span>. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p>
-    <!-- user interaction events integration point -->
+    title="event-click">click</code> events) must be fired using <span
+    title="concept-task">tasks</span> <span title="queue a task">queued</span> with the <span>user
+    interaction task source</span>. <a href="#refsDOMEVENTS">[DOMEVENTS]</a></p> <!-- user
+    interaction events integration point -->
 
    </dd>
 
@@ -84390,11 +84197,9 @@
 
    <dd>
 
-    <p>This <span>task source</span> is used for features that trigger
-    in response to network activity.</p>
+    <p>This <span>task source</span> is used for features that trigger in response to network
+    activity.</p>
 
-    <!-- XHR should use this -->
-
    </dd>
 
    <dt>The <dfn>history traversal task source</dfn></dt>
@@ -84402,8 +84207,7 @@
    <dd>
 
     <p>This <span>task source</span> is used to queue calls to <code
-    title="dom-history-back">history.back()</code> and similar
-    APIs.</p>
+    title="dom-history-back">history.back()</code> and similar APIs.</p>
 
    </dd>
 
@@ -86019,14 +85823,13 @@
 
   <div class="impl">
 
-  <p>The <dfn title="dom-alert"><code>alert(<var
-  title="">message</var>)</code></dfn> method, when invoked, must run
-  the following steps:</p>
+  <p>The <dfn title="dom-alert"><code>alert(<var title="">message</var>)</code></dfn> method, when
+  invoked, must run the following steps:</p>
 
   <ol>
 
-   <li><p>If the <span>event loop</span>'s <span>termination nesting
-   level</span> is non-zero, optionally abort these steps.</p></li>
+   <li><p>If the <span>event loop</span>'s <span>termination nesting level</span> is non-zero,
+   optionally abort these steps.</p></li>
 
    <li><p>Release the <span>storage mutex</span>.</p></li>
 
@@ -86034,23 +85837,20 @@
    to ignore all alerts, and would thus abort at this step whenever the method was
    invoked.)</p></li>
 
-   <li><p>Show the given <var title="">message</var> to the
-   user.</p></li>
+   <li><p>Show the given <var title="">message</var> to the user.</p></li>
 
-   <li><p>Optionally, <span>pause</span> while waiting for for the
-   user to acknowledge the message.</p></li>
+   <li><p>Optionally, <span>pause</span> while waiting for for the user to acknowledge the
+   message.</p></li>
 
   </ol>
 
-  <p>The <dfn title="dom-confirm"><code>confirm(<var
-  title="">message</var>)</code></dfn> method, when invoked, must run
-  the following steps:</p>
+  <p>The <dfn title="dom-confirm"><code>confirm(<var title="">message</var>)</code></dfn> method,
+  when invoked, must run the following steps:</p>
 
   <ol>
 
-   <li><p>If the <span>event loop</span>'s <span>termination nesting
-   level</span> is non-zero, optionally abort these steps, returning
-   false.</p></li>
+   <li><p>If the <span>event loop</span>'s <span>termination nesting level</span> is non-zero,
+   optionally abort these steps, returning false.</p></li>
 
    <li><p>Release the <span>storage mutex</span>.</p></li>
 
@@ -86058,27 +85858,23 @@
    the user the option to ignore all prompts, and would thus abort at this step whenever the method
    was invoked.)</p></li>
 
-   <li><p>Show the given <var title="">message</var> to the user, and
-   ask the user to respond with a positive or negative
-   response.</p></li>
+   <li><p>Show the given <var title="">message</var> to the user, and ask the user to respond with a
+   positive or negative response.</p></li>
 
-   <li><p><span>Pause</span> until the user responds either positively
-   or negatively.</p></li>
+   <li><p><span>Pause</span> until the user responds either positively or negatively.</p></li>
 
-   <li><p>If the user responded positively, return true; otherwise,
-   the user responded negatively: return false.</p></li>
+   <li><p>If the user responded positively, return true; otherwise, the user responded negatively:
+   return false.</p></li>
 
   </ol>
 
-  <p>The <dfn title="dom-prompt"><code>prompt(<var
-  title="">message</var>, <var title="">default</var>)</code></dfn>
-  method, when invoked, must run the following steps:</p>
+  <p>The <dfn title="dom-prompt"><code>prompt(<var title="">message</var>, <var
+  title="">default</var>)</code></dfn> method, when invoked, must run the following steps:</p>
 
   <ol>
 
-   <li><p>If the <span>event loop</span>'s <span>termination nesting
-   level</span> is non-zero, optionally abort these steps, returning
-   null.</p></li>
+   <li><p>If the <span>event loop</span>'s <span>termination nesting level</span> is non-zero,
+   optionally abort these steps, returning null.</p></li>
 
    <li><p>Release the <span>storage mutex</span>.</p></li>
 
@@ -86086,18 +85882,15 @@
    user the option to ignore all prompts, and would thus abort at this step whenever the method was
    invoked.)</p></li>
 
-   <li><p>Show the given <var title="">message</var> to the user, and
-   ask the user to either respond with a string value or abort. The
-   second argument is optional. If the second argument (<var
-   title="">default</var>) is present, then the response must be
-   defaulted to the value given by <var
-   title="">default</var>.</p></li>
+   <li><p>Show the given <var title="">message</var> to the user, and ask the user to either respond
+   with a string value or abort. The second argument is optional. If the second argument (<var
+   title="">default</var>) is present, then the response must be defaulted to the value given by
+   <var title="">default</var>.</p></li>
 
-   <li><p><span>Pause</span> while waiting for the user's
-   response.</p></li>
+   <li><p><span>Pause</span> while waiting for the user's response.</p></li>
 
-   <li><p>If the user aborts, then return null; otherwise, return the
-   string that the user responded with.</p></li>
+   <li><p>If the user aborts, then return null; otherwise, return the string that the user responded
+   with.</p></li>
 
   </ol>
 
@@ -86264,29 +86057,24 @@
 
    <li>
 
-    <p>If the user agent is configured such that this invocation of
-    <code title="dom-showModalDialog">showModalDialog()</code> is
-    somehow disabled, then return the empty string and abort these
-    steps.</p>
+    <p>If the user agent is configured such that this invocation of <code
+    title="dom-showModalDialog">showModalDialog()</code> is somehow disabled, then return the empty
+    string and abort these steps.</p>
 
-    <p class="note">User agents are expected to disable this method in
-    certain cases to avoid user annoyance (e.g. as part of their popup
-    blocker feature). For instance, a user agent could require that a
-    site be white-listed before enabling this method, or the user
-    agent could be configured to only allow one modal dialog at a
-    time.</p>
+    <p class="note">User agents are expected to disable this method in certain cases to avoid user
+    annoyance (e.g. as part of their popup blocker feature). For instance, a user agent could
+    require that a site be white-listed before enabling this method, or the user agent could be
+    configured to only allow one modal dialog at a time.</p>
 
    </li>
 
    <li>
 
-    <p>If the <span>active sandboxing flag set</span>
-    of the <span>active document</span>
-    of the <span title="script's browsing context">browsing context</span>
-    of the <span title="concept-script">script</span> that invoked the method
-    has its
-    <span>sandboxed auxiliary navigation browsing context flag</span>
-    set, then return the empty string and abort these steps.</p>
+    <p>If the <span>active sandboxing flag set</span> of the <span>active document</span> of the
+    <span title="script's browsing context">browsing context</span> of the <span
+    title="concept-script">script</span> that invoked the method has its <span>sandboxed auxiliary
+    navigation browsing context flag</span> set, then return the empty string and abort these
+    steps.</p>
 
    </li>
 
@@ -86297,20 +86085,16 @@
 
     <ul>
 
-     <li>are part of the same <span>unit of related browsing
-     contexts</span> as the browsing context of the
-     <code>Window</code> object on which the <code
-     title="dom-showModalDialog">showModalDialog()</code> method was
-     called, and that</li>
+     <li>are part of the same <span>unit of related browsing contexts</span> as the browsing context
+     of the <code>Window</code> object on which the <code
+     title="dom-showModalDialog">showModalDialog()</code> method was called, and that</li>
 
-     <li>have an <span>active document</span> whose
-     <span>origin</span> is the <span title="same origin">same</span>
-     as the <span>origin</span> of the <span
+     <li>have an <span>active document</span> whose <span>origin</span> is the <span title="same
+     origin">same</span> as the <span>origin</span> of the <span
      title="concept-script">script</span> that called the <code
-     title="dom-showModalDialog">showModalDialog()</code> method at
-     the time the method was called,</li> <!-- Note that changing
-     document.domain to talk to another domain doesn't make you able
-     to block that domain -->
+     title="dom-showModalDialog">showModalDialog()</code> method at the time the method was
+     called,</li> <!-- Note that changing document.domain to talk to another domain doesn't make you
+     able to block that domain -->
 
     </ul>
 
@@ -86321,59 +86105,49 @@
 
    <li>
 
-    <p>Disable the user interface for all the browsing contexts in
-    <var title="">the list of background browsing contexts</var>. This
-    should prevent the user from navigating those browsing contexts,
-    causing events to be sent to those browsing context, or editing
-    any content in those browsing contexts. However, it does not
-    prevent those browsing contexts from receiving events from sources
-    other than the user, from running scripts, from running
-    animations, and so forth.</p>
+    <p>Disable the user interface for all the browsing contexts in <var title="">the list of
+    background browsing contexts</var>. This should prevent the user from navigating those browsing
+    contexts, causing events to be sent to those browsing context, or editing any content in those
+    browsing contexts. However, it does not prevent those browsing contexts from receiving events
+    from sources other than the user, from running scripts, from running animations, and so
+    forth.</p>
 
    </li>
 
    <li>
 
-    <p>Create a new <span>auxiliary browsing context</span>, with the
-    <span>opener browsing context</span> being the browsing context of
-    the <code>Window</code> object on which the <code
-    title="dom-showModalDialog">showModalDialog()</code> method was
-    called. The new auxiliary browsing context has no name.</p>
+    <p>Create a new <span>auxiliary browsing context</span>, with the <span>opener browsing
+    context</span> being the browsing context of the <code>Window</code> object on which the <code
+    title="dom-showModalDialog">showModalDialog()</code> method was called. The new auxiliary
+    browsing context has no name.</p>
 
-    <p class="note">This <span>browsing context</span>'s
-    <code>Document</code>s' <code>Window</code> objects all implement
-    the <code>WindowModal</code> interface.</p>
+    <p class="note">This <span>browsing context</span>'s <code>Document</code>s' <code>Window</code>
+    objects all implement the <code>WindowModal</code> interface.</p>
 
    </li>
 
    <li>
 
-    <p>Set all the flags
-    in the new browsing context's <span>popup sandboxing flag set</span>
-    that are set in the
-    <span>active sandboxing flag set</span>
-    of the <span>active document</span>
-    of the <span title="script's browsing context">browsing context</span>
-    of the <span title="concept-script">script</span> that invoked the method.
-    The <span title="script's browsing context">browsing context</span>
-    of the <span title="concept-script">script</span> that invoked the method
-    must be set as the new browsing context's
-    <span>one permitted sandboxed navigator</span>.</p>
+    <p>Set all the flags in the new browsing context's <span>popup sandboxing flag set</span> that
+    are set in the <span>active sandboxing flag set</span> of the <span>active document</span> of
+    the <span title="script's browsing context">browsing context</span> of the <span
+    title="concept-script">script</span> that invoked the method. The <span title="script's browsing
+    context">browsing context</span> of the <span title="concept-script">script</span> that invoked
+    the method must be set as the new browsing context's <span>one permitted sandboxed
+    navigator</span>.</p>
 
    </li>
 
    <li>
 
-    <p>Let the <span>dialog arguments</span> of the new browsing
-    context be set to the value of <var title="">argument</var>, or
-    the 'undefined' value if the argument was omitted.</p>
+    <p>Let the <span>dialog arguments</span> of the new browsing context be set to the value of <var
+    title="">argument</var>, or the 'undefined' value if the argument was omitted.</p>
 
    </li>
 
    <li>
 
-    <p>Let the <span>dialog arguments' origin</span> be the
-    <span>origin</span> of the <span
+    <p>Let the <span>dialog arguments' origin</span> be the <span>origin</span> of the <span
     title="concept-script">script</span> that called the <code
     title="dom-showModalDialog">showModalDialog()</code> method.</p>
 
@@ -86381,52 +86155,46 @@
 
    <li>
 
-    <p><span>Navigate</span><!--DONAV showModalDialog--> the new
-    <span>browsing context</span> to the <span>absolute URL</span>
-    that resulted from <span title="resolve a url">resolving</span>
-    <var title="">url</var> earlier, with <span>replacement
-    enabled</span>, and with the <span title="script's browsing
-    context">browsing context</span> of the <span
-    title="concept-script">script</span> that invoked the method as
-    the <span>source browsing context</span>.</p>
+    <p><span>Navigate</span><!--DONAV showModalDialog--> the new <span>browsing context</span> to
+    the <span>absolute URL</span> that resulted from <span title="resolve a url">resolving</span>
+    <var title="">url</var> earlier, with <span>replacement enabled</span>, and with the <span
+    title="script's browsing context">browsing context</span> of the <span
+    title="concept-script">script</span> that invoked the method as the <span>source browsing
+    context</span>.</p>
 
    </li>
 
    <li>
 
-    <p><span>Spin the event loop</span> until the new <span>browsing
-    context</span> is closed. (The user agent must allow the user to
-    indicate that the <span>browsing context</span> is to be
+    <p><span>Spin the event loop</span> until the new <span>browsing context</span> is closed. (The
+    user agent must allow the user to indicate that the <span>browsing context</span> is to be
     closed.)</p>
 
    </li>
 
    <li>
 
-    <p>Reenable the user interface for all the browsing contexts in
-    <var title="">the list of background browsing contexts</var>.</p>
+    <p>Reenable the user interface for all the browsing contexts in <var title="">the list of
+    background browsing contexts</var>.</p>
 
    </li>
 
    <li>
 
-    <p>Return the <span>auxiliary browsing context</span>'s
-    <span>return value</span>.</p>
+    <p>Return the <span>auxiliary browsing context</span>'s <span>return value</span>.</p>
 
    </li>
 
   </ol>
 
-  <p>The <code>Window</code> objects of <code>Document</code>s hosted
-  by <span title="browsing context">browsing contexts</span> created
-  by the above algorithm must also implement the
+  <p>The <code>Window</code> objects of <code>Document</code>s hosted by <span title="browsing
+  context">browsing contexts</span> created by the above algorithm must also implement the
   <code>WindowModal</code> interface.</p>
 
-  <p class="note">When this happens, the members of the
-  <code>WindowModal</code> interface, in JavaScript environments,
-  appear to actually be part of the <code>Window</code> interface
-  (e.g. they are on the same prototype chain as the <code
-  title="dom-alert">window.alert()</code> method).</p>
+  <p class="note">When this happens, the members of the <code>WindowModal</code> interface, in
+  JavaScript environments, appear to actually be part of the <code>Window</code> interface (e.g.
+  they are on the same prototype chain as the <code title="dom-alert">window.alert()</code>
+  method).</p>
 
   </div>
 
@@ -86441,8 +86209,7 @@
 
    <dd>
 
-    <p>Returns the <var title="">argument</var> argument that was
-    passed to the <code
+    <p>Returns the <var title="">argument</var> argument that was passed to the <code
     title="dom-showModalDialog">showModalDialog()</code> method.</p>
 
    </dd>
@@ -86453,9 +86220,8 @@
 
     <p>Returns the current return value for the window.</p>
 
-    <p>Can be set, to change the value that will be returned by the
-    <code title="dom-showModalDialog">showModalDialog()</code>
-    method.</p>
+    <p>Can be set, to change the value that will be returned by the <code
+    title="dom-showModalDialog">showModalDialog()</code> method.</p>
 
    </dd>
 
@@ -86463,42 +86229,31 @@
 
   <div class="impl">
 
-  <p>Such browsing contexts have associated <dfn>dialog
-  arguments</dfn>, which are stored along with the <dfn>dialog
-  arguments' origin</dfn>. These values are set by the <code
-  title="dom-showModalDialog">showModalDialog()</code> method in the
-  algorithm above, when the browsing context is created, based on the
-  arguments provided to the method.</p>
+  <p>Such browsing contexts have associated <dfn>dialog arguments</dfn>, which are stored along with
+  the <dfn>dialog arguments' origin</dfn>. These values are set by the <code
+  title="dom-showModalDialog">showModalDialog()</code> method in the algorithm above, when the
+  browsing context is created, based on the arguments provided to the method.</p>
 
-  <p>The <dfn
-  title="dom-WindowModal-dialogArguments"><code>dialogArguments</code></dfn>
-  IDL attribute, on getting, must check whether its browsing context's
-  <span>active document</span>'s <span>origin</span> is the <span
-  title="same origin">same</span> as the <span>dialog arguments'
-  origin</span>. If it is, then the browsing context's <span>dialog
-  arguments</span> must be returned unchanged. Otherwise, if the
-  <span>dialog arguments</span> are an object, then the empty string
-  must be returned, and if the <span>dialog arguments</span> are not
-  an object, then the stringification of the <span>dialog
-  arguments</span> must be returned.
+  <p>The <dfn title="dom-WindowModal-dialogArguments"><code>dialogArguments</code></dfn> IDL
+  attribute, on getting, must check whether its browsing context's <span>active document</span>'s
+  <span>origin</span> is the <span title="same origin">same</span> as the <span>dialog arguments'
+  origin</span>. If it is, then the browsing context's <span>dialog arguments</span> must be
+  returned unchanged. Otherwise, if the <span>dialog arguments</span> are an object, then the empty
+  string must be returned, and if the <span>dialog arguments</span> are not an object, then the
+  stringification of the <span>dialog arguments</span> must be returned.
 
-  <p>These browsing contexts also have an associated <dfn>return
-  value</dfn>. The <span>return value</span> of a browsing context
-  must be initialized to the empty string when the browsing context is
-  created.</p>
+  <p>These browsing contexts also have an associated <dfn>return value</dfn>. The <span>return
+  value</span> of a browsing context must be initialized to the empty string when the browsing
+  context is created.</p>
 
-  <p>The <dfn
-  title="dom-WindowModal-returnValue"><code>returnValue</code></dfn>
-  IDL attribute, on getting, must return the <span>return value</span>
-  of its browsing context, and on setting, must set the <span>return
-  value</span> to the given new value.</p>
+  <p>The <dfn title="dom-WindowModal-returnValue"><code>returnValue</code></dfn> IDL attribute, on
+  getting, must return the <span>return value</span> of its browsing context, and on setting, must
+  set the <span>return value</span> to the given new value.</p>
 
   </div>
 
-  <p class="note">The <code
-  title="dom-window-close">window.close()</code> method can be used to
+  <p class="note">The <code title="dom-window-close">window.close()</code> method can be used to
   close the browsing context.</p>
-<!--TOPIC:HTML-->
 
 
 <!--TOPIC:DOM APIs-->
@@ -86508,12 +86263,10 @@
 
   <div class="impl">
 
-  <p>The <dfn title="dom-navigator"><code>navigator</code></dfn>
-  attribute of the <code>Window</code> interface must return an
-  instance of the <code>Navigator</code> interface, which represents
-  the identity and state of the user agent (the client), and allows
-  Web pages to register themselves as potential protocol and content
-  handlers:</p>
+  <p>The <dfn title="dom-navigator"><code>navigator</code></dfn> attribute of the
+  <code>Window</code> interface must return an instance of the <code>Navigator</code> interface,
+  which represents the identity and state of the user agent (the client), and allows Web pages to
+  register themselves as potential protocol and content handlers:</p>
 
   </div>
 
@@ -86535,9 +86288,8 @@
 
   <div class="impl">
 
-  <p>These interfaces are defined separately so that other
-  specifications can re-use parts of the <code>Navigator</code>
-  interface.</p>
+  <p>These interfaces are defined separately so that other specifications can re-use parts of the
+  <code>Navigator</code> interface.</p>
 
   </div>
 
@@ -87420,12 +87172,10 @@
   <div class="impl">
 
    <p>The <dfn
-   title="dom-navigator-yieldForStorageUpdates"><code>yieldForStorageUpdates()</code></dfn>
-   method, when invoked, must, if the <span>storage mutex</span> is
-   owned by the <span>event loop</span> of the <span
-   title="concept-task">task</span> that resulted in the method being
-   called, release the <span>storage mutex</span> so that it is once
-   again free. Otherwise, it must do nothing.</p>
+   title="dom-navigator-yieldForStorageUpdates"><code>yieldForStorageUpdates()</code></dfn> method,
+   when invoked, must, if the <span>storage mutex</span> is owned by the <span>event loop</span> of
+   the <span title="concept-task">task</span> that resulted in the method being called, release the
+   <span>storage mutex</span> so that it is once again free. Otherwise, it must do nothing.</p>
 
   </div>
 
@@ -87434,10 +87184,9 @@
 
   <div class="impl">
 
-  <p>The <dfn title="dom-external"><code>external</code></dfn>
-  attribute of the <code>Window</code> interface must return an
-  instance of the <code>External</code> interface. The same object
-  must be returned each time.</p>
+  <p>The <dfn title="dom-external"><code>external</code></dfn> attribute of the <code>Window</code>
+  interface must return an instance of the <code>External</code> interface. The same object must be
+  returned each time.</p>
 
   </div>
 
@@ -92857,49 +92606,41 @@
            attribute <span>EventHandler</span> <span title="handler-WorkerGlobalScope-ononline">ononline</span>;
 };</pre>
 
-  <p>The <dfn
-  title="dom-WorkerGlobalScope-self"><code>self</code></dfn> attribute
-  must return the <code>WorkerGlobalScope</code> object itself.</p>
+  <p>The <dfn title="dom-WorkerGlobalScope-self"><code>self</code></dfn> attribute must return the
+  <code>WorkerGlobalScope</code> object itself.</p>
 
-  <p>The <dfn
-  title="dom-WorkerGlobalScope-location"><code>location</code></dfn>
-  attribute must return the <code>WorkerLocation</code> object created
-  for the <code>WorkerGlobalScope</code> object when the worker was
-  created. It represents the <span>absolute URL</span> of the script
-  that was used to initialize the worker, after any redirects.</p>
+  <p>The <dfn title="dom-WorkerGlobalScope-location"><code>location</code></dfn> attribute must
+  return the <code>WorkerLocation</code> object created for the <code>WorkerGlobalScope</code>
+  object when the worker was created. It represents the <span>absolute URL</span> of the script that
+  was used to initialize the worker, after any redirects.</p>
 
   <hr>
 
-  <p>When a script invokes the <dfn
-  title="dom-WorkerGlobalScope-close"><code>close()</code></dfn>
-  method on a <code>WorkerGlobalScope</code> object, the user agent
-  must run the following steps (atomically):</p>
+  <p>When a script invokes the <dfn title="dom-WorkerGlobalScope-close"><code>close()</code></dfn>
+  method on a <code>WorkerGlobalScope</code> object, the user agent must run the following steps
+  (atomically):</p>
 
   <ol>
 
-   <li><p>Discard any <span title="concept-task">tasks</span> that
-   have been added to the <span>event loop</span>'s <span title="task
-   queue">task queues</span>.</p>
+   <li><p>Discard any <span title="concept-task">tasks</span> that have been added to the
+   <span>event loop</span>'s <span title="task queue">task queues</span>.</p>
 
 <!-- v2-onclose
-   <li><p><span>Queue a task</span> to <span>fire a simple
-   event</span> named <code title="event-worker-close">close</code> at the
-   <code>WorkerGlobalScope</code> object.</p></li>
+   <li><p><span>Queue a task</span> to <span>fire a simple event</span> named <code
+   title="event-worker-close">close</code> at the <code>WorkerGlobalScope</code> object.</p></li>
 -->
 
-   <li><p>Set the worker's <code>WorkerGlobalScope</code> object's
-   <span title="dom-WorkerGlobalScope-closing">closing</span> flag to
-   true. (This prevents any further tasks from being queued.)</p></li>
+   <li><p>Set the worker's <code>WorkerGlobalScope</code> object's <span
+   title="dom-WorkerGlobalScope-closing">closing</span> flag to true. (This prevents any further
+   tasks from being queued.)</p></li>
 
   </ol>
 
   <hr>
 
-  <p>The following are the <span>event handlers</span> (and their
-  corresponding <span title="event handler event type">event handler
-  event types</span>) that must be supported, as IDL attributes, by
-  objects implementing the <code>WorkerGlobalScope</code>
-  interface:</p>
+  <p>The following are the <span>event handlers</span> (and their corresponding <span title="event
+  handler event type">event handler event types</span>) that must be supported, as IDL attributes,
+  by objects implementing the <code>WorkerGlobalScope</code> interface:</p>
 
   <table>
    <thead>
@@ -93030,168 +92771,131 @@
 
   <h4>The event loop</h4>
 
-  <p>Each <code>WorkerGlobalScope</code> object has an <span>event
-  loop</span> distinct from those defined for <span title="unit of
-  related similar-origin browsing contexts">units of related
-  similar-origin browsing contexts</span>. This <span>event
-  loop</span> has no associated <span>browsing context</span>, and its
-  <span title="task queue">task queues</span> only have events,
-  callbacks, and networking activity as <span
-  title="concept-task">tasks</span>. The processing model of these
-  <span title="event loop">event loops</span> is defined below in the
+  <p>Each <code>WorkerGlobalScope</code> object has an <span>event loop</span> distinct from those
+  defined for <span title="unit of related similar-origin browsing contexts">units of related
+  similar-origin browsing contexts</span>. This <span>event loop</span> has no associated
+  <span>browsing context</span>, and its <span title="task queue">task queues</span> only have
+  events, callbacks, and networking activity as <span title="concept-task">tasks</span>. The
+  processing model of these <span title="event loop">event loops</span> is defined below in the
   <span>run a worker</span> algorithm.</p>
 
   <p>Each <code>WorkerGlobalScope</code> object also has a <dfn
-  title="dom-WorkerGlobalScope-closing">closing</dfn> flag, which must
-  initially be false, but which can get set to true by the algorithms
-  in the processing model section below.</p>
+  title="dom-WorkerGlobalScope-closing">closing</dfn> flag, which must initially be false, but which
+  can get set to true by the algorithms in the processing model section below.</p>
 
   <p>Once the <code>WorkerGlobalScope</code>'s <span
-  title="dom-WorkerGlobalScope-closing">closing</span> flag is set to
-  true, the <span>event loop</span>'s <span title="task queue">task
-  queues</span> must discard any further <span
-  title="concept-task">tasks</span> that would be added to them (tasks
-  already on the queue are unaffected except where otherwise
-  specified). Effectively, once the <span
-  title="dom-WorkerGlobalScope-closing">closing</span> flag is true,
-  timers stop firing, notifications for all pending asynchronous
-  operations are dropped, etc.</p>
+  title="dom-WorkerGlobalScope-closing">closing</span> flag is set to true, the <span>event
+  loop</span>'s <span title="task queue">task queues</span> must discard any further <span
+  title="concept-task">tasks</span> that would be added to them (tasks already on the queue are
+  unaffected except where otherwise specified). Effectively, once the <span
+  title="dom-WorkerGlobalScope-closing">closing</span> flag is true, timers stop firing,
+  notifications for all pending asynchronous operations are dropped, etc.</p>
 
 
 
   <h4>The worker's lifetime</h4>
 
-  <p>Workers communicate with other workers and with <span
-  title="browsing context">browsing contexts</span> through <span
-  title="channel messaging">message channels</span> and their
+  <p>Workers communicate with other workers and with <span title="browsing context">browsing
+  contexts</span> through <span title="channel messaging">message channels</span> and their
   <code>MessagePort</code> objects.</p>
 
-  <p>Each <code>WorkerGlobalScope</code> <var title="">worker global
-  scope</var> has a list of <dfn>the worker's ports</dfn>, which
-  consists of all the <code>MessagePort</code> objects that are
-  entangled with another port and that have one (but only one) port
-  owned by <var title="">worker global scope</var>. This list includes
-  <!--all the <code>MessagePort</code> objects that are in events
-  pending in the <span>event loop</span>, as well as (commented out
-  because in practice it makes no difference either way as far as I
-  can tell, and it would be hard to strictly implement since these
-  ports might not yet be across the thread boundary)--> the implicit
-  <code>MessagePort</code> in the case of <span
-  title="DedicatedWorkerGlobalScope">dedicated workers</span>.</p>
+  <p>Each <code>WorkerGlobalScope</code> <var title="">worker global scope</var> has a list of
+  <dfn>the worker's ports</dfn>, which consists of all the <code>MessagePort</code> objects that are
+  entangled with another port and that have one (but only one) port owned by <var title="">worker
+  global scope</var>. This list includes <!--all the <code>MessagePort</code> objects that are in
+  events pending in the <span>event loop</span>, as well as (commented out because in practice it
+  makes no difference either way as far as I can tell, and it would be hard to strictly implement
+  since these ports might not yet be across the thread boundary)--> the implicit
+  <code>MessagePort</code> in the case of <span title="DedicatedWorkerGlobalScope">dedicated
+  workers</span>.</p>
 
-  <p>Each <code>WorkerGlobalScope</code> also has a list of <dfn>the
-  worker's workers</dfn>. Initially this list is empty; it is
-  populated when the worker creates or obtains further workers.</p>
+  <p>Each <code>WorkerGlobalScope</code> also has a list of <dfn>the worker's workers</dfn>.
+  Initially this list is empty; it is populated when the worker creates or obtains further
+  workers.</p>
 
-  <p>Finally, each <code>WorkerGlobalScope</code> also has a list of
-  <dfn>the worker's <code>Document</code>s</dfn>. Initially this list
-  is empty; it is populated when the worker is created.</p>
+  <p>Finally, each <code>WorkerGlobalScope</code> also has a list of <dfn>the worker's
+  <code>Document</code>s</dfn>. Initially this list is empty; it is populated when the worker is
+  created.</p>
 
-  <p>Whenever a <code>Document</code> <var title="">d</var> is <dfn
-  title="add a document to the worker's documents">added to the
-  worker's <code>Document</code>s</dfn>, the user agent must, for each
-  worker <var title="">q</var> in the list of <span>the worker's
-  workers</span> whose list of <span>the worker's
-  <code>Document</code>s</span> does not contain <var
-  title="">d</var>, <span title="add a document to the worker's
-  documents">add <var title="">d</var> to <var title="">q</var>'s
-  <code>WorkerGlobalScope</code> owner's list of <span>the worker's
-  <code>Document</code>s</span></span>.</p> <!-- suggestions welcome
-  on making this sentence into understandable English -->
+  <p>Whenever a <code>Document</code> <var title="">d</var> is <dfn title="add a document to the
+  worker's documents">added to the worker's <code>Document</code>s</dfn>, the user agent must, for
+  each worker <var title="">q</var> in the list of <span>the worker's workers</span> whose list of
+  <span>the worker's <code>Document</code>s</span> does not contain <var title="">d</var>, <span
+  title="add a document to the worker's documents">add <var title="">d</var> to <var
+  title="">q</var>'s <code>WorkerGlobalScope</code> owner's list of <span>the worker's
+  <code>Document</code>s</span></span>.</p> <!-- suggestions welcome on making this sentence into
+  understandable English -->
 
-  <p>Whenever a <code>Document</code> object is <span title="discard a
-  Document">discarded</span>, it must be removed from the list of
-  <span>the worker's <code>Document</code>s</span> of each worker
-  whose list contains that <code>Document</code>.</p>
+  <p>Whenever a <code>Document</code> object is <span title="discard a Document">discarded</span>,
+  it must be removed from the list of <span>the worker's <code>Document</code>s</span> of each
+  worker whose list contains that <code>Document</code>.</p>
 
-  <p>Given a <span>script's global object</span> <var title="">o</var>
-  when creating or obtaining a worker, the <dfn>list of relevant
-  <code>Document</code> objects to add</dfn> depends on the type of
-  <var title="">o</var>. If <var title="">o</var> is a
-  <code>WorkerGlobalScope</code> object (i.e. if we are creating a
-  nested worker), then the relevant <code>Document</code>s are the
-  <code>Document</code>s that are in <var title="">o</var>'s own list
-  of <span>the worker's <code>Document</code>s</span>. Otherwise, <var
-  title="">o</var> is a <code>Window</code> object, and the relevant
-  <code>Document</code> is just the <code>Document</code> that is the
-  <span>active document</span> of the <code>Window</code> object <var
-  title="">o</var>.</p>
+  <p>Given a <span>script's global object</span> <var title="">o</var> when creating or obtaining a
+  worker, the <dfn>list of relevant <code>Document</code> objects to add</dfn> depends on the type
+  of <var title="">o</var>. If <var title="">o</var> is a <code>WorkerGlobalScope</code> object
+  (i.e. if we are creating a nested worker), then the relevant <code>Document</code>s are the
+  <code>Document</code>s that are in <var title="">o</var>'s own list of <span>the worker's
+  <code>Document</code>s</span>. Otherwise, <var title="">o</var> is a <code>Window</code> object,
+  and the relevant <code>Document</code> is just the <code>Document</code> that is the <span>active
+  document</span> of the <code>Window</code> object <var title="">o</var>.</p>
 
   <hr>
 
-  <p>A worker is said to be a <dfn>permissible worker</dfn> if its
-  list of <span>the worker's <code>Document</code>s</span> is not
-  empty.</p>
+  <p>A worker is said to be a <dfn>permissible worker</dfn> if its list of <span>the worker's
+  <code>Document</code>s</span> is not empty.</p>
 
-  <p>A worker is said to be a <dfn>protected worker</dfn> if it is a
-  <span>permissible worker</span> and either it has outstanding
-  timers, database transactions, or network connections, or its list
-  of <span>the worker's ports</span> is not empty, or its
-  <code>WorkerGlobalScope</code> is actually a
-  <code>SharedWorkerGlobalScope</code> object (i.e. the worker is a
-  shared worker).</p>
+  <p>A worker is said to be a <dfn>protected worker</dfn> if it is a <span>permissible worker</span>
+  and either it has outstanding timers, database transactions, or network connections, or its list
+  of <span>the worker's ports</span> is not empty, or its <code>WorkerGlobalScope</code> is actually
+  a <code>SharedWorkerGlobalScope</code> object (i.e. the worker is a shared worker).</p>
 
-  <p>A worker is said to be an <dfn>active needed worker</dfn> if any
-  of the <code>Document</code> objects in <span>the worker's
-  <code>Document</code>s</span> are <span>fully active</span>.</p>
+  <p>A worker is said to be an <dfn>active needed worker</dfn> if any of the <code>Document</code>
+  objects in <span>the worker's <code>Document</code>s</span> are <span>fully active</span>.</p>
 
-  <p>A worker is said to be a <dfn>suspendable worker</dfn> if it is
-  not an <span>active needed worker</span> but it is a
-  <span>permissible worker</span>.</p>
+  <p>A worker is said to be a <dfn>suspendable worker</dfn> if it is not an <span>active needed
+  worker</span> but it is a <span>permissible worker</span>.</p>
 
 
   <h4>Processing model</h4>
 
-  <p>When a user agent is to <dfn>run a worker</dfn> for a script with
-  <span>URL</span> <var title="">url</var>, a <span>browsing
-  context</span> <var title="">owner browsing context</var>, a
-  <code>Document</code> <var title="">owner document</var>, an
-  <span>origin</span> <var title="">owner origin</var>, and with
-  global scope <var title="">worker global scope</var>, it must run
-  the following steps:</p>
+  <p>When a user agent is to <dfn>run a worker</dfn> for a script with <span>URL</span> <var
+  title="">url</var>, a <span>browsing context</span> <var title="">owner browsing context</var>, a
+  <code>Document</code> <var title="">owner document</var>, an <span>origin</span> <var
+  title="">owner origin</var>, and with global scope <var title="">worker global scope</var>, it
+  must run the following steps:</p>
 
   <ol>
 
    <li>
 
-    <p>Create a separate parallel execution environment (i.e. a
-    separate thread or process or equivalent construct), and run the
-    rest of these steps asynchronously in that context.</p>
+    <p>Create a separate parallel execution environment (i.e. a separate thread or process or
+    equivalent construct), and run the rest of these steps asynchronously in that context.</p>
 
    </li>
 
    <li><p>If <var title="">worker global scope</var> is actually a
-   <code>SharedWorkerGlobalScope</code> object (i.e. the worker is a
-   shared worker), and there are any <span title="relevant application
-   cache">relevant application caches</span> that are identified by a
-   manifest URL with the <span>same origin</span> as <var
-   title="">url</var> and that have <var title="">url</var> as one of
-   their entries, <em>not</em> excluding entries marked as <span
-   title="concept-appcache-foreign">foreign</span>, then associate the
-   <var title="">worker global scope</var> with the <span
-   title="concept-appcache-selection">most appropriate application
+   <code>SharedWorkerGlobalScope</code> object (i.e. the worker is a shared worker), and there are
+   any <span title="relevant application cache">relevant application caches</span> that are
+   identified by a manifest URL with the <span>same origin</span> as <var title="">url</var> and
+   that have <var title="">url</var> as one of their entries, <em>not</em> excluding entries marked
+   as <span title="concept-appcache-foreign">foreign</span>, then associate the <var title="">worker
+   global scope</var> with the <span title="concept-appcache-selection">most appropriate application
    cache</span> of those that match.</p></li>
 
    <li>
 
-    <p>Attempt to <span>fetch</span><!--FETCH--> the resource
-    identified by <var title="">url</var>, from the <var
-    title="">owner origin</var>, using <var title="">owner
-    document</var> as the <span>referrer source</span>, with the
-    <i>synchronous flag</i> set and the <i>force same-origin flag</i>
-    set.</p> <!-- not http-origin privacy sensitive (looking forward
-    to CORS) -->
+    <p>Attempt to <span>fetch</span><!--FETCH--> the resource identified by <var title="">url</var>,
+    from the <var title="">owner origin</var>, using <var title="">owner document</var> as the
+    <span>referrer source</span>, with the <i>synchronous flag</i> set and the <i>force same-origin
+    flag</i> set.</p> <!-- not http-origin privacy sensitive (looking forward to CORS) -->
 
-    <p>If the attempt fails, then for each <code>Worker</code> or
-    <code>SharedWorker</code> object associated with <var
-    title="">worker global scope</var>, <span>queue a task</span> to
-    <span>fire a simple event</span> named <code
-    title="event-error">error</code> at that object. Abort these
+    <p>If the attempt fails, then for each <code>Worker</code> or <code>SharedWorker</code> object
+    associated with <var title="">worker global scope</var>, <span>queue a task</span> to <span>fire
+    a simple event</span> named <code title="event-error">error</code> at that object. Abort these
     steps.</p>
 
-    <p>If the attempt succeeds, then let <var title="">source</var> be
-    the script resource <span>decoded as UTF-8, with error
-    handling</span>.
+    <p>If the attempt succeeds, then let <var title="">source</var> be the script resource
+    <span>decoded as UTF-8, with error handling</span>.
     <!--END complete-->
     <a href="#refsHTML">[HTML]</a>
     <!--START complete-->
@@ -93199,188 +92903,153 @@
 
     <p>Let <var title="">language</var> be JavaScript.</p>
 
-    <p class="note">As with <code>script</code> elements, the MIME
-    type of the script is ignored. Unlike with <code>script</code>
-    elements, there is no way to override the type. It's always
+    <p class="note">As with <code>script</code> elements, the MIME type of the script is ignored.
+    Unlike with <code>script</code> elements, there is no way to override the type. It's always
     assumed to be JavaScript.</p>
 
    </li>
 
-   <li><p>In the newly created execution environment, create a
-   <span>JavaScript global environment</span> whose <i>global
-   object</i> is <var title="">worker global scope</var>. If <var
-   title="">worker global scope</var> is a
-   <code>DedicatedWorkerGlobalScope</code> object, then this is a
-   <span>dedicated worker environment</span>. Otherwise, <var
-   title="">worker global scope</var> is a
-   <code>SharedWorkerGlobalScope</code> object, and this is a
-   <span>shared worker environment</span>. (In either case, by
-   definition, it is a <span>worker environment</span>.)</p></li>
+   <li><p>In the newly created execution environment, create a <span>JavaScript global
+   environment</span> whose <i>global object</i> is <var title="">worker global scope</var>. If <var
+   title="">worker global scope</var> is a <code>DedicatedWorkerGlobalScope</code> object, then this
+   is a <span>dedicated worker environment</span>. Otherwise, <var title="">worker global
+   scope</var> is a <code>SharedWorkerGlobalScope</code> object, and this is a <span>shared worker
+   environment</span>. (In either case, by definition, it is a <span>worker
+   environment</span>.)</p></li>
 
    <li>
 
-    <p>A new <span title="concept-script">script</span> is now
-    created, as follows.</p>
+    <p>A new <span title="concept-script">script</span> is now created, as follows.</p>
 
-    <p>Create a new <span>script execution environment</span>
-    set up as appropriate for the scripting language <var
-    title="">language</var>.</p>
+    <p>Create a new <span>script execution environment</span> set up as appropriate for the
+    scripting language <var title="">language</var>.</p>
 
-    <p>Parse/compile/initialize <var title="">source</var> using that
-    <span>script execution environment</span>, as appropriate for <var
-    title="">language</var>, and thus obtain a <span>list of code
-    entry-points</span>; set the <i>initial code entry-point</i> to
-    the entry-point for any executable code to be immediately run.</p>
+    <p>Parse/compile/initialize <var title="">source</var> using that <span>script execution
+    environment</span>, as appropriate for <var title="">language</var>, and thus obtain a
+    <span>list of code entry-points</span>; set the <i>initial code entry-point</i> to the
+    entry-point for any executable code to be immediately run.</p>
 
-    <p>Set the <span>script's global object</span> to <var
-    title="">worker global scope</var>.</p>
+    <p>Set the <span>script's global object</span> to <var title="">worker global scope</var>.</p>
 
-    <p>Set the <span>script's browsing context</span> to <var
-    title="">owner browsing context</var>.</p>
+    <p>Set the <span>script's browsing context</span> to <var title="">owner browsing
+    context</var>.</p>
 
-    <p>Set the <span>script's document</span> to <var title="">owner
-    document</var>.</p>
+    <p>Set the <span>script's document</span> to <var title="">owner document</var>.</p>
 
     <p>Set the <span>script's referrer source</span> to <var
     title="">url</var>.</p>
 
-    <p>Set the <span>script's URL character encoding</span> to
-    UTF-8. (This is just used for encoding non-ASCII characters in the
-    query component of URLs.)</p>
+    <p>Set the <span>script's URL character encoding</span> to UTF-8. (This is just used for
+    encoding non-ASCII characters in the query component of URLs.)</p>
 
-    <p>Set the <span>script's base URL</span> to <var
-    title="">url</var>.</p>
+    <p>Set the <span>script's base URL</span> to <var title="">url</var>.</p>
 
    </li>
 
    <li>
 
-    <p><strong>Closing orphan workers</strong>: Start monitoring the
-    worker such that no sooner than it stops being either a
-    <span>protected worker</span> or a <span>suspendable
-    worker</span>, and no later than it stops being a
-    <span>permissible worker</span>, <var title="">worker global
-    scope</var>'s <span
-    title="dom-WorkerGlobalScope-closing">closing</span> flag is set
-    to true<!-- v2-onclose and <span title="queue a task">a task is
-    queued</span> to <span>fire a simple event</span> named <code
-    title="event-worker-close">close</code> at <var title="">worker global
+    <p><strong>Closing orphan workers</strong>: Start monitoring the worker such that no sooner than
+    it stops being either a <span>protected worker</span> or a <span>suspendable worker</span>, and
+    no later than it stops being a <span>permissible worker</span>, <var title="">worker global
+    scope</var>'s <span title="dom-WorkerGlobalScope-closing">closing</span> flag is set to true<!--
+    v2-onclose and <span title="queue a task">a task is queued</span> to <span>fire a simple
+    event</span> named <code title="event-worker-close">close</code> at <var title="">worker global
     scope</var>-->.</p>
 
    </li>
 
    <li>
 
-    <p><strong>Suspending workers</strong>: Start monitoring the
-    worker, such that whenever <var title="">worker global
-    scope</var>'s <span
-    title="dom-WorkerGlobalScope-closing">closing</span> flag is false
-    and the worker is a <span>suspendable worker</span>, the user
-    agent suspends execution of script in that worker until such time
-    as either the <span
-    title="dom-WorkerGlobalScope-closing">closing</span> flag switches
-    to true or the worker stops being a <span>suspendable
-    worker</span>.</p>
+    <p><strong>Suspending workers</strong>: Start monitoring the worker, such that whenever <var
+    title="">worker global scope</var>'s <span title="dom-WorkerGlobalScope-closing">closing</span>
+    flag is false and the worker is a <span>suspendable worker</span>, the user agent suspends
+    execution of script in that worker until such time as either the <span
+    title="dom-WorkerGlobalScope-closing">closing</span> flag switches to true or the worker stops
+    being a <span>suspendable worker</span>.</p>
 
    </li>
 
    <li>
 
-    <p><span title="jump to a code entry-point">Jump</span> to the
-    <span title="concept-script">script</span>'s <i>initial code
-    entry-point</i>, and let that run until it either returns, fails
-    to catch an exception, or gets prematurely aborted by the
-    "<span>kill a worker</span>" or "<span>terminate a worker</span>"
-    algorithms defined below.</p>
+    <p><span title="jump to a code entry-point">Jump</span> to the <span
+    title="concept-script">script</span>'s <i>initial code entry-point</i>, and let that run until
+    it either returns, fails to catch an exception, or gets prematurely aborted by the "<span>kill a
+    worker</span>" or "<span>terminate a worker</span>" algorithms defined below.</p>
 
 <!-- v2-onclose
-    <p class="note">If the script gets aborted by the "<span>kill a
-    worker</span>" algorithm, then that same algorithm will cause
-    there to only be a single <span title="concept-task">task</span>
-    in the <span>event loop</span> at the next step, namely the task
-    for the <code title="message-close">close</code> event. The
-    "<span>terminate a worker</span>" algorithm removes all the
-    events.</p>
+    <p class="note">If the script gets aborted by the "<span>kill a worker</span>" algorithm, then
+    that same algorithm will cause there to only be a single <span title="concept-task">task</span>
+    in the <span>event loop</span> at the next step, namely the task for the <code
+    title="message-close">close</code> event. The "<span>terminate a worker</span>" algorithm
+    removes all the events.</p>
 -->
 
    </li>
 
    <li><p>If <var title="">worker global scope</var> is actually a
-   <code>DedicatedWorkerGlobalScope</code> object (i.e. the worker is
-   a dedicated worker), then enable the <span>port message
-   queue</span> of the worker's implicit port.</p></li>
+   <code>DedicatedWorkerGlobalScope</code> object (i.e. the worker is a dedicated worker), then
+   enable the <span>port message queue</span> of the worker's implicit port.</p></li>
 
    <li>
 
     <p><i title="">Event loop</i>: Wait until either there is a <span
-    title="concept-task">task</span> in one of the <span>event
-    loop</span>'s <span title="task queue">task queues</span> or <var
-    title="">worker global scope</var>'s <span
-    title="dom-WorkerGlobalScope-closing">closing</span> flag is set
-    to true.</p>
+    title="concept-task">task</span> in one of the <span>event loop</span>'s <span title="task
+    queue">task queues</span> or <var title="">worker global scope</var>'s <span
+    title="dom-WorkerGlobalScope-closing">closing</span> flag is set to true.</p>
 
    </li>
 
    <li>
 
-    <p>Run the oldest task on one of the <span>event loop</span>'s
-    <span title="task queue">task queues</span>, if any. The user
-    agent may pick any <span>task queue</span>.</p>
+    <p>Run the oldest task on one of the <span>event loop</span>'s <span title="task queue">task
+    queues</span>, if any. The user agent may pick any <span>task queue</span>.</p>
 
-    <p class="note">The handling of events or the execution of
-    callbacks might get prematurely aborted by the "<span>kill a
-    worker</span>" or "<span>terminate a worker</span>" algorithms
+    <p class="note">The handling of events or the execution of callbacks might get prematurely
+    aborted by the "<span>kill a worker</span>" or "<span>terminate a worker</span>" algorithms
     defined below.</p>
 
    </li>
 
    <li>
 
-    <p>If the <span>storage mutex</span> is now owned by the worker's
-    <span>event loop</span>, release it so that it is once again
-    free.</p>
+    <p>If the <span>storage mutex</span> is now owned by the worker's <span>event loop</span>,
+    release it so that it is once again free.</p>
 
    </li>
 
    <li>
 
-    <p>Remove the task just run in the earlier step, if any, from its
-    <span>task queue</span>.</p>
+    <p>Remove the task just run in the earlier step, if any, from its <span>task queue</span>.</p>
 
    </li>
 
    <li>
 
-    <p>If there are any more events in the <span>event loop</span>'s
-    <span title="task queue">task queues</span> or if <var
-    title="">worker global scope</var>'s <span
-    title="dom-WorkerGlobalScope-closing">closing</span> flag is set
-    to false, then jump back to the step above labeled <i>event
-    loop</i>.</p>
+    <p>If there are any more events in the <span>event loop</span>'s <span title="task queue">task
+    queues</span> or if <var title="">worker global scope</var>'s <span
+    title="dom-WorkerGlobalScope-closing">closing</span> flag is set to false, then jump back to the
+    step above labeled <i>event loop</i>.</p>
 
    </li>
 
    <li>
 
-    <p>Empty the <var title="">worker global scope</var>'s <span>list
-    of active timers</span>.</p>
+    <p>Empty the <var title="">worker global scope</var>'s <span>list of active timers</span>.</p>
 
    </li>
 
    <li>
 
-    <p>Disentangle all the ports in the list of <span>the worker's
-    ports</span>.</p>
+    <p>Disentangle all the ports in the list of <span>the worker's ports</span>.</p>
 
    </li>
 
 <!-- v2-onclose
    <li>
 
-    <p>For each <code>Worker</code> or <code>SharedWorker</code>
-    object associated with <var title="">worker global scope</var>,
-    <span>queue a task</span> to <span>fire a simple event</span>
-    named <code title="event-worker-close">close</code> at that object.</p>
+    <p>For each <code>Worker</code> or <code>SharedWorker</code> object associated with <var
+    title="">worker global scope</var>, <span>queue a task</span> to <span>fire a simple
+    event</span> named <code title="event-worker-close">close</code> at that object.</p>
 
    </li>
 -->
@@ -93388,93 +93057,80 @@
 
   <hr>
 
-  <p>When a user agent is to <dfn>kill a worker</dfn> it must
-  run the following steps in parallel with the worker's main loop (the
-  "<span>run a worker</span>" processing model defined above):</p>
+  <p>When a user agent is to <dfn>kill a worker</dfn> it must run the following steps in parallel
+  with the worker's main loop (the "<span>run a worker</span>" processing model defined above):</p>
 
   <ol>
 
 <!-- v2-onclose
-   <li><p>If the worker's <code>WorkerGlobalScope</code> object's
-   <span title="dom-WorkerGlobalScope-closing">closing</span> flag is
-   false, <span>queue a task</span> to <span>fire a simple
-   event</span> named <code title="event-worker-close">close</code> at the
+   <li><p>If the worker's <code>WorkerGlobalScope</code> object's <span
+   title="dom-WorkerGlobalScope-closing">closing</span> flag is false, <span>queue a task</span> to
+   <span>fire a simple event</span> named <code title="event-worker-close">close</code> at the
    worker's <code>WorkerGlobalScope</code> object.</p></li>
 -->
 
    <li><p>Set the worker's <code>WorkerGlobalScope</code> object's <span
-   title="dom-WorkerGlobalScope-closing">closing</span> flag to
-   true.</p></li>
+   title="dom-WorkerGlobalScope-closing">closing</span> flag to true.</p></li>
 
 <!-- v2-onclose
-   <li><p>Wait a user-agent-defined amount of time. If the "<span>run
-   a worker</span>" processing model defined above immediately starts
-   running event listeners registered for the <code
-   title="event-worker-close">close</code> event, this time should not be
-   zero — the idea is that the <code
-   title="event-worker-close">close</code> event can be used to clean up
-   when shutting down unexpectedly.</p></li>
+   <li><p>Wait a user-agent-defined amount of time. If the "<span>run a worker</span>" processing
+   model defined above immediately starts running event listeners registered for the <code
+   title="event-worker-close">close</code> event, this time should not be zero — the idea is
+   that the <code title="event-worker-close">close</code> event can be used to clean up when
+   shutting down unexpectedly.</p></li>
 -->
 
-   <li><p>If there are any <span title="concept-task">tasks</span>
-   queued in the <span>event loop</span>'s <span title="task
-   queue">task queues</span><!-- v2-onclose other than the <code
-   title="event-worker-close">close</code> event that this algorithm just
-   added-->, discard them without processing them.</p></li>
+   <li><p>If there are any <span title="concept-task">tasks</span> queued in the <span>event
+   loop</span>'s <span title="task queue">task queues</span><!-- v2-onclose other than the <code
+   title="event-worker-close">close</code> event that this algorithm just added-->, discard them
+   without processing them.</p></li>
 
 <!-- v2-onclose
-   <li><p>If the <code title="event-worker-close">close</code> event that
-   this algorithm just queued hasn't yet been dispatched, then abort
-   the script currently running in the worker.</p></li>
+   <li><p>If the <code title="event-worker-close">close</code> event that this algorithm just queued
+   hasn't yet been dispatched, then abort the script currently running in the worker.</p></li>
 -->
 
    <li><p>Wait a user-agent-defined amount of time.</p></li>
 
-   <li><p>Abort the script currently running in the worker<!--
-   v2-onclose (if any script is running, then it will be a handler for
-   the <code title="event-worker-close">close</code> event)-->.</p></li>
+   <li><p>Abort the script currently running in the worker<!-- v2-onclose (if any script is running,
+   then it will be a handler for the <code title="event-worker-close">close</code>
+   event)-->.</p></li>
 
   </ol>
 
-  <p>User agents may invoke the "<span>kill a worker</span>"
-  processing model on a worker at any time, e.g. in response to user
-  requests, in response to CPU quota management, or when a worker
-  stops being an <span>active needed worker</span> if the worker
-  continues executing even after its <span
-  title="dom-WorkerGlobalScope-closing">closing</span> flag was
-  set to true.</p>
+  <p>User agents may invoke the "<span>kill a worker</span>" processing model on a worker at any
+  time, e.g. in response to user requests, in response to CPU quota management, or when a worker
+  stops being an <span>active needed worker</span> if the worker continues executing even after its
+  <span title="dom-WorkerGlobalScope-closing">closing</span> flag was set to true.</p>
 
   <hr>
 
-  <p>When a user agent is to <dfn>terminate a worker</dfn> it must run
-  the following steps in parallel with the worker's main loop (the
-  "<span>run a worker</span>" processing model defined above):</p>
+  <p>When a user agent is to <dfn>terminate a worker</dfn> it must run the following steps in
+  parallel with the worker's main loop (the "<span>run a worker</span>" processing model defined
+  above):</p>
 
   <ol>
 
-   <li><p>Set the worker's <code>WorkerGlobalScope</code> object's
-   <span title="dom-WorkerGlobalScope-closing">closing</span> flag to
-   true.</p></li>
+   <li><p>Set the worker's <code>WorkerGlobalScope</code> object's <span
+   title="dom-WorkerGlobalScope-closing">closing</span> flag to true.</p></li>
 
-   <li><p>If there are any <span title="concept-task">tasks</span>
-   queued in the <span>event loop</span>'s <span title="task
-   queue">task queues</span>, discard them without processing
+   <li><p>If there are any <span title="concept-task">tasks</span> queued in the <span>event
+   loop</span>'s <span title="task queue">task queues</span>, discard them without processing
    them.</p></li>
 
    <li><p>Abort the script currently running in the worker.</p></li>
 
-   <li><p>If the worker's <code>WorkerGlobalScope</code> object is
-   actually a <code>DedicatedWorkerGlobalScope</code> object (i.e. the
-   worker is a dedicated worker), then empty the <span>port message
-   queue</span> of the port that the worker's implicit port is
+   <li><p>If the worker's <code>WorkerGlobalScope</code> object is actually a
+   <code>DedicatedWorkerGlobalScope</code> object (i.e. the worker is a dedicated worker), then
+   empty the <span>port message queue</span> of the port that the worker's implicit port is
    entangled with.</p></li>
 
   </ol>
 
   <hr>
 
-  <p>The <span>task source</span> for the tasks mentioned above is the
-  <span>DOM manipulation task source</span>.</p>
+  <p>The <span>task source</span> for the tasks mentioned above is the <span>DOM manipulation task
+  source</span>.</p>
 
 
   <h4>Runtime script errors</h4>
@@ -93489,10 +93145,9 @@
   <!--START complete-->
   </p>
 
-  <p>For shared workers, if the error is still <i
-  title="concept-error-nothandled">not handled</i> afterwards, or if
-  the error occurred while handling a previous script error, the error
-  may be reported to the user.
+  <p>For shared workers, if the error is still <i title="concept-error-nothandled">not handled</i>
+  afterwards, or if the error occurred while handling a previous script error, the error may be
+  reported to the user.
   <!--END complete-->
   <a href="#refsHTML">[HTML]</a>
   <!--START complete-->
@@ -93511,22 +93166,18 @@
   error had occurred in the global scope that the <code>Worker</code> object is in, thus repeating
   the entire runtime script error reporting process one level up.</p>
 
-  <p>If the implicit port connecting the worker to its
-  <code>Worker</code> object has been disentangled (i.e. if the parent
-  worker has been terminated), then the user agent must act as if the
-  <code>Worker</code> object had no <code
-  title="event-error">error</code> event handler and as if that
-  worker's <code
-  title="handler-WorkerGlobalScope-onerror">onerror</code> attribute
-  was null, but must otherwise act as described above.</p>
+  <p>If the implicit port connecting the worker to its <code>Worker</code> object has been
+  disentangled (i.e. if the parent worker has been terminated), then the user agent must act as if
+  the <code>Worker</code> object had no <code title="event-error">error</code> event handler and as
+  if that worker's <code title="handler-WorkerGlobalScope-onerror">onerror</code> attribute was
+  null, but must otherwise act as described above.</p>
 
-  <p class="note">Thus, error reports propagate up to the chain of
-  dedicated workers up to the original <code>Document</code>, even if
-  some of the workers along this chain have been terminated and
-  garbage collected.</p>
+  <p class="note">Thus, error reports propagate up to the chain of dedicated workers up to the
+  original <code>Document</code>, even if some of the workers along this chain have been terminated
+  and garbage collected.</p>
 
-  <p>The <span>task source</span> for the task mentioned above is the
-  <span>DOM manipulation task source</span>.</p>
+  <p>The <span>task source</span> for the task mentioned above is the <span>DOM manipulation task
+  source</span>.</p>
 
   <hr>
 
@@ -95864,30 +95515,23 @@
 
   <hr>
 
-  <p>The <dfn
-  title="dom-WebSocket-bufferedAmount"><code>bufferedAmount</code></dfn>
-  attribute must return the number of bytes of application data (UTF-8
-  text and binary data) that have been queued using <code
-  title="dom-WebSocket-send">send()</code> but that, as of the last
-  time the <span>event loop</span> started executing a <span
-  title="concept-task">task</span>, had not yet been transmitted to
-  the network. (This thus includes any text sent during the execution
-  of the current task, regardless of whether the user agent is able to
-  transmit text asynchronously with script execution.) This does not
-  include framing overhead incurred by the protocol, or buffering done
-  by the operating system or network hardware. If the connection is
-  closed, this attribute's value will only increase with each call to
-  the <code title="dom-WebSocket-send">send()</code> method (the
+  <p>The <dfn title="dom-WebSocket-bufferedAmount"><code>bufferedAmount</code></dfn> attribute must
+  return the number of bytes of application data (UTF-8 text and binary data) that have been queued
+  using <code title="dom-WebSocket-send">send()</code> but that, as of the last time the <span>event
+  loop</span> started executing a <span title="concept-task">task</span>, had not yet been
+  transmitted to the network. (This thus includes any text sent during the execution of the current
+  task, regardless of whether the user agent is able to transmit text asynchronously with script
+  execution.) This does not include framing overhead incurred by the protocol, or buffering done by
+  the operating system or network hardware. If the connection is closed, this attribute's value will
+  only increase with each call to the <code title="dom-WebSocket-send">send()</code> method (the
   number does not reset to zero once the connection closes).</p>
 
   <div class="example">
 
-   <p>In this simple example, the <code
-   title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
-   attribute is used to ensure that updates are sent either at the
-   rate of one update every 50ms, if the network can handle that rate,
-   or at whatever rate the network <em>can</em> handle, if that is too
-   fast.</p>
+   <p>In this simple example, the <code title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
+   attribute is used to ensure that updates are sent either at the rate of one update every 50ms, if
+   the network can handle that rate, or at whatever rate the network <em>can</em> handle, if that is
+   too fast.</p>
 
    <pre>var socket = new WebSocket('ws://game.example.com:12010/updates');
 socket.onopen = function () {
@@ -95897,48 +95541,37 @@
   }, 50);
 };</pre>
 
-   <p>The <code
-   title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
-   attribute can also be used to saturate the network without sending
-   the data at a higher rate than the network can handle, though this
-   requires more careful monitoring of the value of the attribute over
-   time.</p>
+   <p>The <code title="dom-WebSocket-bufferedAmount">bufferedAmount</code> attribute can also be
+   used to saturate the network without sending the data at a higher rate than the network can
+   handle, though this requires more careful monitoring of the value of the attribute over time.</p>
 
   </div>
 
   <hr>
 
   <p>When a <code>WebSocket</code> object is created, its <dfn
-  title="dom-WebSocket-binaryType"><code>binaryType</code></dfn> IDL
-  attribute must be set to the string "<code title="">blob</code>". On
-  getting, it must return the last value it was set to. On setting,
-  the user agent must set the IDL attribute to the new value.</p>
+  title="dom-WebSocket-binaryType"><code>binaryType</code></dfn> IDL attribute must be set to the
+  string "<code title="">blob</code>". On getting, it must return the last value it was set to. On
+  setting, the user agent must set the IDL attribute to the new value.</p>
 
-  <p class="note">This attribute allows authors to control how binary
-  data is exposed to scripts. By setting the attribute to "<code
-  title="">blob</code>", binary data is returned in <code>Blob</code>
-  form; by setting it to "<code title="">arraybuffer</code>", it is
-  returned in <code>ArrayBuffer</code> form. User agents can use this
-  as a hint for how to handle incoming binary data: if the attribute
-  is set to "<code title="">blob</code>", it is safe to spool it to
-  disk, and if it is set to "<code title="">arraybuffer</code>", it is
-  likely more efficient to keep the data in memory. Naturally, user
-  agents are encouraged to use more subtle heuristics to decide
-  whether to keep incoming data in memory or not, e.g. based on how
-  big the data is or how common it is for a script to change the
-  attribute at the last minute. This latter aspect is important in
-  particular because it is quite possible for the attribute to be
-  changed after the user agent has received the data but before the
-  user agent has fired the event for it.</p>
+  <p class="note">This attribute allows authors to control how binary data is exposed to scripts. By
+  setting the attribute to "<code title="">blob</code>", binary data is returned in
+  <code>Blob</code> form; by setting it to "<code title="">arraybuffer</code>", it is returned in
+  <code>ArrayBuffer</code> form. User agents can use this as a hint for how to handle incoming
+  binary data: if the attribute is set to "<code title="">blob</code>", it is safe to spool it to
+  disk, and if it is set to "<code title="">arraybuffer</code>", it is likely more efficient to keep
+  the data in memory. Naturally, user agents are encouraged to use more subtle heuristics to decide
+  whether to keep incoming data in memory or not, e.g. based on how big the data is or how common it
+  is for a script to change the attribute at the last minute. This latter aspect is important in
+  particular because it is quite possible for the attribute to be changed after the user agent has
+  received the data but before the user agent has fired the event for it.</p>
 
-  <p>The <dfn title="dom-WebSocket-send"><code>send(<var
-  title="">data</var>)</code></dfn> method transmits data using the
-  connection. If the <code
-  title="dom-WebSocket-readyState">readyState</code> attribute is
-  <code title="dom-WebSocket-CONNECTING">CONNECTING</code>, it must
-  throw an <code>InvalidStateError</code> exception. Otherwise, the
-  user agent must run the appropriate set of steps from the following
-  list:</p>
+  <p>The <dfn title="dom-WebSocket-send"><code>send(<var title="">data</var>)</code></dfn> method
+  transmits data using the connection. If the <code
+  title="dom-WebSocket-readyState">readyState</code> attribute is <code
+  title="dom-WebSocket-CONNECTING">CONNECTING</code>, it must throw an
+  <code>InvalidStateError</code> exception. Otherwise, the user agent must run the appropriate set
+  of steps from the following list:</p>
 
   <dl>
 
@@ -95946,23 +95579,17 @@
 
    <dd>
 
-    <p>Let <var title="">data</var> be the result of <span
-    title="convert a DOMString to a sequence of Unicode
-    characters">converting the <var title="">data</var> argument to a
-    sequence of Unicode characters</span>. If <i>the WebSocket
-    connection is established</i> and <i title="the WebSocket closing
-    handshake is started">the WebSocket closing handshake has not yet
-    started</i>, then the user agent must <i>send a WebSocket
-    Message</i> comprised of <var title="">data</var> using a text
-    frame opcode; if the data cannot be sent, e.g. because it would
-    need to be buffered but the buffer is full, the user agent must
-    <i>close the WebSocket connection</i> <span
-    title="concept-websocket-close-fail">with prejudice</span>. Any
-    invocation of this method with a string argument that does not
-    throw an exception must increase the <code
-    title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
-    attribute by the number of bytes needed to express the argument as
-    UTF-8. <a href="#refsUNICODE">[UNICODE]</a> <a
+    <p>Let <var title="">data</var> be the result of <span title="convert a DOMString to a sequence
+    of Unicode characters">converting the <var title="">data</var> argument to a sequence of Unicode
+    characters</span>. If <i>the WebSocket connection is established</i> and <i title="the WebSocket
+    closing handshake is started">the WebSocket closing handshake has not yet started</i>, then the
+    user agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a
+    text frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i>close the WebSocket connection</i> <span
+    title="concept-websocket-close-fail">with prejudice</span>. Any invocation of this method with a
+    string argument that does not throw an exception must increase the <code
+    title="dom-WebSocket-bufferedAmount">bufferedAmount</code> attribute by the number of bytes
+    needed to express the argument as UTF-8. <a href="#refsUNICODE">[UNICODE]</a> <a
     href="#refsRFC3629">[RFC3629]</a> <a href="#refsWSP">[WSP]</a></p>
 
    </dd>
@@ -95972,24 +95599,18 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i
-    title="the WebSocket closing handshake is started">the WebSocket
-    closing handshake has not yet started</i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var
-    title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket
-    connection</i> <span title="concept-websocket-close-fail">with
-    prejudice</span>. The data to be sent is the raw data represented
-    by the <code>Blob</code> object. <!-- that sentence is meant to
-    invoke "This interface represents immutable raw data." --> Any
-    invocation of this method with a <code>Blob</code> argument that
-    does not throw an exception must increase the <code
-    title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
-    attribute by the size of the <code>Blob</code> object's raw data,
-    in bytes. <!-- that sentence is meant to invoke the same as
-    Blob.size --> <a href="#refsWSP">[WSP]</a> <a
-    href="#refsFILEAPI">[FILEAPI]</a></p>
+    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
+    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i>close the WebSocket connection</i> <span
+    title="concept-websocket-close-fail">with prejudice</span>. The data to be sent is the raw data
+    represented by the <code>Blob</code> object. <!-- that sentence is meant to invoke "This
+    interface represents immutable raw data." --> Any invocation of this method with a
+    <code>Blob</code> argument that does not throw an exception must increase the <code
+    title="dom-WebSocket-bufferedAmount">bufferedAmount</code> attribute by the size of the
+    <code>Blob</code> object's raw data, in bytes. <!-- that sentence is meant to invoke the same as
+    Blob.size --> <a href="#refsWSP">[WSP]</a> <a href="#refsFILEAPI">[FILEAPI]</a></p>
 
    </dd>
 
@@ -95998,27 +95619,20 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i
-    title="the WebSocket closing handshake is started">the WebSocket
-    closing handshake has not yet started</i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var
-    title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket
-    connection</i> <span title="concept-websocket-close-fail">with
-    prejudice</span>. The data to be sent is the data stored in the
-    buffer described by the <code>ArrayBuffer</code> object. <!-- that
-    sentence is meant to invoke "The ArrayBuffer type describes a
-    buffer used to store data for the array buffer views." at the top
-    of the Typed Array spec, and "Optional byteOffset and length can
-    be used to limit the section of the buffer referenced" in the
-    definition of the TypedArray constructor --> Any invocation of
-    this method with an <code>ArrayBuffer</code> argument that does
-    not throw an exception must increase the <code
-    title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
-    attribute by the length of the <code>ArrayBuffer</code> in bytes.
-    <!-- that sentence is meant to invoke the same as
-    ArrayBuffer.byteLength --> <a href="#refsWSP">[WSP]</a> <a
+    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
+    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i>close the WebSocket connection</i> <span
+    title="concept-websocket-close-fail">with prejudice</span>. The data to be sent is the data
+    stored in the buffer described by the <code>ArrayBuffer</code> object. <!-- that sentence is
+    meant to invoke "The ArrayBuffer type describes a buffer used to store data for the array buffer
+    views." at the top of the Typed Array spec, and "Optional byteOffset and length can be used to
+    limit the section of the buffer referenced" in the definition of the TypedArray constructor -->
+    Any invocation of this method with an <code>ArrayBuffer</code> argument that does not throw an
+    exception must increase the <code title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
+    attribute by the length of the <code>ArrayBuffer</code> in bytes. <!-- that sentence is meant to
+    invoke the same as ArrayBuffer.byteLength --> <a href="#refsWSP">[WSP]</a> <a
     href="#refsTYPEDARRAY">[TYPEDARRAY]</a></p>
 
    </dd>
@@ -96028,28 +95642,21 @@
 
    <dd>
 
-    <p>If <i>the WebSocket connection is established</i>, and <i
-    title="the WebSocket closing handshake is started">the WebSocket
-    closing handshake has not yet started</i>, then the user agent
-    must <i>send a WebSocket Message</i> comprised of <var
-    title="">data</var> using a binary frame opcode; if the data
-    cannot be sent, e.g. because it would need to be buffered but the
-    buffer is full, the user agent must <i>close the WebSocket
-    connection</i> <span title="concept-websocket-close-fail">with
-    prejudice</span>. The data to be sent is the data stored in the
-    section of the buffer described by the <code>ArrayBuffer</code>
-    object that the <code>ArrayBufferView</code> object references.
-    <!-- that sentence is meant to invoke "The ArrayBuffer type
-    describes a buffer used to store data for the array buffer views."
-    at the top of the Typed Array spec, and "Optional byteOffset and
-    length can be used to limit the section of the buffer referenced"
-    in the definition of the TypedArray constructor --> Any invocation
-    of this method with an <code>ArrayBufferView</code> argument that
-    does not throw an exception must increase the <code
-    title="dom-WebSocket-bufferedAmount">bufferedAmount</code>
-    attribute by the length of the <code>ArrayBufferView</code> in
-    bytes. <!-- that sentence is meant to invoke the same as
-    ArrayBufferView.byteLength --> <a href="#refsWSP">[WSP]</a> <a
+    <p>If <i>the WebSocket connection is established</i>, and <i title="the WebSocket closing
+    handshake is started">the WebSocket closing handshake has not yet started</i>, then the user
+    agent must <i>send a WebSocket Message</i> comprised of <var title="">data</var> using a binary
+    frame opcode; if the data cannot be sent, e.g. because it would need to be buffered but the
+    buffer is full, the user agent must <i>close the WebSocket connection</i> <span
+    title="concept-websocket-close-fail">with prejudice</span>. The data to be sent is the data
+    stored in the section of the buffer described by the <code>ArrayBuffer</code> object that the
+    <code>ArrayBufferView</code> object references. <!-- that sentence is meant to invoke "The
+    ArrayBuffer type describes a buffer used to store data for the array buffer views." at the top
+    of the Typed Array spec, and "Optional byteOffset and length can be used to limit the section of
+    the buffer referenced" in the definition of the TypedArray constructor --> Any invocation of
+    this method with an <code>ArrayBufferView</code> argument that does not throw an exception must
+    increase the <code title="dom-WebSocket-bufferedAmount">bufferedAmount</code> attribute by the
+    length of the <code>ArrayBufferView</code> in bytes. <!-- that sentence is meant to invoke the
+    same as ArrayBufferView.byteLength --> <a href="#refsWSP">[WSP]</a> <a
     href="#refsTYPEDARRAY">[TYPEDARRAY]</a></p>
 
    </dd>
@@ -96058,10 +95665,9 @@
 
   <hr>
 
-  <p>The following are the <span>event handlers</span> (and their
-  corresponding <span title="event handler event type">event handler
-  event types</span>) that must be supported, as IDL attributes, by
-  all objects implementing the <code>WebSocket</code> interface:</p>
+  <p>The following are the <span>event handlers</span> (and their corresponding <span title="event
+  handler event type">event handler event types</span>) that must be supported, as IDL attributes,
+  by all objects implementing the <code>WebSocket</code> interface:</p>
 
   <table>
    <thead>
@@ -96077,55 +95683,43 @@
 
   <h4>Feedback from the protocol</h4>
 
-  <p>When <i>the WebSocket connection is established</i>, the user
-  agent must <span>queue a task</span> to run these steps:</p>
+  <p>When <i>the WebSocket connection is established</i>, the user agent must <span>queue a
+  task</span> to run these steps:</p>
 
   <ol>
 
-   <li><p>Change the <code
-   title="dom-WebSocket-readyState">readyState</code> attribute's
-   value to <code title="dom-WebSocket-OPEN">OPEN</code> (1).</p></li>
+   <li><p>Change the <code title="dom-WebSocket-readyState">readyState</code> attribute's value to
+   <code title="dom-WebSocket-OPEN">OPEN</code> (1).</p></li>
 
-   <li><p>Change the <code
-   title="dom-WebSocket-extensions">extensions</code> attribute's
-   value to the <i>extensions in use</i>, if is not the null value. <a
-   href="#refsWSP">[WSP]</a></p></li>
+   <li><p>Change the <code title="dom-WebSocket-extensions">extensions</code> attribute's value to
+   the <i>extensions in use</i>, if is not the null value. <a href="#refsWSP">[WSP]</a></p></li>
 
-   <li><p>Change the <code
-   title="dom-WebSocket-protocol">protocol</code> attribute's value to
-   the <i>subprotocol in use</i>, if is not the null value. <a
-   href="#refsWSP">[WSP]</a></p></li>
+   <li><p>Change the <code title="dom-WebSocket-protocol">protocol</code> attribute's value to the
+   <i>subprotocol in use</i>, if is not the null value. <a href="#refsWSP">[WSP]</a></p></li>
 
-   <li><p>Act as if the user agent had <span title="receives a
-   set-cookie-string">received a set-cookie-string</span> consisting
-   of the <i>cookies set during the server's opening handshake</i>,
-   for the URL <var title="">url</var> given to the <code
-   title="dom-WebSocket">WebSocket()</code> constructor. <a
-   href="#refsCOOKIES">[COOKIES]</a> <a
-   href="#refsRFC3629">[RFC3629]</a> <a
-   href="#refsWSP">[WSP]</a></p></li>
+   <li><p>Act as if the user agent had <span title="receives a set-cookie-string">received a
+   set-cookie-string</span> consisting of the <i>cookies set during the server's opening
+   handshake</i>, for the URL <var title="">url</var> given to the <code
+   title="dom-WebSocket">WebSocket()</code> constructor. <a href="#refsCOOKIES">[COOKIES]</a> <a
+   href="#refsRFC3629">[RFC3629]</a> <a href="#refsWSP">[WSP]</a></p></li>
 
-   <li><p><span>Fire a simple event</span> named <code
-   title="event-open">open</code> at the <code>WebSocket</code>
-   object.</p>
+   <li><p><span>Fire a simple event</span> named <code title="event-open">open</code> at the
+   <code>WebSocket</code> object.</p>
 
   </ol>
 
   <hr>
 
-  <p>When <i>a WebSocket message has been received</i> with type <var
-  title="">type</var> and data <var title="">data</var>, the user
-  agent must <span>queue a task</span> to follow these steps: <a
+  <p>When <i>a WebSocket message has been received</i> with type <var title="">type</var> and data
+  <var title="">data</var>, the user agent must <span>queue a task</span> to follow these steps: <a
   href="#refsWSP">[WSP]</a></p>
 
   <ol>
 
    <li>
 
-    <p>If the <code title="dom-WebSocket-readyState">readyState</code>
-    attribute's value is not <code
-    title="dom-WebSocket-OPEN">OPEN</code> (1), then abort these
-    steps.</p>
+    <p>If the <code title="dom-WebSocket-readyState">readyState</code> attribute's value is not
+    <code title="dom-WebSocket-OPEN">OPEN</code> (1), then abort these steps.</p>
 
    </li>
 
@@ -96142,35 +95736,28 @@
 
    </li>
 
-   <li><p>Initialize <var title="">event</var>'s <code
-   title="dom-MessageEvent-origin">origin</code> attribute to the
-   <span title="Unicode serialization of an origin">Unicode
-   serialization</span> of the <span>origin</span> of the
-   <span>URL</span> that was passed to the <code>WebSocket</code>
+   <li><p>Initialize <var title="">event</var>'s <code title="dom-MessageEvent-origin">origin</code>
+   attribute to the <span title="Unicode serialization of an origin">Unicode serialization</span> of
+   the <span>origin</span> of the <span>URL</span> that was passed to the <code>WebSocket</code>
    object's constructor.</p></li>
 
    <li>
 
-    <p>If <var title="">type</var> indicates that the data is Text,
-    then initialize <var title="">event</var>'s <code
-    title="dom-MessageEvent-data">data</code> attribute to <var
+    <p>If <var title="">type</var> indicates that the data is Text, then initialize <var
+    title="">event</var>'s <code title="dom-MessageEvent-data">data</code> attribute to <var
     title="">data</var>.
 
-    <p>If <var title="">type</var> indicates that the data is Binary,
-    and <code title="dom-WebSocket-binaryType">binaryType</code> is
-    set to "<code title="">blob</code>", then initialize <var
-    title="">event</var>'s <code
-    title="dom-MessageEvent-data">data</code> attribute to a new
-    <code>Blob</code> object that represents <var title="">data</var>
-    as its raw data. <a href="#refsFILEAPI">[FILEAPI]</a></p>
+    <p>If <var title="">type</var> indicates that the data is Binary, and <code
+    title="dom-WebSocket-binaryType">binaryType</code> is set to "<code title="">blob</code>", then
+    initialize <var title="">event</var>'s <code title="dom-MessageEvent-data">data</code> attribute
+    to a new <code>Blob</code> object that represents <var title="">data</var> as its raw data. <a
+    href="#refsFILEAPI">[FILEAPI]</a></p>
 
-    <p>If <var title="">type</var> indicates that the data is Binary,
-    and <code title="dom-WebSocket-binaryType">binaryType</code> is
-    set to "<code title="">arraybuffer</code>", then initialize <var
-    title="">event</var>'s <code
-    title="dom-MessageEvent-data">data</code> attribute to a new
-    read-only <code>ArrayBuffer</code> object whose contents are <var
-    title="">data</var>. <a
+    <p>If <var title="">type</var> indicates that the data is Binary, and <code
+    title="dom-WebSocket-binaryType">binaryType</code> is set to "<code
+    title="">arraybuffer</code>", then initialize <var title="">event</var>'s <code
+    title="dom-MessageEvent-data">data</code> attribute to a new read-only <code>ArrayBuffer</code>
+    object whose contents are <var title="">data</var>. <a
     href="#refsTYPEDARRAY">[TYPEDARRAY]</a></p>
 
    </li>
@@ -96184,26 +95771,21 @@
 
   </ol>
 
-  <p class="note">User agents are encouraged to check if they can
-  perform the above steps efficiently before they run the task,
-  picking tasks from other <span title="task queue">task queues</span>
-  while they prepare the buffers if not. For example, if the <code
-  title="dom-WebSocket-binaryType">binaryType</code> attribute was set
-  to "<code title="">blob</code>" when the data arrived, and the user
-  agent spooled all the data to disk, but just before running the
-  above <span title="concept-task">task</span> for this particular
-  message the script switched <code
-  title="dom-WebSocket-binaryType">binaryType</code> to "<code
-  title="">arraybuffer</code>", the user agent would want to page the
-  data back to RAM before running this <span
-  title="concept-task">task</span> so as to avoid stalling the main
-  thread while it created the <code>ArrayBuffer</code> object.</p>
+  <p class="note">User agents are encouraged to check if they can perform the above steps
+  efficiently before they run the task, picking tasks from other <span title="task queue">task
+  queues</span> while they prepare the buffers if not. For example, if the <code
+  title="dom-WebSocket-binaryType">binaryType</code> attribute was set to "<code
+  title="">blob</code>" when the data arrived, and the user agent spooled all the data to disk, but
+  just before running the above <span title="concept-task">task</span> for this particular message
+  the script switched <code title="dom-WebSocket-binaryType">binaryType</code> to "<code
+  title="">arraybuffer</code>", the user agent would want to page the data back to RAM before
+  running this <span title="concept-task">task</span> so as to avoid stalling the main thread while
+  it created the <code>ArrayBuffer</code> object.</p>
 
   <div class="example">
 
    <p>Here is an example of how to define a handler for the <code
-   title="event-message">message</code> event in the case of text
-   frames:</p>
+   title="event-message">message</code> event in the case of text frames:</p>
 
    <pre>mysocket.onmessage = function (event) {
   if (event.data == 'on') {
@@ -96213,42 +95795,35 @@
   }
 };</pre>
 
-   <p>The protocol here is a trivial one, with the server just sending
-   "on" or "off" messages.</p>
+   <p>The protocol here is a trivial one, with the server just sending "on" or "off" messages.</p>
 
   </div>
 
   <hr>
 
-  <p>When <i>the WebSocket closing handshake is started</i>, the user
-  agent must <span>queue a task</span> to change the <code
-  title="dom-WebSocket-readyState">readyState</code> attribute's value
-  to <code title="dom-WebSocket-CLOSING">CLOSING</code> (2). (If the
-  <code title="dom-WebSocket-close">close()</code> method was called,
-  the <code title="dom-WebSocket-readyState">readyState</code>
-  attribute's value will already be set to <code
-  title="dom-WebSocket-CLOSING">CLOSING</code> (2) when this task
-  runs.) <a href="#refsWSP">[WSP]</a></p>
+  <p>When <i>the WebSocket closing handshake is started</i>, the user agent must <span>queue a
+  task</span> to change the <code title="dom-WebSocket-readyState">readyState</code> attribute's
+  value to <code title="dom-WebSocket-CLOSING">CLOSING</code> (2). (If the <code
+  title="dom-WebSocket-close">close()</code> method was called, the <code
+  title="dom-WebSocket-readyState">readyState</code> attribute's value will already be set to <code
+  title="dom-WebSocket-CLOSING">CLOSING</code> (2) when this task runs.) <a
+  href="#refsWSP">[WSP]</a></p>
 
   <hr>
 
-  <p id="closeWebSocket">When <i>the WebSocket connection is
-  closed</i>, possibly <i title="">cleanly</i>, the user agent must
-  <span>queue a task</span> to run the following substeps:</p>
+  <p id="closeWebSocket">When <i>the WebSocket connection is closed</i>, possibly <i
+  title="">cleanly</i>, the user agent must <span>queue a task</span> to run the following
+  substeps:</p>
 
   <ol>
 
-   <li><p>Change the <code
-   title="dom-WebSocket-readyState">readyState</code> attribute's
-   value to <code title="dom-WebSocket-CLOSED">CLOSED</code>
-   (3).</p></li>
+   <li><p>Change the <code title="dom-WebSocket-readyState">readyState</code> attribute's value to
+   <code title="dom-WebSocket-CLOSED">CLOSED</code> (3).</p></li>
 
-   <li><p>If the user agent was required to <i>fail the WebSocket
-   connection</i> or <i>the WebSocket connection is closed</i> <dfn
-   title="concept-websocket-close-fail">with prejudice</dfn>,
-   <span>fire a simple event</span> named <code title="">error</code>
-   at the <code>WebSocket</code> object. <a
-   href="#refsWSP">[WSP]</a></p></li>
+   <li><p>If the user agent was required to <i>fail the WebSocket connection</i> or <i>the WebSocket
+   connection is closed</i> <dfn title="concept-websocket-close-fail">with prejudice</dfn>,
+   <span>fire a simple event</span> named <code title="">error</code> at the <code>WebSocket</code>
+   object. <a href="#refsWSP">[WSP]</a></p></li>
 
    <li><p>Create a <span title="concept-events-trusted">trusted</span> event that uses the
    <code>CloseEvent</code> interface, with the event type <code
@@ -96265,9 +95840,8 @@
 
   <div class="warning">
 
-   <p>User agents must not convey any failure information to scripts
-   in a way that would allow a script to distinguish the following
-   situations:</p>
+   <p>User agents must not convey any failure information to scripts in a way that would allow a
+   script to distinguish the following situations:</p>
 
    <ul>
 
@@ -96277,42 +95851,36 @@
 
     <li>A server that refused the connection on the specified port.
 
-    <li>A server that failed to correctly perform a TLS handshake
-    (e.g., the server certificate can't be verified).
+    <li>A server that failed to correctly perform a TLS handshake (e.g., the server certificate
+    can't be verified).
 
-    <li>A server that did not complete the opening handshake (e.g.
-    because it was not a WebSocket server).
+    <li>A server that did not complete the opening handshake (e.g. because it was not a WebSocket
+    server).
 
-    <li>A WebSocket server that sent a correct opening handshake, but
-    that specified options that caused the client to drop the
-    connection (e.g. the server specified a subprotocol that the
+    <li>A WebSocket server that sent a correct opening handshake, but that specified options that
+    caused the client to drop the connection (e.g. the server specified a subprotocol that the
     client did not offer).
 
-    <li>A WebSocket server that abruptly closed the connection after
-    successfully completing the opening handshake.
+    <li>A WebSocket server that abruptly closed the connection after successfully completing the
+    opening handshake.
 
    </ul>
 
-   <p>In all of these cases, the <i>the WebSocket connection close
-   code</i> would be 1006, as required by the WebSocket Protocol
-   specification. <a href="#refsWSP">[WSP]</a></p>
+   <p>In all of these cases, the <i>the WebSocket connection close code</i> would be 1006, as
+   required by the WebSocket Protocol specification. <a href="#refsWSP">[WSP]</a></p>
 
-   <p>Allowing a script to distinguish these cases would allow a
-   script to probe the user's local network in preparation for an
-   attack.</p>
+   <p>Allowing a script to distinguish these cases would allow a script to probe the user's local
+   network in preparation for an attack.</p>
 
-   <p class="note">In particular, this means the code 1015 is not used
-   by the user agent (unless the server erroneously uses it in its
-   close frame, of course).</p>
+   <p class="note">In particular, this means the code 1015 is not used by the user agent (unless the
+   server erroneously uses it in its close frame, of course).</p>
 
   </div>
 
   <hr>
 
-  <p>The <span>task source</span> for all <span
-  title="concept-task">tasks</span> <span title="queue a
-  task">queued</span> in this section is the <dfn>WebSocket task
-  source</dfn>.</p>
+  <p>The <span>task source</span> for all <span title="concept-task">tasks</span> <span title="queue
+  a task">queued</span> in this section is the <dfn>WebSocket task source</dfn>.</p>
 
 
   <h4>Ping and Pong frames</h4>
@@ -96452,52 +96020,40 @@
 
   <h4>Garbage collection</h4>
 
-  <p>A <code>WebSocket</code> object whose <code
-  title="dom-WebSocket-readyState">readyState</code> attribute's value
-  was set to <code title="dom-WebSocket-CONNECTING">CONNECTING</code>
-  (0) as of the last time the <span>event loop</span> started
-  executing a <span title="concept-task">task</span> must not be
-  garbage collected if there are any event listeners registered for
-  <code title="event-open">open</code> events, <code
-  title="event-message">message</code> events, <code
-  title="event-error">error</code> events, or <code
-  title="event-socket-close">close</code> events.</p>
-
-  <p>A <code>WebSocket</code> object whose <code
-  title="dom-WebSocket-readyState">readyState</code> attribute's value
-  was set to <code title="dom-WebSocket-OPEN">OPEN</code> (1) as of
+  <p>A <code>WebSocket</code> object whose <code title="dom-WebSocket-readyState">readyState</code>
+  attribute's value was set to <code title="dom-WebSocket-CONNECTING">CONNECTING</code> (0) as of
   the last time the <span>event loop</span> started executing a <span
-  title="concept-task">task</span> must not be garbage collected if
-  there are any event listeners registered for <code
-  title="event-message">message</code> events, <code
-  title="event-error">error</code>, or <code
-  title="event-socket-close">close</code> events.</p>
+  title="concept-task">task</span> must not be garbage collected if there are any event listeners
+  registered for <code title="event-open">open</code> events, <code
+  title="event-message">message</code> events, <code title="event-error">error</code> events, or
+  <code title="event-socket-close">close</code> events.</p>
 
-  <p>A <code>WebSocket</code> object whose <code
-  title="dom-WebSocket-readyState">readyState</code> attribute's value
-  was set to <code title="dom-WebSocket-CLOSING">CLOSING</code> (2) as
-  of the last time the <span>event loop</span> started executing a
-  <span title="concept-task">task</span> must not be garbage collected
-  if there are any event listeners registered for <code
-  title="event-error">error</code> or <code
+  <p>A <code>WebSocket</code> object whose <code title="dom-WebSocket-readyState">readyState</code>
+  attribute's value was set to <code title="dom-WebSocket-OPEN">OPEN</code> (1) as of the last time
+  the <span>event loop</span> started executing a <span title="concept-task">task</span> must not be
+  garbage collected if there are any event listeners registered for <code
+  title="event-message">message</code> events, <code title="event-error">error</code>, or <code
   title="event-socket-close">close</code> events.</p>
 
-  <p>A <code>WebSocket</code> object with <i title="the WebSocket
-  connection is established">an established connection</i> that has
-  data queued to be transmitted to the network must not be garbage
-  collected. <a href="#refsWSP">[WSP]</a></p>
+  <p>A <code>WebSocket</code> object whose <code title="dom-WebSocket-readyState">readyState</code>
+  attribute's value was set to <code title="dom-WebSocket-CLOSING">CLOSING</code> (2) as of the last
+  time the <span>event loop</span> started executing a <span title="concept-task">task</span> must
+  not be garbage collected if there are any event listeners registered for <code
+  title="event-error">error</code> or <code title="event-socket-close">close</code> events.</p>
 
-  <p>If a <code>WebSocket</code> object is garbage collected while its
-  connection is still open, the user agent must <i>start the
-  WebSocket closing handshake</i>, with no status code<!--CLOSE
-  CODE--> for the Close message. <a href="#refsWSP">[WSP]</a></p>
+  <p>A <code>WebSocket</code> object with <i title="the WebSocket connection is established">an
+  established connection</i> that has data queued to be transmitted to the network must not be
+  garbage collected. <a href="#refsWSP">[WSP]</a></p>
 
+  <p>If a <code>WebSocket</code> object is garbage collected while its connection is still open, the
+  user agent must <i>start the WebSocket closing handshake</i>, with no status code<!--CLOSE CODE-->
+  for the Close message. <a href="#refsWSP">[WSP]</a></p>
+
   <hr>
 
-  <p>If a user agent is to <dfn>make disappear</dfn> a
-  <code>WebSocket</code> object (this happens when a
-  <code>Document</code> object goes away), the user agent must follow
-  the first appropriate set of steps from the following list:</p>
+  <p>If a user agent is to <dfn>make disappear</dfn> a <code>WebSocket</code> object (this happens
+  when a <code>Document</code> object goes away), the user agent must follow the first appropriate
+  set of steps from the following list:</p>
 
   <dl class="switch">
 
@@ -97278,16 +96834,13 @@
 
   <div class="impl">
 
-  <p>Each <code>MessagePort</code> object can be entangled with
-  another (a symmetric relationship). Each <code>MessagePort</code>
-  object also has a <span>task source</span> called the <dfn>port
-  message queue</dfn>, initially empty. A <span>port message
-  queue</span> can be enabled or disabled, and is initially
-  disabled. Once enabled, a port can never be disabled again (though
-  messages in the queue can get moved to another queue or removed
-  altogether, which has much the same effect).
-  A <code>MessagePort</code> also has a <dfn>has been shipped</dfn> flag. It must initially be
-  false.</p>
+  <p>Each <code>MessagePort</code> object can be entangled with another (a symmetric relationship).
+  Each <code>MessagePort</code> object also has a <span>task source</span> called the <dfn>port
+  message queue</dfn>, initially empty. A <span>port message queue</span> can be enabled or
+  disabled, and is initially disabled. Once enabled, a port can never be disabled again (though
+  messages in the queue can get moved to another queue or removed altogether, which has much the
+  same effect). A <code>MessagePort</code> also has a <dfn>has been shipped</dfn> flag. It must
+  initially be false.</p>
 
   <p>Each <span>event loop</span> has a <span>task source</span> called the <dfn>unshipped port
   message queue</dfn>. This is a virtual <span>task source</span>: it must act as if it contained
@@ -97307,15 +96860,12 @@
   is true, its <span>port message queue</span> acts as a first-class <span>task source</span>,
   unaffected to any <span>unshipped port message queue</span>.</p>
 
-  <p>When the user agent is to <dfn>create a new
-  <code>MessagePort</code> object</dfn> owned by a <span>script's
-  global object</span> object <var title="">owner</var>, it must
-  instantiate a new <code>MessagePort</code> object, and let its owner
-  be <var title="">owner</var>.</p>
+  <p>When the user agent is to <dfn>create a new <code>MessagePort</code> object</dfn> owned by a
+  <span>script's global object</span> object <var title="">owner</var>, it must instantiate a new
+  <code>MessagePort</code> object, and let its owner be <var title="">owner</var>.</p>
 
-  <p>When the user agent is to <dfn>entangle</dfn> two
-  <code>MessagePort</code> objects, it must run the following
-  steps:</p>
+  <p>When the user agent is to <dfn>entangle</dfn> two <code>MessagePort</code> objects, it must run
+  the following steps:</p>
 
   <ol>
 
@@ -97630,33 +97180,28 @@
 -->
   <hr>
 
-  <p>The <dfn title="dom-MessagePort-start"><code>start()</code></dfn>
-  method must enable its port's <span>port message queue</span>, if it
-  is not already enabled.</p>
+  <p>The <dfn title="dom-MessagePort-start"><code>start()</code></dfn> method must enable its port's
+  <span>port message queue</span>, if it is not already enabled.</p>
 
-  <p>When a port's <span>port message queue</span> is enabled, the
-  <span>event loop</span> must use it as one of its <span title="task
-  source">task sources</span>.</p>
+  <p>When a port's <span>port message queue</span> is enabled, the <span>event loop</span> must use
+  it as one of its <span title="task source">task sources</span>.</p>
 
-  <p class="note">If the <code>Document</code> of the port's event
-  listeners' <span title="script's global object">global object</span>
-  is not <span>fully active</span>, then the messages are lost.</p>
-  <!-- because of the jump-to-entry-point algorithm first step -->
+  <p class="note">If the <code>Document</code> of the port's event listeners' <span title="script's
+  global object">global object</span> is not <span>fully active</span>, then the messages are
+  lost.</p> <!-- because of the jump-to-entry-point algorithm first step -->
 
   <hr>
 
-  <p>The <dfn title="dom-MessagePort-close"><code>close()</code></dfn>
-  method, when called on a port <var title="">local port</var> that is
-  entangled with another port, must cause the user agents to
-  disentangle the two ports. If the method is called on a port that is
-  not entangled, then the method must do nothing.</p>
+  <p>The <dfn title="dom-MessagePort-close"><code>close()</code></dfn> method, when called on a port
+  <var title="">local port</var> that is entangled with another port, must cause the user agents to
+  disentangle the two ports. If the method is called on a port that is not entangled, then the
+  method must do nothing.</p>
 
   <hr>
 
-  <p>The following are the <span>event handlers</span> (and their
-  corresponding <span title="event handler event type">event handler
-  event types</span>) that must be supported, as IDL attributes, by
-  all objects implementing the <code>MessagePort</code> interface:</p>
+  <p>The following are the <span>event handlers</span> (and their corresponding <span title="event
+  handler event type">event handler event types</span>) that must be supported, as IDL attributes,
+  by all objects implementing the <code>MessagePort</code> interface:</p>
 
   <table>
    <thead>
@@ -98255,32 +97800,25 @@
 
   <p>If the event is being fired due to an invocation of the <code
   title="dom-Storage-setItem">setItem()</code> or <code
-  title="dom-Storage-removeItem">removeItem()</code> methods, the
-  event must have its <code title="dom-StorageEvent-key">key</code>
-  attribute initialized to the name of the key in question, its <code
-  title="dom-StorageEvent-oldValue">oldValue</code> attribute initialized to
-  the old value of the key in question, or null if the key is newly
-  added, and its <code
-  title="dom-StorageEvent-newValue">newValue</code> attribute initialized to
-  the new value of the key in question, or null if the key was
-  removed.</p>
+  title="dom-Storage-removeItem">removeItem()</code> methods, the event must have its <code
+  title="dom-StorageEvent-key">key</code> attribute initialized to the name of the key in question,
+  its <code title="dom-StorageEvent-oldValue">oldValue</code> attribute initialized to the old value
+  of the key in question, or null if the key is newly added, and its <code
+  title="dom-StorageEvent-newValue">newValue</code> attribute initialized to the new value of the
+  key in question, or null if the key was removed.</p>
 
-  <p>Otherwise, if the event is being fired due to an invocation of
-  the <code title="dom-Storage-clear">clear()</code> method, the event
-  must have its <code title="dom-StorageEvent-key">key</code>, <code
-  title="dom-StorageEvent-oldValue">oldValue</code>, and <code
-  title="dom-StorageEvent-newValue">newValue</code> attributes
-  initialized to null.</p>
+  <p>Otherwise, if the event is being fired due to an invocation of the <code
+  title="dom-Storage-clear">clear()</code> method, the event must have its <code
+  title="dom-StorageEvent-key">key</code>, <code title="dom-StorageEvent-oldValue">oldValue</code>,
+  and <code title="dom-StorageEvent-newValue">newValue</code> attributes initialized to null.</p>
 
-  <p>In addition, the event must have its <code
-  title="dom-StorageEvent-url">url</code> attribute initialized to
-  <span title="the document's address">the address of the
-  document</span> whose <code>Storage</code> object was affected; and
-  its <code title="dom-StorageEvent-storageArea">storageArea</code>
-  attribute initialized to the <code>Storage</code> object from the
-  <code>Window</code> object of the target <code>Document</code> that
-  represents the same kind of <code>Storage</code> area as was
-  affected (i.e. session or local).</p>
+  <p>In addition, the event must have its <code title="dom-StorageEvent-url">url</code> attribute
+  initialized to <span title="the document's address">the address of the document</span> whose
+  <code>Storage</code> object was affected; and its <code
+  title="dom-StorageEvent-storageArea">storageArea</code> attribute initialized to the
+  <code>Storage</code> object from the <code>Window</code> object of the target
+  <code>Document</code> that represents the same kind of <code>Storage</code> area as was affected
+  (i.e. session or local).</p>
 
 
   <h6>Event definition</h6>
@@ -106164,51 +105702,41 @@
 
       <ol>
 
-       <li><p>Let <var title="">the script</var> be the <span>pending
-       parsing-blocking script</span>. There is no longer a <span>pending
-       parsing-blocking script</span>.</p></li>
+       <li><p>Let <var title="">the script</var> be the <span>pending parsing-blocking
+       script</span>. There is no longer a <span>pending parsing-blocking script</span>.</p></li>
 
-       <li><p>Block the <span title="tokenization">tokenizer</span>
-       for this instance of the <span>HTML parser</span>, such that
-       the <span>event loop</span> will not run <span
+       <li><p>Block the <span title="tokenization">tokenizer</span> for this instance of the
+       <span>HTML parser</span>, such that the <span>event loop</span> will not run <span
        title="concept-task">tasks</span> that invoke the <span
        title="tokenization">tokenizer</span>.</p></li>
 
-       <li><p>If the parser's <code>Document</code> <span>has a style
-       sheet that is blocking scripts</span> or <var title="">the
-       script</var>'s <span>"ready to be parser-executed"</span> flag
-       is not set: <span>spin the event loop</span> until the parser's
-       <code>Document</code> <span>has no style sheet that is blocking
-       scripts</span> and <var title="">the script</var>'s
-       <span>"ready to be parser-executed"</span> flag is
-       set.</p></li>
+       <li><p>If the parser's <code>Document</code> <span>has a style sheet that is blocking
+       scripts</span> or <var title="">the script</var>'s <span>"ready to be parser-executed"</span>
+       flag is not set: <span>spin the event loop</span> until the parser's <code>Document</code>
+       <span>has no style sheet that is blocking scripts</span> and <var title="">the script</var>'s
+       <span>"ready to be parser-executed"</span> flag is set.</p></li>
 
-       <li><p>Unblock the <span title="tokenization">tokenizer</span>
-       for this instance of the <span>HTML parser</span>, such that
-       <span title="concept-task">tasks</span> that invoke the <span
-       title="tokenization">tokenizer</span> can again be
-       run.</p></li>
+       <li><p>Unblock the <span title="tokenization">tokenizer</span> for this instance of the
+       <span>HTML parser</span>, such that <span title="concept-task">tasks</span> that invoke the
+       <span title="tokenization">tokenizer</span> can again be run.</p></li>
 
-       <li><p>Let the <span>insertion point</span> be just before the
-       <span>next input character</span>.</p></li>
+       <li><p>Let the <span>insertion point</span> be just before the <span>next input
+       character</span>.</p></li>
 
-       <li><p>Increment the parser's <span>script nesting level</span>
-       by one (it should be zero before this step, so this sets it to
-       one).</p></li>
+       <li><p>Increment the parser's <span>script nesting level</span> by one (it should be zero
+       before this step, so this sets it to one).</p></li>
 
-       <li><p><span title="execute the script block">Execute</span>
-       <var title="">the script</var>.</p></li>
+       <li><p><span title="execute the script block">Execute</span> <var title="">the
+       script</var>.</p></li>
 
-       <li><p>Decrement the parser's <span>script nesting level</span>
-       by one. If the parser's <span>script nesting level</span> is
-       zero (which it always should be at this point), then set the
-       <span>parser pause flag</span> to false.</p>
+       <li><p>Decrement the parser's <span>script nesting level</span> by one. If the parser's
+       <span>script nesting level</span> is zero (which it always should be at this point), then set
+       the <span>parser pause flag</span> to false.</p>
 
-       <li><p>Let the <span>insertion point</span> be undefined
-       again.</p></li>
+       <li><p>Let the <span>insertion point</span> be undefined again.</p></li>
 
-       <li><p>If there is once again a <span>pending parsing-blocking
-       script</span>, then repeat these steps from step 1.</p></li>
+       <li><p>If there is once again a <span>pending parsing-blocking script</span>, then repeat
+       these steps from step 1.</p></li>
 
       </ol>
 
@@ -107742,62 +107270,49 @@
 
    <!-- this happens as part of one of the tasks that runs the parser -->
 
-   <li><p>Set the <span>current document readiness</span> to "<code
-   title="">interactive</code>" <!-- this also synchronously fires an
-   event --> and the <span>insertion point</span> to
+   <li><p>Set the <span>current document readiness</span> to "<code title="">interactive</code>"
+   <!-- this also synchronously fires an event --> and the <span>insertion point</span> to
    undefined.</p></li>
 
-   <li><p>Pop <em>all</em> the nodes off the <span>stack of open
-   elements</span>.</p></li>
+   <li><p>Pop <em>all</em> the nodes off the <span>stack of open elements</span>.</p></li>
 
-   <li><p>If the <span>list of scripts that will execute when the
-   document has finished parsing</span> is not empty, run these
-   substeps:</p>
+   <li><p>If the <span>list of scripts that will execute when the document has finished
+   parsing</span> is not empty, run these substeps:</p>
 
     <ol>
 
-     <li><p><span>Spin the event loop</span> until the first
-     <code>script</code> in the <span>list of scripts that will
-     execute when the document has finished parsing</span> has its
-     <span>"ready to be parser-executed"</span> flag set <em>and</em>
-     the parser's <code>Document</code> <span>has no style sheet that
-     is blocking scripts</span>.</p></li>
+     <li><p><span>Spin the event loop</span> until the first <code>script</code> in the <span>list
+     of scripts that will execute when the document has finished parsing</span> has its <span>"ready
+     to be parser-executed"</span> flag set <em>and</em> the parser's <code>Document</code>
+     <span>has no style sheet that is blocking scripts</span>.</p></li>
 
-     <li><p><span title="execute the script block">Execute</span> the
-     first <code>script</code> in the <span>list of scripts that will
-     execute when the document has finished parsing</span>.</p></li>
+     <li><p><span title="execute the script block">Execute</span> the first <code>script</code> in
+     the <span>list of scripts that will execute when the document has finished
+     parsing</span>.</p></li>
 
-     <li><p>Remove the first <code>script</code> element from the
-     <span>list of scripts that will execute when the document has
-     finished parsing</span> (i.e. shift out the first entry in the
+     <li><p>Remove the first <code>script</code> element from the <span>list of scripts that will
+     execute when the document has finished parsing</span> (i.e. shift out the first entry in the
      list).</p></li>
 
-     <li><p>If the <span>list of scripts that will execute when the
-     document has finished parsing</span> is still not empty, repeat
-     these substeps again from substep 1.</p>
+     <li><p>If the <span>list of scripts that will execute when the document has finished
+     parsing</span> is still not empty, repeat these substeps again from substep 1.</p>
 
     </ol>
 
    </li>
 
-   <li><p><span>Queue a task</span> to <span>fire a simple
-   event</span> that bubbles named <code
-   title="event-DOMContentLoaded">DOMContentLoaded</code> at the
-   <code>Document</code>.</p></li>
+   <li><p><span>Queue a task</span> to <span>fire a simple event</span> that bubbles named <code
+   title="event-DOMContentLoaded">DOMContentLoaded</code> at the <code>Document</code>.</p></li>
 
-   <li><p><span>Spin the event loop</span> until the <span>set of
-   scripts that will execute as soon as possible</span> and the
-   <span>list of scripts that will execute in order as soon as
-   possible</span> are empty.</p></li> <!-- this step is not redundant
-   with the next one, since <script> nodes delay the load event of the
-   document they are in, but they might change document between being
-   added to one document's set/list and executing those scripts, so
-   they might be delaying another document but still be in this
-   document's set/list. -->
+   <li><p><span>Spin the event loop</span> until the <span>set of scripts that will execute as soon
+   as possible</span> and the <span>list of scripts that will execute in order as soon as
+   possible</span> are empty.</p></li> <!-- this step is not redundant with the next one, since
+   <script> nodes delay the load event of the document they are in, but they might change document
+   between being added to one document's set/list and executing those scripts, so they might be
+   delaying another document but still be in this document's set/list. -->
 
-   <li><p><span>Spin the event loop</span> until there is nothing that
-   <dfn title="delay the load event">delays the load event</dfn> in
-   the <code>Document</code>.</p></li>
+   <li><p><span>Spin the event loop</span> until there is nothing that <dfn title="delay the load
+   event">delays the load event</dfn> in the <code>Document</code>.</p></li>
 
    <li>
 
@@ -108972,17 +108487,14 @@
    <li><code title="">-//WAPFORUM//DTD XHTML Mobile 1.0//EN</code></li>
   </ul>
 
-  <p>Furthermore, user agents should attempt to retrieve the above
-  external entity's content when one of the above public identifiers
-  is used, and should not attempt to retrieve any other external
+  <p>Furthermore, user agents should attempt to retrieve the above external entity's content when
+  one of the above public identifiers is used, and should not attempt to retrieve any other external
   entity's content.</p>
 
-  <p class="note">This is not strictly a <span title="willful
-  violation">violation</span> of the XML specification, but it does
-  contradict the spirit of the XML specification's requirements. This
-  is motivated by a desire for user agents to all handle entities in
-  an interoperable fashion without requiring any network access for
-  handling external subsets. <a href="#refsXML">[XML]</a></p>
+  <p class="note">This is not strictly a <span title="willful violation">violation</span> of the XML
+  specification, but it does contradict the spirit of the XML specification's requirements. This is
+  motivated by a desire for user agents to all handle entities in an interoperable fashion without
+  requiring any network access for handling external subsets. <a href="#refsXML">[XML]</a></p>
 
   <p id="scriptTagXML">When an <span>XML parser</span> creates a <code>script</code> element, it
   must be marked as being <span>"parser-inserted"</span> and its <span>"force-async"</span> flag
@@ -108995,49 +108507,39 @@
 
   <ol>
 
-   <li><p>Block this instance of the <span>XML parser</span>, such
-   that the <span>event loop</span> will not run <span
-   title="concept-task">tasks</span> that invoke it.</p></li>
+   <li><p>Block this instance of the <span>XML parser</span>, such that the <span>event loop</span>
+   will not run <span title="concept-task">tasks</span> that invoke it.</p></li>
 
-   <li><p><span>Spin the event loop</span> until the parser's
-   <code>Document</code> <span>has no style sheet that is blocking
-   scripts</span> and the <span>pending parsing-blocking
-   script</span>'s <span>"ready to be parser-executed"</span> flag is
-   set.</p></li>
+   <li><p><span>Spin the event loop</span> until the parser's <code>Document</code> <span>has no
+   style sheet that is blocking scripts</span> and the <span>pending parsing-blocking
+   script</span>'s <span>"ready to be parser-executed"</span> flag is set.</p></li>
 
-   <li><p>Unblock this instance of the <span>XML parser</span>, such
-   that <span title="concept-task">tasks</span> that invoke it can
-   again be run.</p></li>
+   <li><p>Unblock this instance of the <span>XML parser</span>, such that <span
+   title="concept-task">tasks</span> that invoke it can again be run.</p></li>
 
-   <li><p><span title="execute the script block">Execute</span> the
-   <span>pending parsing-blocking script</span>.</p></li>
-
-   <li><p>There is no longer a <span>pending parsing-blocking
+   <li><p><span title="execute the script block">Execute</span> the <span>pending parsing-blocking
    script</span>.</p></li>
 
+   <li><p>There is no longer a <span>pending parsing-blocking script</span>.</p></li>
+
   </ol>
 
-  <p class="note">Since the <code
-  title="dom-document-write">document.write()</code> API is not
-  available for <span>XML documents</span>, much of the complexity in
-  the <span>HTML parser</span> is not needed in the <span>XML
-  parser</span>.</p>
+  <p class="note">Since the <code title="dom-document-write">document.write()</code> API is not
+  available for <span>XML documents</span>, much of the complexity in the <span>HTML parser</span>
+  is not needed in the <span>XML parser</span>.</p>
 
-  <p>Certain algorithms in this specification <dfn title="feed the
-  parser">spoon-feed the parser</dfn> characters one string at a
-  time. In such cases, the <span>XML parser</span> must act as it
-  would have if faced with a single string consisting of the
-  concatenation of all those characters.</p>
+  <p>Certain algorithms in this specification <dfn title="feed the parser">spoon-feed the
+  parser</dfn> characters one string at a time. In such cases, the <span>XML parser</span> must act
+  as it would have if faced with a single string consisting of the concatenation of all those
+  characters.</p>
 
-  <p>When an <span>XML parser</span> reaches the end of its input, it
-  must <span>stop parsing</span>, following the same rules as the
-  <span>HTML parser</span>. An <span>XML parser</span> can also be
-  <span title="abort a parser">aborted</span>, which must again by
-  done in the same way as for an <span>HTML parser</span>.</p>
+  <p>When an <span>XML parser</span> reaches the end of its input, it must <span>stop
+  parsing</span>, following the same rules as the <span>HTML parser</span>. An <span>XML
+  parser</span> can also be <span title="abort a parser">aborted</span>, which must again by done in
+  the same way as for an <span>HTML parser</span>.</p>
 
-  <p>For the purposes of conformance checkers, if a resource is
-  determined to be in <span>the XHTML syntax</span>, then it is an
-  <span title="XML documents">XML document</span>.</p>
+  <p>For the purposes of conformance checkers, if a resource is determined to be in <span>the XHTML
+  syntax</span>, then it is an <span title="XML documents">XML document</span>.</p>
 
 
 




More information about the Commit-Watchers mailing list