SocketStream hangs and indefinitely blocks rendering when WebSocket connection gets instantiated. Example web-site to check: GitHub (http://github.com). Requirement: user should be logged-in.
Created attachment 315545 [details] Patch
Comment on attachment 315545 [details] Patch Does this make it so every connection times out in 20ms? Shouldn't we make it so the main thread doesn't wait for a connection?
Comment on attachment 315545 [details] Patch I think we should instead make it so the connection succeeding calls a callback, not waiting for the connection and not just setting a timeout of 20ms for the connection.
(In reply to Alex Christensen from comment #2) > Comment on attachment 315545 [details] > Patch > > Does this make it so every connection times out in 20ms? Shouldn't we make > it so the main thread doesn't wait for a connection? Vritually timeout setting affects only web-socket' handshake phase. I took value for 20ms to be aligned with SocketStreamHandleImplCurl.cpp#237
That line is inside of a while loop that polls the socket for data. This line is not, which means that it will just fail once if the network isn't lightning fast.
This bug was covered by https://bugs.webkit.org/show_bug.cgi?id=172630.