and then there was one version of XMLHttpRequest
authorAnne van Kesteren <annevk@opera.com>
Thu, 24 Nov 2011 11:20:31 +0100
changeset 1 77820cbcf310
parent 0 81439a8e64a3
child 2 02c6f0b40b3b
and then there was one version of XMLHttpRequest
Makefile
Overview.html
Overview.src.html
--- a/Makefile	Thu Nov 24 11:15:01 2011 +0100
+++ b/Makefile	Thu Nov 24 11:20:31 2011 +0100
@@ -4,7 +4,7 @@
 
 Overview.html: Overview.src.html data Makefile
 	$(ANOLIS) --output-encoding=ascii --omit-optional-tags --quote-attr-values \
-	--w3c-compat --enable=xspecxref --enable=refs --w3c-shortname="XMLHttpRequest2" \
+	--w3c-compat --enable=xspecxref --enable=refs --w3c-shortname="XMLHttpRequest" \
 	--filter=".publish" $< [email protected]
 
 data/xrefs/dom/xhr.json: Overview.src.html Makefile
@@ -12,6 +12,6 @@
 
 publish: Overview.src.html data Makefile
 	$(ANOLIS) --output-encoding=ascii --omit-optional-tags --quote-attr-values \
-	--w3c-compat --enable=xspecxref --enable=refs --w3c-shortname="XMLHttpRequest2" \
+	--w3c-compat --enable=xspecxref --enable=refs --w3c-shortname="XMLHttpRequest" \
 	--filter=".dontpublish" --pubdate="$(PUBDATE)" --w3c-status=WD \
 	$< Overview.html
