- From: poot <cvsmail@w3.org>
- Date: Fri, 17 Jun 2011 05:54:21 -0400
- To: public-html-diffs@w3.org
websocket; hixie: Reintroduce 'error' events for WebSockets. (whatwg r6191) http://dev.w3.org/cvsweb/html5/websockets/Overview.html?r1=1.221&r2=1.222&f=h http://html5.org/tools/web-apps-tracker?from=6190&to=6191 =================================================================== RCS file: /sources/public/html5/websockets/Overview.html,v retrieving revision 1.221 retrieving revision 1.222 diff -u -d -r1.221 -r1.222 --- Overview.html 6 Jun 2011 22:28:53 -0000 1.221 +++ Overview.html 6 Jun 2011 23:00:26 -0000 1.222 @@ -420,6 +420,7 @@ // networking attribute <span>Function</span> <a href="#handler-websocket-onopen" title="handler-WebSocket-onopen">onopen</a>; + attribute <span>Function</span> <a href="#handler-websocket-onerror" title="handler-WebSocket-onerror">onerror</a>; attribute <span>Function</span> <a href="#handler-websocket-onclose" title="handler-WebSocket-onclose">onclose</a>; readonly attribute DOMString <a href="#dom-websocket-extensions" title="dom-WebSocket-extensions">extensions</a>; readonly attribute DOMString <a href="#dom-websocket-protocol" title="dom-WebSocket-protocol">protocol</a>; @@ -760,6 +761,7 @@ <code><a href="#websocket">WebSocket</a></code> interface:<table><thead><tr><th><span title="event handlers">Event handler</span> <th><span>Event handler event type</span> <tbody><tr><td><dfn id="handler-websocket-onopen" title="handler-WebSocket-onopen"><code>onopen</code></dfn> <td> <code title="event-open">open</code> <tr><td><dfn id="handler-websocket-onmessage" title="handler-WebSocket-onmessage"><code>onmessage</code></dfn> <td> <code title="event-message">message</code> + <tr><td><dfn id="handler-websocket-onerror" title="handler-WebSocket-onerror"><code>onerror</code></dfn> <td> <code title="event-error">error</code> <tr><td><dfn id="handler-websocket-onclose" title="handler-WebSocket-onclose"><code>onclose</code></dfn> <td> <code title="event-close">close</code> </table><h2 id="feedback-from-the-protocol"><span class="secno">5 </span>Feedback from the protocol</h2><p>When <i>the WebSocket connection is established</i>, the user agent must <span>queue a task</span> to run these steps:<ol><li><p>Change the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute's @@ -838,18 +840,25 @@ 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 id="closeWebSocket">When <i>the WebSocket connection is closed</i>, possibly <i title="">cleanly</i>, the user agent must - create an event that uses the <code><a href="#closeevent">CloseEvent</a></code> interface, - with the event name <code title="event-close">close</code>, which - does not bubble, is not cancelable, has no default action, whose - <code title="dom-CloseEvent-wasClean"><a href="#dom-closeevent-wasclean">wasClean</a></code> attribute is - set to true if the connection closed <i title="">cleanly</i> and - false otherwise, whose <code title="dom-CloseEvent-code"><a href="#dom-closeevent-code">code</a></code> - attribute is set to <i>the WebSocket connection close code</i>, and - whose <code title="dom-CloseEvent-reason"><a href="#dom-closeevent-reason">reason</a></code> attribute is - set to <i>the WebSocket connection close reason</i>; and <span>queue - a task</span> to first 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), and then - dispatch the event at the <code><a href="#websocket">WebSocket</a></code> object. <a href="#refsWSP">[WSP]</a><p>The <span>task source</span> for all <span title="concept-task">tasks</span> <span title="queue a + <span>queue a task</span> to run the following substeps:<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>fail the websocket + connection</i>, <span>fire a simple event</span> named <code title="">error</code> at the <code><a href="#websocket">WebSocket</a></code> object. <a href="#refsWSP">[WSP]</a></li> + + <li><p>Create an event that uses the <code><a href="#closeevent">CloseEvent</a></code> + interface, with the event name <code title="event-close">close</code>, which does not bubble, is not + cancelable, has no default action, whose <code title="dom-CloseEvent-wasClean"><a href="#dom-closeevent-wasclean">wasClean</a></code> attribute is set to + true if the connection closed <i title="">cleanly</i> and false + otherwise, whose <code title="dom-CloseEvent-code"><a href="#dom-closeevent-code">code</a></code> + attribute is set to <i>the WebSocket connection close code</i>, and + whose <code title="dom-CloseEvent-reason"><a href="#dom-closeevent-reason">reason</a></code> attribute + is set to <i>the WebSocket connection close reason</i> + <span>decoded as UTF-8, with error handling</span>, and dispatch + the event at the <code><a href="#websocket">WebSocket</a></code> object. <a href="#refsWSP">[WSP]</a></li> + + </ol><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 id="websocket-task-source">WebSocket task source</dfn>.<h3 id="event-definitions"><span class="secno">5.1 </span>Event definitions</h3><pre class="idl">interface <dfn id="closeevent">CloseEvent</dfn> : <span>Event</span> { readonly attribute boolean <a href="#dom-closeevent-wasclean" title="dom-CloseEvent-wasClean">wasClean</a>; @@ -869,10 +878,10 @@ (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, or <code title="event-close">close</code> events.<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 + <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-close">close</code> events.<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) or <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></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-message">message</code> events, or <code title="event-close">close</code> events.<p>A <code><a href="#websocket">WebSocket</a></code> object with <i title="the WebSocket + there are any event listeners registered for <code title="event-message">message</code> events, <code title="event-error">error</code>, or <code title="event-close">close</code> events.<p>A <code><a href="#websocket">WebSocket</a></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>If a <code><a href="#websocket">WebSocket</a></code> object is garbage collected while its
Received on Friday, 17 June 2011 09:54:28 UTC