<div>I've question about thread to run Web Socket feedback from the protocol.</div><div><br></div><div>If server sends back handshake response and a data frame, and close immediately, fast enough to run JavaScript on browser, how readyState should be?</div>

<div>1) When client recognizes handshake response header, it changes readyState to OPEN  and queue a task to fire a simple event named "open".</div><div>2) Then client reads a data frame, and queue a task to fire a MessageEvent.</div>

<div>3) Then client recognizes the socket is closed, it changes readyState to CLOSED and queue a task to fire a simple event named "close".</div><div><br></div><div>I'm wondering this process should be done on the same thread of the JavaScript, or may be on the different thread.</div>

<div>If it should run on the same thread,  1) would be processed after JavaScript code is processed. Thus, readyState is OPEN when it receives "open" event.</div><div>However, if it may run on the different thread, 1)-3) might be processed before JavaScript code is processed.  So, readyState might be CLOSED when it receives "open" event.</div>

<div><br></div><div>Which is correct behavior?</div><div>It seems WebKit/Mac does former, and Chromium does latter, so LayoutTests/websocket/tests/simple.html would fail with Chromium.</div><div><br></div><div>-- </div><div>

ukai</div><div><br></div>