Currently WebSocketChannel::fail() calls m_handle->close() instead of m_handle->disconnect(). This was a mistake, because m_handle->close() may not close the connection immediately if it has unsent data. m_handle->disconnect() should have been used, since it does exactly the same thing as what we want to do. For details, see how *fail the WebSocket connection* and *close the WebSocket connection* is defined in the protocol specification. http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-00#section-6
Created attachment 95576 [details] Patch
Comment on attachment 95576 [details] Patch Looks ok.
Comment on attachment 95576 [details] Patch Clearing flags on attachment: 95576 Committed r87876: <http://trac.webkit.org/changeset/87876>
All reviewed patches have been landed. Closing bug.