Only dispatch readystatechange if readyState changes.
authorJungkee Song <jungkee.song@samsung.com>
Thu, 16 May 2013 20:57:30 +0900
changeset 122 d356f5844954
parent 121 e452b6600656
child 123 1565e1b8e730
Only dispatch readystatechange if readyState changes.
Overview.html
Overview.src.html
--- a/Overview.html	Fri May 10 14:17:01 2013 +0900
+++ b/Overview.html	Thu May 16 20:57:30 2013 +0900
@@ -48,7 +48,7 @@
 
    <h1 class="head" id="xmlhttprequest-ls">XMLHttpRequest</h1>
 
-   <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 10 May 2013</h2>
+   <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 16 May 2013</h2>
 
    <dl>
     <dt>This Version:</dt>
@@ -100,7 +100,7 @@
 <p class="now3c copyright"><a rel=license href="http://creativecommons.org/publicdomain/zero/1.0/"><img src="http://i.creativecommons.org/p/zero/1.0/80x15.png" alt=CC0></a>
 To the extent possible under law, the editor has waived all copyright and
 related or neighboring rights to this work. In addition, as of
-10 May 2013, the editor has made this specification available
+16 May 2013, the editor has made this specification available
 under the
 <a rel=license
 href="http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0">Open Web Foundation Agreement Version 1.0</a>,
@@ -142,7 +142,7 @@
    available in the WHATWG <a href="http://xhr.spec.whatwg.org/">XMLHttpRequest Living Standard</a>, under a license that permits reuse of the specification text.</p>
 
   <p>The W3C <a href="http://www.w3.org/2008/webapps/">Web Applications Working
-  Group</a> is the W3C working group responsible for this specification's progress along the W3C Recommendation track. This specification is the 10 May 2013 Editor's Draft.</p>
+  Group</a> is the W3C working group responsible for this specification's progress along the W3C Recommendation track. This specification is the 16 May 2013 Editor's Draft.</p>
   
   <p>Publication as an Editor's Draft does not imply endorsement by the W3C
   Membership. This is a draft document and may be updated, replaced or
@@ -880,9 +880,15 @@
    <li><p>Set <a href="#response-entity-body">response entity body</a> to null.
   </ul>
 
- <li><p>Change the state to <a href="#dom-xmlhttprequest-opened" title="dom-XMLHttpRequest-OPENED">OPENED</a>.
-
- <li><p><a class="external" href="http://dev.w3.org/2006/webapi/DOM4Core/#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>If the state is not <a href="#dom-xmlhttprequest-opened" title="dom-XMLHttpRequest-OPENED">OPENED</a>, run these
+  substeps:
+
+  <ol>
+   <li><p>Change the state to <a href="#dom-xmlhttprequest-opened" title="dom-XMLHttpRequest-OPENED">OPENED</a>.
+
+   <li><p><a class="external" href="http://dev.w3.org/2006/webapi/DOM4Core/#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>.
+  </ol>
 </ol>
 
   <h4 id="the-setrequestheader()-method"><span class="secno">4.6.2 </span>The <code title="">setRequestHeader()</code> method</h4>
@@ -2585,46 +2591,45 @@
     <tr>
      <td><dfn id="event-xhr-readystatechange" title="event-xhr-readystatechange"><code>readystatechange</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/DOM4Core/#event">Event</a></code></td>
-     <td>The <code title="dom-XMLHttpRequest-readyState"><a href="#dom-xmlhttprequest-readystate">readyState</a></code>
-     attribute changes at some seemingly arbitrary times for historical
-     reasons.</td>
+     <td>The <code title="dom-XMLHttpRequest-readyState"><a href="#dom-xmlhttprequest-readystate">readyState</a></code> attribute changes
+     value, except when it changes to <a href="#dom-xmlhttprequest-unsent" title="dom-XMLHttpRequest-UNSENT">UNSENT</a>.
     </tr>
     <tr>
      <td><dfn id="event-xhr-loadstart" title="event-xhr-loadstart"><code>loadstart</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>When the request starts.</td>
+     <td>The request starts.</td>
     </tr>
     <tr>
      <td><dfn id="event-xhr-progress" title="event-xhr-progress"><code>progress</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>While sending and loading data.</td>
+     <td>Transmitting data.</td>
     </tr>
     <tr>
      <td><dfn id="event-xhr-abort" title="event-xhr-abort"><code>abort</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>When the request has been aborted. For instance, by invoking the
