No technical comments.
A few editorial comments.
> CLOSING (numeric value 2)
> The connection is going through the closing handshake.
The readyState can enter CLOSING also when close() is called before
establishment. In that case, it's not going through closing handshake.
> // networking
> attribute EventHandleronopen;
insert an SP between EventHandler and onopen
(already fixed on the editor's draft)
> When the user agent validates the server's response during the "establish
a WebSocket connection" algorithm, if the status code received from the
server is not 101 (e.g. it is a redirect), the user agent must fail the
websocket connection.
websocket -> WebSocket
> If the user agent was required to fail the websocket connection or the
WebSocket connection is closed with prejudice, fire a simple event named
error at the WebSocket object. [WSP]
websocket -> WebSocket
> interface CloseEvent : Event {
> readonly attribute boolean wasClean;
> readonly attribute unsigned short code;
> readonly attribute DOMString reason;
> };
missing anchor on reason to its description