--- a/Overview.html	Thu Nov 24 11:15:01 2011 +0100
+++ b/Overview.html	Thu Nov 24 11:20:31 2011 +0100
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html lang="en-US"><head>
-  <title>XMLHttpRequest Level 2</title>
+  <title>XMLHttpRequest</title>
   <style type="text/css">
    pre.idl { border:solid thin; background:#eee; color:#000; padding:0.5em }
    pre.idl :link, pre.idl :visited { color:inherit; background:transparent }
@@ -36,23 +36,20 @@
 <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
 <!--end-logo-->
 
-   
-   <h1 class="head" id="xmlhttprequest-level-2">XMLHttpRequest Level 2</h1>
+
+   <h1 class="head" id="xmlhttprequest-ls">XMLHttpRequest</h1>
 
    <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 24 November 2011</h2>
 
    <dl>
     <dt>This Version:</dt>
-    <dd class="dontpublish"><a href="http://dev.w3.org/2006/webapi/XMLHttpRequest-2/">http://dev.w3.org/2006/webapi/XMLHttpRequest-2/</a></dd>
+    <dd class="dontpublish"><a href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html">http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html</a></dd>
     <dt>Previous Versions:</dt>
-    
-    
     <dd><a href="http://www.w3.org/TR/2011/WD-XMLHttpRequest2-20110816/">http://www.w3.org/TR/2011/WD-XMLHttpRequest2-20110816/</a></dd>
     <dd><a href="http://www.w3.org/TR/2010/WD-XMLHttpRequest2-20100907/">http://www.w3.org/TR/2010/WD-XMLHttpRequest2-20100907/</a></dd>
     <dd><a href="http://www.w3.org/TR/2009/WD-XMLHttpRequest2-20090820/">http://www.w3.org/TR/2009/WD-XMLHttpRequest2-20090820/</a></dd>
     <dd><a href="http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080930/">http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080930/</a></dd>
     <dd><a href="http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080225/">http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080225/</a></dd>
-    
 
     <dt>Editor:</dt>
     <dd><a href="http://annevankesteren.nl/">Anne van Kesteren</a>
@@ -72,15 +69,14 @@
 
   <hr>
 
+
+
   <h2 class="no-num no-toc" id="specabstract">Abstract</h2>
 
-  
-  <p>The XMLHttpRequest Level 2 specification enhances the
-  <code title="">XMLHttpRequest</code> object with new features, such as
-  cross-origin requests, progress events, and the handling of byte streams
-  for both sending and receiving.</p>
-  
-  
+  <p>The XMLHttpRequest specification defines an API that provides scripted
+  client functionality for transferring data between a client and a server.
+
+
 
   <h2 class="no-num no-toc" id="sotd">Status of this Document</h2>
 
@@ -90,13 +86,12 @@
   found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a>
   at http://www.w3.org/TR/.</em></p>
 
-  <p>This is the 24 November 2011 Editor's Draft of
-  XMLHttpRequest Level 2. Please send comments to
-  <a href="mailto:[email protected]?subject=[XHR2]%20">[email protected]</a>
+  <p>This is the 24 November 2011 Editor's Draft of XMLHttpRequest.
+  Please send comments to
+  <a href="mailto:[email protected]?subject=[XHR]%20">[email protected]</a>
   (<a href="http://lists.w3.org/Archives/Public/public-webapps/">archived</a>)
-  with <samp>[XHR2]</samp> at the start of the subject line.</p>
-
-  
+  with <samp>[XHR]</samp> at the start of the subject line.</p>
+  <!-- XXX bug database link -->
 
   <p>This document is produced by the
   <a href="http://www.w3.org/2008/webapps/">Web Applications</a> (WebApps) Working Group.
@@ -122,7 +117,7 @@
   obsoleted by other documents at any time. It is inappropriate to cite this
   document as other than work in progress.</p>
 
-  
+
 
 
   <h2 class="no-num no-toc" id="toc">Table of Contents</h2>
@@ -171,7 +166,6 @@
   <ol class="toc">
    <li><a href="#formdata-constructors"><span class="secno">5.1 </span>Constructors</a></li>
    <li><a href="#the-append-method"><span class="secno">5.2 </span>The <code title="">append()</code> method</a></ol></li>
- <li><a class="no-num" href="#differences">Differences from XMLHttpRequest</a></li>
  <li><a class="no-num" href="#references">References</a>
   <ol class="toc">
    <li><a class="no-num" href="#normative-references">Normative references</a></li>
@@ -287,12 +281,12 @@
   <p>This specification relies on several underlying specifications.</p>
 
   <dl>
-   
+
    <dt>Cross-Origin Resource Sharing</dt>
    <dd><p>A <a href="#conforming-user-agent">conforming user agent</a> must
    support the algorithms of the Cross-Origin Resource Sharing
    specification. <a href="#refsCORS">[CORS]</a></dd>
-   
+
 
    <dt>DOM4</dt>
    <dd><p>A <a href="#conforming-user-agent">conforming user agent</a> must
@@ -305,7 +299,7 @@
    support at least the subset of the functionality defined in File API that
    this specification relies upon, such as the <code class="external"><a href="http://dev.w3.org/2006/webapi/FileAPI/#blob">Blob</a></code> and
    <code class="external"><a href="http://dev.w3.org/2006/webapi/FileAPI/#file">File</a></code> interfaces. <a href="#refsFILEAPI">[FILEAPI]</a></p>
-   
+
 
    <dt>HTML</dt>
    <dd><p>A <a href="#conforming-user-agent">conforming user agent</a> must
@@ -319,7 +313,7 @@
    support some version of the HTTP protocol. Requirements regarding HTTP
    are made throughout the specification. <a href="#refsHTTP">[HTTP]</a>
 
-   
+
    <dt>Progress Events</dt>
    <dd><p>A <a href="#conforming-user-agent">conforming user agent</a> must support the
    Progress Events specification.
@@ -329,7 +323,7 @@
    <dd><p>A <a href="#conforming-user-agent">conforming user agent</a> must support the
    <code class="external"><a href="http://www.khronos.org/registry/typedarray/specs/latest/#5">ArrayBuffer</a></code> object.
    <a href="#refsTYPEDARRAY">[TYPEDARRAY]</a>
-   
+
 
    <dt>Web IDL</dt>
    <dd><p>A <a href="#conforming-user-agent">conforming user agent</a> must also
@@ -361,13 +355,13 @@
 
   <h2 id="terminology"><span class="secno">3 </span>Terminology</h2>
 
-  
+
   <p>The term <dfn id="user-credentials">user credentials</dfn> for the purposes of this
   specification means cookies, HTTP authentication, and client-side SSL
   certificates. Specifically it does not refer to proxy authentication or
   the <code title="http-origin">Origin</code> header.
   <a href="#refsCOOKIES">[COOKIES]</a> <!-- XXX ref? --></p>
-  
+
 
   <p>To <dfn id="deflate-a-domstring-into-a-byte-sequence">deflate a DOMString into a byte sequence</dfn> means to create
   a sequence of bytes such that the <var title="">n</var>th byte of the
@@ -483,7 +477,7 @@
 
   <h3 id="constructors"><span class="secno">4.3 </span>Constructors</h3>
 
-  
+
   <p>The <code><a href="#xmlhttprequest">XMLHttpRequest</a></code> object has an associated
   <dfn id="anonymous-flag">anonymous flag</dfn>. If the <a href="#anonymous-flag">anonymous flag</a> is set,
   <a href="#user-credentials">user credentials</a> and the
@@ -492,27 +486,27 @@
   only be set to true by using the
   <code title="dom-AnonXMLHttpRequest"><a href="#dom-anonxmlhttprequest">AnonXMLHttpRequest()</a></code>
   constructor.</p>
-  
+
 
   <dl class="domintro">
    <dt><var title="">client</var> = new <code title="dom-XMLHttpRequest"><a href="#dom-xmlhttprequest">XMLHttpRequest</a></code>()</dt>
    <dd>Returns a new <code><a href="#xmlhttprequest">XMLHttpRequest</a></code> object.</dd>
-   
+
    <dt><var title="">client</var> = new <code title="dom-AnonXMLHttpRequest"><a href="#dom-anonxmlhttprequest">AnonXMLHttpRequest</a></code>()</dt>
    <dd>Returns a new <code><a href="#anonxmlhttprequest">AnonXMLHttpRequest</a></code> object that has the
    <a href="#anonymous-flag">anonymous flag</a> set.</dd>
-   
+
   </dl>
 
   <p>The <dfn id="dom-xmlhttprequest" title="dom-XMLHttpRequest"><code>XMLHttpRequest()</code></dfn>
   constructor must return a new <code><a href="#xmlhttprequest">XMLHttpRequest</a></code> object.
 
-  
+
   <p>The
   <dfn id="dom-anonxmlhttprequest" title="dom-AnonXMLHttpRequest"><code>AnonXMLHttpRequest()</code></dfn>
   constructor must return a new <code><a href="#anonxmlhttprequest">AnonXMLHttpRequest</a></code> object with
   its <a href="#anonymous-flag">anonymous flag</a> set.</p>
-  
+
 
 
 
@@ -561,7 +555,7 @@
 
   <h3 id="event-handlers"><span class="secno">4.5 </span>Event handlers</h3>
 
-  
+
   <p>The following are the
   <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handlers">event handlers</a> (and their corresponding
   <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handler-event-type" title="event handler event type">event handler event types</a>)
@@ -596,7 +590,7 @@
      <td><dfn id="handler-xhr-onloadend" title="handler-xhr-onloadend"><code>onloadend</code></dfn>
      <td><code title="event-xhr-loadend"><a href="#event-xhr-loadend">loadend</a></code>
   </table>
-  
+
 
   <p>The following is the
   <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handlers" title="event handlers">event handler</a>
@@ -704,7 +698,7 @@
    request or null if there is no
    <a class="external" href="http://tools.ietf.org/html/rfc2616/#section-7.2">entity body</a>.</dd>
 
-   
+
    <dt>The <dfn id="upload-complete-flag">upload complete flag</dfn></dt>
    <dd>Used to determine when to stop sending upload progress events. The
    flag is either true or false.</dd>
@@ -712,13 +706,13 @@
    <dt>The <dfn id="upload-events-flag">upload events flag</dfn></dt>
    <dd>Used to determine whether to send upload progress events for
    cross-origin requests. The flag is either true or false.</dd>
-   
+
   </dl>
 
-  
+
   <p>The <code><a href="#xmlhttprequest">XMLHttpRequest</a></code> object also has an associated
   <code><a href="#xmlhttprequestupload">XMLHttpRequestUpload</a></code> object.</p>
-  
+
 
 
   <h4 id="the-open-method"><span class="secno">4.7.1 </span>The <code title="">open()</code> method</h4>
@@ -874,7 +868,7 @@
     <p>Let <var>async</var> be the value of the <var>async</var> argument or
     true if it was omitted.
 
-    
+
     <p>If <var>async</var> is false, there is an associated
     <a href="#xmlhttprequest-document"><code>XMLHttpRequest</code> document</a> and either the
     <code title="dom-XMLHttpRequest-timeout"><a href="#dom-xmlhttprequest-timeout">timeout</a></code> attribute value is
@@ -886,7 +880,7 @@
     <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an
     "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#invalidaccesserror">InvalidAccessError</a></code>" exception and
     terminate these steps.
-    
+
 
    <li>
     <p>If the <var title="">user</var> argument was not omitted follow these
@@ -1002,11 +996,11 @@
   the author as indicated at the end of the
   <code title="dom-XMLHttpRequest-send"><a href="#dom-xmlhttprequest-send">send()</a></code> method section.</p>
 
-  
+
   <p class="note">For non <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/origin-0.html#same-origin">same origin</a> requests using the HTTP
   <code>GET</code> method a preflight request is made when headers other
   than <code>Accept</code> and <code>Accept-Language</code> are set.</p>
-  
+
 
   <p>The
   <dfn id="dom-xmlhttprequest-setrequestheader" title="dom-XMLHttpRequest-setRequestHeader"><code>setRequestHeader(<var title="">header</var>, <var title="">value</var>)</code></dfn>
@@ -1122,7 +1116,7 @@
 X-Test: one, two</code></pre>
   </div>
 
-  
+
   <h4 id="the-timeout-attribute"><span class="secno">4.7.3 </span>The <code title="">timeout</code> attribute</h4>
 
   <dl class="domintro">
@@ -1237,7 +1231,7 @@
   <dfn id="dom-xmlhttprequest-upload" title="dom-XMLHttpRequest-upload"><code>upload</code></dfn>
   attribute must return the associated
   <code><a href="#xmlhttprequestupload">XMLHttpRequestUpload</a></code> object.</p>
-  
+
 
 
   <h4 id="the-send-method"><span class="secno">4.7.6 </span>The <code title="">send()</code> method</h4>
@@ -1295,7 +1289,7 @@
     null, and then follow these rules:</p>
 
     <dl class="switch">
-     
+
      <dt>If <var>data</var> is a <code class="external"><a href="http://www.khronos.org/registry/typedarray/specs/latest/#5">ArrayBuffer</a></code></dt>
      <dd><p>Let the <a href="#request-entity-body">request entity body</a> be the raw data
      represented by <var>data</var>.</dd>
@@ -1311,7 +1305,7 @@
       <p>Let the <a href="#request-entity-body">request entity body</a> be the raw data
       represented by <var>data</var>.</p>
      </dd>
-     
+
 
      <dt>If <var>data</var> is a <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#document">Document</a></code>
 
@@ -1356,7 +1350,7 @@
       and encoded as UTF-8.</p>
      </dd>
 
-     
+
      <dt>If <var>data</var> is a <code><a href="#formdata">FormData</a></code></dt>
 
      <dd>
@@ -1374,7 +1368,7 @@
       generated by the
       <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#multipart/form-data-encoding-algorithm"><code>multipart/form-data</code> encoding algorithm</a>.
      </dd>
-     
+
     </dl>
 
     <p>If a <code>Content-Type</code> header is in
@@ -1397,21 +1391,21 @@
    <li><p>If the <a href="#synchronous-flag">synchronous flag</a> is set release the
    <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#storage-mutex">storage mutex</a>.</li>
 
-   
+
    <li><p>If the <a href="#synchronous-flag">synchronous flag</a> is unset and one or more
    event listeners are registered on the <code><a href="#xmlhttprequestupload">XMLHttpRequestUpload</a></code>
    object set the <a href="#upload-events-flag">upload events flag</a> to true. Otherwise, set
    the <a href="#upload-events-flag">upload events flag</a> to false.</li>
-   
+
 
    <li><p>Set the <a href="#error-flag">error flag</a> to false.</li>
 
-   
+
    <li><p>Set the <a href="#upload-complete-flag">upload complete flag</a> to true if there is no
    <a href="#request-entity-body">request entity body</a> or if the
    <a href="#request-entity-body">request entity body</a> is empty. Otherwise, set the
    <a href="#upload-complete-flag">upload complete flag</a> to false.</li>
-   
+
 
    <li>
     <p>If the <a href="#synchronous-flag">synchronous flag</a> is unset, run these substeps:</p>
@@ -1426,13 +1420,13 @@
       historical reasons.</p>
      </li>
 
-     
+
      <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <code title="event-xhr-loadstart"><a href="#event-xhr-loadstart">loadstart</a></code>.</li>
 
      <li><p>If the <a href="#upload-complete-flag">upload complete flag</a> is false
      <a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">fire a progress event</a> named <code title="event-xhr-loadstart"><a href="#event-xhr-loadstart">loadstart</a></code>
      on the <code><a href="#xmlhttprequestupload">XMLHttpRequestUpload</a></code> object.</li>
-     
+
 
      <li><p>Return the <code title="dom-XMLHttpRequest-send"><a href="#dom-xmlhttprequest-send">send()</a></code>
      method call, but continue running the steps in this algorithm.</li>
@@ -1477,11 +1471,11 @@
 
        <dt>If the <a href="#synchronous-flag">synchronous flag</a> is unset</dt>
        <dd>
-        
+
         <p><a href="#make-upload-progress-notifications">Make upload progress notifications</a>.</p>
 
         <p><a href="#make-progress-notifications">Make progress notifications</a>.</p>
-        
+
 
         <p>While processing the request, as data becomes available and when
         the user interferes with the request,
@@ -1496,9 +1490,9 @@
      <dd>
       <p>These are the <dfn id="cross-origin-request-steps">cross-origin request steps</dfn>.</p>
 
-      
-
-      
+
+
+
       <p>Make a <a class="external" href="http://dev.w3.org/2006/waf/access-control/#cross-origin-request">cross-origin request</a>,
       passing these as parameters:</p>
 
@@ -1562,7 +1556,7 @@
         <a href="#cross-origin-request-event-rules">cross-origin request event rules</a>.</p>
        </dd>
       </dl>
-      
+
      </dd>
     </dl>
    </li>
@@ -1707,12 +1701,12 @@
     some type of error, such as HTTP status code 410.</p>
    </dd>
 
-   
+
    <dt>If <code title="dom-XMLHttpRequest-timeout"><a href="#dom-xmlhttprequest-timeout">timeout</a></code> is not 0
    and since the request started the amount of milliseconds specified by
    <code title="dom-XMLHttpRequest-timeout"><a href="#dom-xmlhttprequest-timeout">timeout</a></code> has passed</dt>
    <dd><p>This is a <a href="#timeout-error">timeout error</a>.</dd>
-   
+
 
    <dt>Once all HTTP headers have been received, the
    <a href="#synchronous-flag">synchronous flag</a> is unset, and the HTTP status code of the
@@ -1735,7 +1729,7 @@
    <dd><p><a href="#switch-done">Switch to the DONE state</a>.</dd>
   </dl>
 
-  
+
   <hr>
 
   <p>The <dfn id="cross-origin-request-event-rules">cross-origin request event rules</dfn> are as follows:</p>
@@ -1789,7 +1783,7 @@
    <i>success</i>, and the <a href="#synchronous-flag">synchronous flag</a> is set</dt>
    <dd><p><a href="#switch-done">Switch to the DONE state</a>.</dd>
   </dl>
-  
+
 
   <hr>
 
@@ -1803,12 +1797,12 @@
   "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#aborterror">AbortError</a></code>" and event
   <code title="event-xhr-abort"><a href="#event-xhr-abort">abort</a></code>.</p>
 
-  
+
   <p>When something is said to be an <dfn id="timeout-error">timeout error</dfn> run the
   <a href="#request-error">request error</a> steps for exception
   "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#timeouterror">TimeoutError</a></code>" and event
   <code title="event-xhr-timeout"><a href="#event-xhr-timeout">timeout</a></code>.</p>
-  
+
 
   <p>When something is said to be a <dfn id="request-error">request error</dfn> for
   exception <var>exception</var> and event <var title="">event</var> run these
@@ -1840,7 +1834,7 @@
     <a href="#synchronous-flag">synchronous flag</a> is unset.</p>
    </li>
 
-   
+
    <li>
     <p>If the <a href="#upload-complete-flag">upload complete flag</a> is false, follow these
     substeps:</p>
@@ -1860,10 +1854,10 @@
    <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <var title="">event</var>.
 
    <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <code title="event-xhr-loadend"><a href="#event-xhr-loadend">loadend</a></code>.
-   
+
   </ol>
 
-  
+
 
   <hr>
 
@@ -1898,14 +1892,14 @@
 
    <li><p><a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-fire" title="concept-event-fire">Fire an event</a> named <code title="event-xhr-readystatechange"><a href="#event-xhr-readystatechange">readystatechange</a></code>.</li>
 
-   
+
    <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <code title="event-xhr-load"><a href="#event-xhr-load">load</a></code>.</li>
 
    <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <code title="event-xhr-loadend"><a href="#event-xhr-loadend">loadend</a></code>.</li>
-   
+
   </ol>
 
-  
+
   <hr>
 
   <p>When it is said to <dfn id="make-progress-notifications">make progress notifications</dfn>, while the
@@ -1946,7 +1940,7 @@
   </ul>
 
   <!-- XXX successfully uploaded? -->
-  
+
 
 
   <h4 id="the-abort-method"><span class="secno">4.7.8 </span>The <code title="">abort()</code> method</h4>
@@ -1998,7 +1992,7 @@
 
      <li><p><a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-fire" title="concept-event-fire">Fire an event</a> named <code title="event-xhr-readystatechange"><a href="#event-xhr-readystatechange">readystatechange</a></code>.</li>
 
-     
+
      <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <code title="event-xhr-abort"><a href="#event-xhr-abort">abort</a></code>.</li>
 
      <li><p><a class="external" href="http://dev.w3.org/2006/webapi/progress/#concept-event-fire-progress" title="concept-event-fire-progress">Fire a progress event</a> named <code title="event-xhr-loadend"><a href="#event-xhr-loadend">loadend</a></code>.</li>
@@ -2017,10 +2011,10 @@
        on the <code><a href="#xmlhttprequestupload">XMLHttpRequestUpload</a></code> object.</li>
       </ol>
      </li>
-     
+
     </ol>
 
-    
+
    </li>
 
    <li>
@@ -2130,13 +2124,13 @@
    <li><p>Return null.</li>
   </ol>
 
-  
+
   <p class="note">The Cross-Origin Resource Sharing specification filters
   the headers that are exposed by
   <code title="dom-XMLHttpRequest-getResponseHeader"><a href="#dom-xmlhttprequest-getresponseheader">getResponseHeader()</a></code>
   for non <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/origin-0.html#same-origin" title="same origin">same-origin</a>
   requests. <a href="#refsCORS">[CORS]</a>
-  
+
 
   <div class="example">
 
@@ -2189,13 +2183,13 @@
    U+003A COLON U+0020 SPACE pair.</li>
   </ol>
 
-  
+
   <p class="note">The Cross-Origin Resource Sharing specification filters
   the headers that are exposed by
   <code title="dom-XMLHttpRequest-getAllResponseHeaders"><a href="#dom-xmlhttprequest-getallresponseheaders">getAllResponseHeaders()</a></code>
   for non <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/origin-0.html#same-origin" title="same origin">same-origin</a>
   requests. <a href="#refsCORS">[CORS]</a>
-  
+
 
   <div class="example">
    <p>For the following script:</p>
@@ -2242,7 +2236,7 @@
   <dfn id="final-charset">Final charset</dfn> is the override charset unless
   that is null in which case it is the response charset.</p>
 
-  
+
 
   <hr>
 
@@ -2343,7 +2337,7 @@
    <code title="">+xml</code>, return null and terminate these
    steps.</li>
 
-   
+
    <li>
     <p>If <a href="#final-mime-type">final MIME type</a> is <code>text/html</code> let
     <var title="">document</var> be <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#document">Document</a></code> object that represents
@@ -2351,7 +2345,7 @@
     forth in the HTML specification for an HTML parser with scripting
     disabled. <a href="#refsHTML">[HTML]</a>
    </li>
-   
+
 
    <li>
     <p>Otherwise, let <var title="">document</var> be a
@@ -2370,7 +2364,7 @@
    <li><p>Return <var title="">document</var>.</li>
   </ol>
 
-  
+
   <p>The
   <dfn id="blob-response-entity-body">blob response entity body</dfn> is a
   <code class="external"><a href="http://dev.w3.org/2006/webapi/FileAPI/#blob">Blob</a></code> representing the <a href="#response-entity-body">response entity body</a>. If
@@ -2575,7 +2569,7 @@
     </ol>
    </dd>
   </dl>
-  
+
 
 
   <h4 id="the-responsetext-attribute"><span class="secno">4.8.9 </span>The <code title="">responseText</code> attribute</h4>
@@ -2584,12 +2578,12 @@
    <dt><var title="">client</var> . <code title="dom-XMLHttpRequest-responseText"><a href="#dom-xmlhttprequest-responsetext">responseText</a></code></dt>
    <dd>
     <p>Returns the <a href="#text-response-entity-body">text response entity body</a>.</p>
-    
+
     <p>Throws an "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#invalidstateerror">InvalidStateError</a></code>"
     exception if
     <code title="dom-XMLHttpRequest-responseType"><a href="#dom-xmlhttprequest-responsetype">responseType</a></code> is not
     the empty string or "<code title="">text</code>".
-    
+
    </dd>
   </dl>
 
@@ -2599,14 +2593,14 @@
   steps:</p>
 
   <ol>
-   
+
    <li><p>If
    <code title="dom-XMLHttpRequest-responseType"><a href="#dom-xmlhttprequest-responsetype">responseType</a></code> is not
    the empty string or "<code title="">text</code>",
    <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an
    "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#invalidstateerror">InvalidStateError</a></code>" exception and
    terminate these steps.
-   
+
 
    <li><p>If the state is not <a href="#dom-xmlhttprequest-loading" title="dom-XMLHttpRequest-LOADING">LOADING</a> or
    <a href="#dom-xmlhttprequest-done" title="dom-XMLHttpRequest-DONE">DONE</a> return the empty string and
@@ -2625,12 +2619,12 @@
    <dt><var title="">client</var> . <code title="dom-XMLHttpRequest-responseXML"><a href="#dom-xmlhttprequest-responsexml">responseXML</a></code></dt>
    <dd>
     <p>Returns the <a href="#document-response-entity-body">document response entity body</a>.</p>
-    
+
     <p>Throws an "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#invalidstateerror">InvalidStateError</a></code>"
     exception if
     <code title="dom-XMLHttpRequest-responseType"><a href="#dom-xmlhttprequest-responsetype">responseType</a></code> is not
     the empty string or "<code title="">document</code>".
-    
+
    </dd>
   </dl>
 
@@ -2639,14 +2633,14 @@
   attribute must return the result of running these steps:</p>
 
   <ol>
-   
+
    <li><p>If
    <code title="dom-XMLHttpRequest-responseType"><a href="#dom-xmlhttprequest-responsetype">responseType</a></code> is not
    the empty string or "<code title="">document</code>",
    <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an
    "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#invalidstateerror">InvalidStateError</a></code>" exception and
    terminate these steps.</li>
-   
+
 
    <li><p>If the state is not <a href="#dom-xmlhttprequest-done" title="dom-XMLHttpRequest-DONE">DONE</a> return
    null and terminate these steps.</li>
@@ -2657,7 +2651,7 @@
    <li><p>Return the <a href="#document-response-entity-body">document response entity body</a>.</li>
   </ol>
 
-  
+
   <p class="note">The
   <code title="dom-XMLHttpRequest-responseXML"><a href="#dom-xmlhttprequest-responsexml">responseXML</a></code> attribute
   has XML in its name for historical reasons. It also returns HTML resources
@@ -2788,44 +2782,6 @@
 
 
 
-  <h2 class="no-num" id="differences">Differences from XMLHttpRequest</h2>
-
-  <p>XMLHttpRequest Level 2 adds the following new features:</p>
-
-  <ul>
-   <li><p>The ability to make cross-origin requests.</li>
-
-   <li><p>The ability to make anonymous requests &mdash;
-   <code>Referer</code>, origin, and credentials are not part of the
-   request.</li>
-
-   <li><p>The ability to register for progress events. Both for downloads
-   (put listeners on the <code><a href="#xmlhttprequest">XMLHttpRequest</a></code> object itself) and
-   uploads (put listeners on the <code><a href="#xmlhttprequestupload">XMLHttpRequestUpload</a></code> object,
-   returned by the <code title="dom-XMLHttpRequest-upload"><a href="#dom-xmlhttprequest-upload">upload</a></code>
-   attribute).</li>
-
-   <li><p>The ability to override the media type and character encoding of
-   the response through the
-   <code title="dom-XMLHttpRequest-overrideMimeType"><a href="#dom-xmlhttprequest-overridemimetype">overrideMimeType()</a></code>
-   method.</li>
-
-   <li><p>The ability to set a timeout for the request.</li>
-
-   <li><p>The ability to transfer
-   <code class="external"><a href="http://www.khronos.org/registry/typedarray/specs/latest/#5">ArrayBuffer</a></code>,
-   <code class="external"><a href="http://dev.w3.org/2006/webapi/FileAPI/#blob">Blob</a></code>,
-   <code class="external"><a href="http://dev.w3.org/2006/webapi/FileAPI/#file">File</a></code> and <code><a href="#formdata">FormData</a></code>
-   objects.</li>
-
-   <li><p>The
-   <code title="dom-XMLHttpRequest-responseType"><a href="#dom-xmlhttprequest-responsetype">responseType</a></code> and
-   <code title="dom-XMLHttpRequest-response"><a href="#dom-xmlhttprequest-response">response</a></code>
-   attributes.</li>
-  </ul>
-  
-
-
 <h2 class="no-num" id="references">References</h2>
 <h3 class="no-num" id="normative-references">Normative references</h3>
 <div id="anolis-references-normative"><dl><dt id="refsCOOKIES">[COOKIES]
--- a/Overview.src.html	Thu Nov 24 11:15:01 2011 +0100
+++ b/Overview.src.html	Thu Nov 24 11:20:31 2011 +0100
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html lang="en-US">
  <head>
-  <title>XMLHttpRequest Level 2</title>
+  <title>XMLHttpRequest</title>
   <style type="text/css">
    pre.idl { border:solid thin; background:#eee; color:#000; padding:0.5em }
    pre.idl :link, pre.idl :visited { color:inherit; background:transparent }
@@ -35,31 +35,28 @@
   <div class="head">
 <!--logo-->
 
-   
-   <h1 class="head" id="xmlhttprequest-level-2">XMLHttpRequest Level 2</h1>
+
+   <h1 class="head" id="xmlhttprequest-ls">XMLHttpRequest</h1>
 
    <h2 class="no-num no-toc" id="w3c-doctype">[LONGSTATUS] [DATE: 3 August 2002]</h2>
 
    <dl>
     <dt>This Version:</dt>
-    <dd class=dontpublish><a href="http://dev.w3.org/2006/webapi/XMLHttpRequest-2/">http://dev.w3.org/2006/webapi/XMLHttpRequest-2/</a></dd>
+    <dd class=dontpublish><a href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html">http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html</a></dd>
     <dd class=publish><a href="[VERSION]">[VERSION]</a></dd>
 
     <dt class=publish>Latest Version:</dt>
     <dd class=publish><a href="[LATEST]">[LATEST]</a></dd>
 
     <dt class=publish>Latest Editor Draft:</dt>
-    <dd class=publish><a href="http://dev.w3.org/2006/webapi/XMLHttpRequest-2/">http://dev.w3.org/2006/webapi/XMLHttpRequest-2/</a></dd>
+    <dd class=publish><a href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html">http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html</a></dd>
 
     <dt>Previous Versions:</dt>
-    
-    
     <dd><a href="http://www.w3.org/TR/2011/WD-XMLHttpRequest2-20110816/">http://www.w3.org/TR/2011/WD-XMLHttpRequest2-20110816/</a></dd>
     <dd><a href="http://www.w3.org/TR/2010/WD-XMLHttpRequest2-20100907/">http://www.w3.org/TR/2010/WD-XMLHttpRequest2-20100907/</a></dd>
     <dd><a href="http://www.w3.org/TR/2009/WD-XMLHttpRequest2-20090820/">http://www.w3.org/TR/2009/WD-XMLHttpRequest2-20090820/</a></dd>
     <dd><a href="http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080930/">http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080930/</a></dd>
     <dd><a href="http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080225/">http://www.w3.org/TR/2008/WD-XMLHttpRequest2-20080225/</a></dd>
-    
 
     <dt>Editor:</dt>
     <dd><a href="http://annevankesteren.nl/">Anne van Kesteren</a>
@@ -82,15 +79,14 @@
 
   <hr>
 
+
+
   <h2 class="no-num no-toc" id="specabstract">Abstract</h2>
 
-  
-  <p>The XMLHttpRequest Level 2 specification enhances the
-  <code title>XMLHttpRequest</code> object with new features, such as
-  cross-origin requests, progress events, and the handling of byte streams
-  for both sending and receiving.</p>
-  
-  
+  <p>The XMLHttpRequest specification defines an API that provides scripted
+  client functionality for transferring data between a client and a server.
+
+
 
   <h2 class="no-num no-toc" id="sotd">Status of this Document</h2>
 
@@ -100,13 +96,12 @@
   found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a>
   at http://www.w3.org/TR/.</em></p>
 
-  <p>This is the [DATE: 3 August 2002] [LONGSTATUS] of
-  XMLHttpRequest Level 2. Please send comments to
-  <a href="mailto:[email protected]?subject=[XHR2]%20">[email protected]</a>
+  <p>This is the [DATE: 3 August 2002] [LONGSTATUS] of XMLHttpRequest.
+  Please send comments to
+  <a href="mailto:[email protected]?subject=[XHR]%20">[email protected]</a>
   (<a href="http://lists.w3.org/Archives/Public/public-webapps/">archived</a>)
-  with <samp>[XHR2]</samp> at the start of the subject line.</p>
-
-  
+  with <samp>[XHR]</samp> at the start of the subject line.</p>
+  <!-- XXX bug database link -->
 
   <p>This document is produced by the
   <a href="http://www.w3.org/2008/webapps/">Web Applications</a> (WebApps) Working Group.
@@ -132,7 +127,7 @@
   obsoleted by other documents at any time. It is inappropriate to cite this
   document as other than work in progress.</p>
 
-  
+
 
 
   <h2 class="no-num no-toc" id="toc">Table of Contents</h2>
@@ -247,12 +242,12 @@
   <p>This specification relies on several underlying specifications.</p>
 
   <dl>
-   
+
    <dt>Cross-Origin Resource Sharing</dt>
    <dd><p>A <span>conforming user agent</span> must
    support the algorithms of the Cross-Origin Resource Sharing
    specification. <span data-anolis-ref>CORS</span></p></dd>
-   
+
 
    <dt>DOM4</dt>
    <dd><p>A <span>conforming user agent</span> must
@@ -265,7 +260,7 @@
    support at least the subset of the functionality defined in File API that
    this specification relies upon, such as the <code data-anolis-spec=fileapi>Blob</code> and
    <code data-anolis-spec=fileapi>File</code> interfaces. <span data-anolis-ref>FILEAPI</span></p>
-   
+
 
    <dt>HTML</dt>
    <dd><p>A <span>conforming user agent</span> must
@@ -279,7 +274,7 @@
    support some version of the HTTP protocol. Requirements regarding HTTP
    are made throughout the specification. <span data-anolis-ref>HTTP</span>
 
-   
+
    <dt>Progress Events</dt>
    <dd><p>A <span>conforming user agent</span> must support the
    Progress Events specification.
@@ -289,7 +284,7 @@
    <dd><p>A <span>conforming user agent</span> must support the
    <code data-anolis-spec=typedarray>ArrayBuffer</code> object.
    <span data-anolis-ref>TYPEDARRAY</span>
-   
+
 
    <dt>Web IDL</dt>
    <dd><p>A <span>conforming user agent</span> must also
@@ -321,13 +316,13 @@
 
   <h2 id="terminology">Terminology</h2>
 
-  
+
   <p>The term <dfn>user credentials</dfn> for the purposes of this
   specification means cookies, HTTP authentication, and client-side SSL
   certificates. Specifically it does not refer to proxy authentication or
   the <code title="http-origin">Origin</code> header.
   <span data-anolis-ref>COOKIES</span> <!-- XXX ref? --></p>
-  
+
 
   <p>To <dfn>deflate a DOMString into a byte sequence</dfn> means to create
   a sequence of bytes such that the <var title>n</var>th byte of the
@@ -443,7 +438,7 @@
 
   <h3 id="constructors">Constructors</h3>
 
-  
+
   <p>The <code>XMLHttpRequest</code> object has an associated
   <dfn>anonymous flag</dfn>. If the <span>anonymous flag</span> is set,
   <span>user credentials</span> and the
@@ -452,27 +447,27 @@
   only be set to true by using the
   <code title="dom-AnonXMLHttpRequest">AnonXMLHttpRequest()</code>
   constructor.</p>
-  
+
 
   <dl class="domintro">
    <dt><var title>client</var> = new <code title="dom-XMLHttpRequest">XMLHttpRequest</code>()</dt>
    <dd>Returns a new <code>XMLHttpRequest</code> object.</dd>
-   
+
    <dt><var title>client</var> = new <code title="dom-AnonXMLHttpRequest">AnonXMLHttpRequest</code>()</dt>
    <dd>Returns a new <code>AnonXMLHttpRequest</code> object that has the
    <span>anonymous flag</span> set.</dd>
-   
+
   </dl>
 
   <p>The <dfn title="dom-XMLHttpRequest"><code>XMLHttpRequest()</code></dfn>
   constructor must return a new <code>XMLHttpRequest</code> object.
 
-  
+
   <p>The
   <dfn title="dom-AnonXMLHttpRequest"><code>AnonXMLHttpRequest()</code></dfn>
   constructor must return a new <code>AnonXMLHttpRequest</code> object with
   its <span>anonymous flag</span> set.</p>
-  
+
 
 
 
@@ -521,7 +516,7 @@
 
   <h3 id="event-handlers">Event handlers</h3>
 
-  
+
   <p>The following are the
   <span data-anolis-spec=html>event handlers</span> (and their corresponding
   <span data-anolis-spec=html title="event handler event type">event handler event types</span>)
@@ -556,7 +551,7 @@
      <td><dfn title="handler-xhr-onloadend"><code>onloadend</code></dfn>
      <td><code title="event-xhr-loadend">loadend</code>
   </table>
-  
+
 
   <p>The following is the
   <span data-anolis-spec=html title="event handlers">event handler</span>
@@ -664,7 +659,7 @@
    request or null if there is no
    <span data-anolis-spec=http>entity body</span>.</dd>
 
-   
+
    <dt>The <dfn id="upload-complete-flag">upload complete flag</dfn></dt>
    <dd>Used to determine when to stop sending upload progress events. The
    flag is either true or false.</dd>
@@ -672,13 +667,13 @@
    <dt>The <dfn id="upload-events-flag">upload events flag</dfn></dt>
    <dd>Used to determine whether to send upload progress events for
    cross-origin requests. The flag is either true or false.</dd>
-   
+
   </dl>
 
-  
+
   <p>The <code>XMLHttpRequest</code> object also has an associated
   <code>XMLHttpRequestUpload</code> object.</p>
-  
+
 
 
   <h4>The <code title>open()</code> method</h4>
@@ -834,7 +829,7 @@
     <p>Let <var>async</var> be the value of the <var>async</var> argument or
     true if it was omitted.
 
-    
+
     <p>If <var>async</var> is false, there is an associated
     <span><code>XMLHttpRequest</code> document</span> and either the
     <code title=dom-XMLHttpRequest-timeout>timeout</code> attribute value is
@@ -846,7 +841,7 @@
     <span data-anolis-spec=dom title=concept-throw>throw</span> an
     "<code data-anolis-spec=dom>InvalidAccessError</code>" exception and
     terminate these steps.
-    
+
 
    <li>
     <p>If the <var title>user</var> argument was not omitted follow these
@@ -962,11 +957,11 @@
   the author as indicated at the end of the
   <code title="dom-XMLHttpRequest-send">send()</code> method section.</p>
 
-  
+
   <p class="note">For non <span data-anolis-spec=html>same origin</span> requests using the HTTP
   <code>GET</code> method a preflight request is made when headers other
   than <code>Accept</code> and <code>Accept-Language</code> are set.</p>
-  
+
 
   <p>The
   <dfn id="dom-xmlhttprequest-setrequestheader" title="dom-XMLHttpRequest-setRequestHeader"><code>setRequestHeader(<var title>header</var>, <var title>value</var>)</code></dfn>
@@ -1082,7 +1077,7 @@
 X-Test: one, two</code></pre>
   </div>
 
-  
+
   <h4>The <code title>timeout</code> attribute</h4>
 
   <dl class="domintro">
@@ -1197,7 +1192,7 @@
   <dfn title="dom-XMLHttpRequest-upload"><code>upload</code></dfn>
   attribute must return the associated
   <code>XMLHttpRequestUpload</code> object.</p>
-  
+
 
 
   <h4>The <code title>send()</code> method</h4>
@@ -1255,7 +1250,7 @@
     null, and then follow these rules:</p>
 
     <dl class="switch">
-     
+
      <dt>If <var>data</var> is a <code data-anolis-spec=typedarray>ArrayBuffer</code></dt>
      <dd><p>Let the <span>request entity body</span> be the raw data
      represented by <var>data</var>.</p></dd>
@@ -1271,7 +1266,7 @@
       <p>Let the <span>request entity body</span> be the raw data
       represented by <var>data</var>.</p>
      </dd>
-     
+
 
      <dt>If <var>data</var> is a <code data-anolis-spec=dom>Document</code>
 
@@ -1316,7 +1311,7 @@
       and encoded as UTF-8.</p>
      </dd>
 
-     
+
      <dt>If <var>data</var> is a <code>FormData</code></dt>
 
      <dd>
@@ -1334,7 +1329,7 @@
       generated by the
       <span data-anolis-spec=html><code>multipart/form-data</code> encoding algorithm</span>.
      </dd>
-     
+
     </dl>
 
     <p>If a <code>Content-Type</code> header is in
@@ -1357,21 +1352,21 @@
    <li><p>If the <span>synchronous flag</span> is set release the
    <span data-anolis-spec=html>storage mutex</span>.</p></li>
 
-   
+
    <li><p>If the <span>synchronous flag</span> is unset and one or more
    event listeners are registered on the <code>XMLHttpRequestUpload</code>
    object set the <span>upload events flag</span> to true. Otherwise, set
    the <span>upload events flag</span> to false.</p></li>
-   
+
 
    <li><p>Set the <span>error flag</span> to false.</p></li>
 
-   
+
    <li><p>Set the <span>upload complete flag</span> to true if there is no
    <span>request entity body</span> or if the
    <span>request entity body</span> is empty. Otherwise, set the
    <span>upload complete flag</span> to false.</p></li>
-   
+
 
    <li>
     <p>If the <span>synchronous flag</span> is unset, run these substeps:</p>
@@ -1386,13 +1381,13 @@
       historical reasons.</p>
      </li>
 
-     
+
      <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <code title="event-xhr-loadstart">loadstart</code>.</p></li>
 
      <li><p>If the <span>upload complete flag</span> is false
      <span data-anolis-spec=progress-events title=concept-event-fire-progress>fire a progress event</span> named <code title="event-xhr-loadstart">loadstart</code>
      on the <code>XMLHttpRequestUpload</code> object.</p></li>
-     
+
 
      <li><p>Return the <code title="dom-XMLHttpRequest-send">send()</code>
      method call, but continue running the steps in this algorithm.</p></li>
@@ -1437,11 +1432,11 @@
 
        <dt>If the <span>synchronous flag</span> is unset</dt>
        <dd>
-        
+
         <p><span>Make upload progress notifications</span>.</p>
 
         <p><span>Make progress notifications</span>.</p>
-        
+
 
         <p>While processing the request, as data becomes available and when
         the user interferes with the request,
@@ -1456,9 +1451,9 @@
      <dd>
       <p>These are the <dfn>cross-origin request steps</dfn>.</p>
 
-      
-
-      
+
+
+
       <p>Make a <span data-anolis-spec=cors>cross-origin request</span>,
       passing these as parameters:</p>
 
@@ -1522,7 +1517,7 @@
         <span>cross-origin request event rules</span>.</p>
        </dd>
       </dl>
-      
+
      </dd>
     </dl>
    </li>
@@ -1667,12 +1662,12 @@
     some type of error, such as HTTP status code 410.</p>
    </dd>
 
-   
+
    <dt>If <code title="dom-XMLHttpRequest-timeout">timeout</code> is not 0
    and since the request started the amount of milliseconds specified by
    <code title="dom-XMLHttpRequest-timeout">timeout</code> has passed</dt>
    <dd><p>This is a <span>timeout error</span>.</p></dd>
-   
+
 
    <dt>Once all HTTP headers have been received, the
    <span>synchronous flag</span> is unset, and the HTTP status code of the
@@ -1695,7 +1690,7 @@
    <dd><p><span>Switch to the DONE state</span>.</p></dd>
   </dl>
 
-  
+
   <hr>
 
   <p>The <dfn>cross-origin request event rules</dfn> are as follows:</p>
@@ -1749,7 +1744,7 @@
    <i>success</i>, and the <span>synchronous flag</span> is set</dt>
    <dd><p><span>Switch to the DONE state</span>.</p></dd>
   </dl>
-  
+
 
   <hr>
 
@@ -1763,12 +1758,12 @@
   "<code data-anolis-spec=dom>AbortError</code>" and event
   <code title="event-xhr-abort">abort</code>.</p>
 
-  
+
   <p>When something is said to be an <dfn>timeout error</dfn> run the
   <span>request error</span> steps for exception
   "<code data-anolis-spec=dom>TimeoutError</code>" and event
   <code title="event-xhr-timeout">timeout</code>.</p>
-  
+
 
   <p>When something is said to be a <dfn>request error</dfn> for
   exception <var>exception</var> and event <var title>event</var> run these
@@ -1800,7 +1795,7 @@
     <span>synchronous flag</span> is unset.</p>
    </li>
 
-   
+
    <li>
     <p>If the <span>upload complete flag</span> is false, follow these
     substeps:</p>
@@ -1820,10 +1815,10 @@
    <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <var title>event</var>.
 
    <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <code title="event-xhr-loadend">loadend</code>.
-   
+
   </ol>
 
-  
+
 
   <hr>
 
@@ -1858,14 +1853,14 @@
 
    <li><p><span data-anolis-spec=dom title=concept-event-fire>Fire an event</span> named <code title=event-xhr-readystatechange>readystatechange</code>.</p></li>
 
-   
+
    <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <code title="event-xhr-load">load</code>.</p></li>
 
    <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <code title="event-xhr-loadend">loadend</code>.</p></li>
-   
+
   </ol>
 
-  
+
   <hr>
 
   <p>When it is said to <dfn>make progress notifications</dfn>, while the
@@ -1906,7 +1901,7 @@
   </ul>
 
   <!-- XXX successfully uploaded? -->
-  
+
 
 
   <h4>The <code title>abort()</code> method</h4>
@@ -1958,7 +1953,7 @@
 
      <li><p><span data-anolis-spec=dom title=concept-event-fire>Fire an event</span> named <code title=event-xhr-readystatechange>readystatechange</code>.</p></li>
 
-     
+
      <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <code title="event-xhr-abort">abort</code>.</p></li>
 
      <li><p><span data-anolis-spec=progress-events title=concept-event-fire-progress>Fire a progress event</span> named <code title="event-xhr-loadend">loadend</code>.</p></li>
@@ -1977,10 +1972,10 @@
        on the <code>XMLHttpRequestUpload</code> object.</p></li>
       </ol>
      </li>
-     
+
     </ol>
 
-    
+
    </li>
 
    <li>
@@ -2090,13 +2085,13 @@
    <li><p>Return null.</p></li>
   </ol>
 
-  
+
   <p class="note">The Cross-Origin Resource Sharing specification filters
   the headers that are exposed by
   <code title="dom-XMLHttpRequest-getResponseHeader">getResponseHeader()</code>
   for non <span data-anolis-spec=html title="same origin">same-origin</span>
   requests. <span data-anolis-ref>CORS</span>
-  
+
 
   <div class="example">
 
@@ -2149,13 +2144,13 @@
    U+003A COLON U+0020 SPACE pair.</p></li>
   </ol>
 
-  
+
   <p class="note">The Cross-Origin Resource Sharing specification filters
   the headers that are exposed by
   <code title="dom-XMLHttpRequest-getAllResponseHeaders">getAllResponseHeaders()</code>
   for non <span data-anolis-spec=html title="same origin">same-origin</span>
   requests. <span data-anolis-ref>CORS</span>
-  
+
 
   <div class="example">
    <p>For the following script:</p>
@@ -2202,7 +2197,7 @@
   <dfn id="final-charset">Final charset</dfn> is the override charset unless
   that is null in which case it is the response charset.</p>
 
-  
+
 
   <hr>
 
@@ -2303,7 +2298,7 @@
    <code title>+xml</code>, return null and terminate these
    steps.</p></li>
 
-   
+
    <li>
     <p>If <span>final MIME type</span> is <code>text/html</code> let
     <var title>document</var> be <code data-anolis-spec=dom>Document</code> object that represents
@@ -2311,7 +2306,7 @@
     forth in the HTML specification for an HTML parser with scripting
     disabled. <span data-anolis-ref>HTML</span>
    </li>
-   
+
 
    <li>
     <p>Otherwise, let <var title>document</var> be a
@@ -2330,7 +2325,7 @@
    <li><p>Return <var title>document</var>.</p></li>
   </ol>
 
-  
+
   <p>The
   <dfn id="blob-response-entity-body">blob response entity body</dfn> is a
   <code data-anolis-spec=fileapi>Blob</code> representing the <span>response entity body</span>. If
@@ -2535,7 +2530,7 @@
     </ol>
    </dd>
   </dl>
-  
+
 
 
   <h4>The <code title>responseText</code> attribute</h4>
@@ -2544,12 +2539,12 @@
    <dt><var title>client</var> . <code title="dom-XMLHttpRequest-responseText">responseText</code></dt>
    <dd>
     <p>Returns the <span>text response entity body</span>.</p>
-    
+
     <p>Throws an "<code data-anolis-spec=dom>InvalidStateError</code>"
     exception if
     <code title="dom-XMLHttpRequest-responseType">responseType</code> is not
     the empty string or "<code title>text</code>".
-    
+
    </dd>
   </dl>
 
@@ -2559,14 +2554,14 @@
   steps:</p>
 
   <ol>
-   
+
    <li><p>If
    <code title="dom-XMLHttpRequest-responseType">responseType</code> is not
    the empty string or "<code title>text</code>",
    <span data-anolis-spec=dom title=concept-throw>throw</span> an
    "<code data-anolis-spec=dom>InvalidStateError</code>" exception and
    terminate these steps.
-   
+
 
    <li><p>If the state is not <span title="dom-XMLHttpRequest-LOADING">LOADING</span> or
    <span title="dom-XMLHttpRequest-DONE">DONE</span> return the empty string and
@@ -2585,12 +2580,12 @@
    <dt><var title>client</var> . <code title="dom-XMLHttpRequest-responseXML">responseXML</code></dt>
    <dd>
     <p>Returns the <span>document response entity body</span>.</p>
-    
+
     <p>Throws an "<code data-anolis-spec=dom>InvalidStateError</code>"
     exception if
     <code title="dom-XMLHttpRequest-responseType">responseType</code> is not
     the empty string or "<code title>document</code>".
-    
+
    </dd>
   </dl>
 
@@ -2599,14 +2594,14 @@
   attribute must return the result of running these steps:</p>
 
   <ol>
-   
+
    <li><p>If
    <code title="dom-XMLHttpRequest-responseType">responseType</code> is not
    the empty string or "<code title>document</code>",
    <span data-anolis-spec=dom title=concept-throw>throw</span> an
    "<code data-anolis-spec=dom>InvalidStateError</code>" exception and
    terminate these steps.</p></li>
-   
+
 
    <li><p>If the state is not <span title="dom-XMLHttpRequest-DONE">DONE</span> return
    null and terminate these steps.</p></li>
@@ -2617,7 +2612,7 @@
    <li><p>Return the <span>document response entity body</span>.</p></li>
   </ol>
 
-  
+
   <p class="note">The
   <code title="dom-XMLHttpRequest-responseXML">responseXML</code> attribute
   has XML in its name for historical reasons. It also returns HTML resources
@@ -2748,44 +2743,6 @@
 
 
 
-  <h2 class="no-num" id="differences">Differences from XMLHttpRequest</h2>
-
-  <p>XMLHttpRequest Level 2 adds the following new features:</p>
-
-  <ul>
-   <li><p>The ability to make cross-origin requests.</p></li>
-
-   <li><p>The ability to make anonymous requests &mdash;
-   <code>Referer</code>, origin, and credentials are not part of the
-   request.</p></li>
-
-   <li><p>The ability to register for progress events. Both for downloads
-   (put listeners on the <code>XMLHttpRequest</code> object itself) and
-   uploads (put listeners on the <code>XMLHttpRequestUpload</code> object,
-   returned by the <code title="dom-XMLHttpRequest-upload">upload</code>
-   attribute).</p></li>
-
-   <li><p>The ability to override the media type and character encoding of
-   the response through the
-   <code title="dom-XMLHttpRequest-overrideMimeType">overrideMimeType()</code>
-   method.</p></li>
-
-   <li><p>The ability to set a timeout for the request.</p></li>
-
-   <li><p>The ability to transfer
-   <code data-anolis-spec=typedarray>ArrayBuffer</code>,
-   <code data-anolis-spec=fileapi>Blob</code>,
-   <code data-anolis-spec=fileapi>File</code> and <code>FormData</code>
-   objects.</p></li>
-
-   <li><p>The
-   <code title="dom-XMLHttpRequest-responseType">responseType</code> and
-   <code title="dom-XMLHttpRequest-response">response</code>
-   attributes.</p></li>
-  </ul>
-  
-
-
 <h2 class=no-num>References</h2>
 <h3 class=no-num>Normative references</h3>
 <div id=anolis-references-normative></div>