+     <td>The request has been aborted. For instance, by invoking the
      <code title="dom-XMLHttpRequest-abort"><a href="#dom-xmlhttprequest-abort">abort()</a></code> method.</td>
     </tr>
     <tr>
      <td><dfn id="event-xhr-error" title="event-xhr-error"><code>error</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>When the request has failed.</td>
+     <td>The request has failed.</td>
     </tr>
     <tr>
      <td><dfn id="event-xhr-load" title="event-xhr-load"><code>load</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>When the request has successfully completed.</td>
+     <td>The request has successfully completed.</td>
     </tr>
     <tr>
      <td><dfn id="event-xhr-timeout" title="event-xhr-timeout"><code>timeout</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>When the author specified timeout has passed before the request
-     could complete.</td>
+     <td>The author specified timeout has passed before the request
+     completed.</td>
     </tr>
     <tr>
      <td><dfn id="event-xhr-loadend" title="event-xhr-loadend"><code>loadend</code></dfn></td>
      <td><code class="external"><a href="http://dev.w3.org/2006/webapi/progress/#progressevent">ProgressEvent</a></code></td>
-     <td>When the request has completed (either in success or failure).</td>
+     <td>The request has completed (either in success or failure).</td>
     </tr>
    </tbody>
   </table>
--- a/Overview.src.html	Fri May 10 14:17:01 2013 +0900
+++ b/Overview.src.html	Thu May 16 20:57:30 2013 +0900
@@ -889,9 +889,15 @@
    <li><p>Set <span>response entity body</span> to null.
   </ul>
 
- <li><p>Change the state to <span title="dom-XMLHttpRequest-OPENED">OPENED</span>.
-
- <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>If the state is not <span title="dom-XMLHttpRequest-OPENED">OPENED</span>, run these
+  substeps:
+
+  <ol>
+   <li><p>Change the state to <span title="dom-XMLHttpRequest-OPENED">OPENED</span>.
+
+   <li><p><span data-anolis-spec=dom title=concept-event-fire>Fire an event</span> named <code title=event-xhr-readystatechange>readystatechange</code>.
+  </ol>
 </ol>
 
   <h4>The <code title>setRequestHeader()</code> method</h4>
@@ -2594,46 +2600,45 @@
     <tr>
      <td><dfn title="event-xhr-readystatechange"><code>readystatechange</code></dfn></td>
      <td><code data-anolis-spec=dom>Event</code></td>
-     <td>The <code title="dom-XMLHttpRequest-readyState">readyState</code>
-     attribute changes at some seemingly arbitrary times for historical
-     reasons.</td>
+     <td>The <code title="dom-XMLHttpRequest-readyState">readyState</code> attribute changes
+     value, except when it changes to <span title=dom-XMLHttpRequest-UNSENT>UNSENT</span>.
     </tr>
     <tr>
      <td><dfn title="event-xhr-loadstart"><code>loadstart</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>When the request starts.</td>
+     <td>The request starts.</td>
     </tr>
     <tr>
      <td><dfn title="event-xhr-progress"><code>progress</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>While sending and loading data.</td>
+     <td>Transmitting data.</td>
     </tr>
     <tr>
      <td><dfn title="event-xhr-abort"><code>abort</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>When the request has been aborted. For instance, by invoking the
+     <td>The request has been aborted. For instance, by invoking the
      <code title="dom-XMLHttpRequest-abort">abort()</code> method.</td>
     </tr>
     <tr>
      <td><dfn title="event-xhr-error"><code>error</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>When the request has failed.</td>
+     <td>The request has failed.</td>
     </tr>
     <tr>
      <td><dfn title="event-xhr-load"><code>load</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>When the request has successfully completed.</td>
+     <td>The request has successfully completed.</td>
     </tr>
     <tr>
      <td><dfn title="event-xhr-timeout"><code>timeout</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>When the author specified timeout has passed before the request
-     could complete.</td>
+     <td>The author specified timeout has passed before the request
+     completed.</td>
     </tr>
     <tr>
      <td><dfn title="event-xhr-loadend"><code>loadend</code></dfn></td>
      <td><code data-anolis-spec=progress-events>ProgressEvent</code></td>
-     <td>When the request has completed (either in success or failure).</td>
+     <td>The request has completed (either in success or failure).</td>
     </tr>
    </tbody>
   </table>