WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 115863
[WebSocket] Update pywebsocket to r760
https://bugs.webkit.org/show_bug.cgi?id=115863
Summary
[WebSocket] Update pywebsocket to r760
Lamarque V. Souza
Reported
2013-05-09 09:45:24 PDT
This pywebsocket version supports draft-ietf-hybi-permessage-compression-08. I am going to port the patch in
https://code.google.com/p/chromium/issues/detail?id=229290
to WebKit. I plan to also port the permessage-deflate extension from there.
Attachments
Patch
(154.47 KB, patch)
2013-05-09 10:18 PDT
,
Lamarque V. Souza
ap
: review+
Details
Formatted Diff
Diff
Patch
(158.53 KB, patch)
2013-05-10 13:32 PDT
,
Lamarque V. Souza
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Lamarque V. Souza
Comment 1
2013-05-09 10:18:27 PDT
Created
attachment 201248
[details]
Patch Proposed patch
Alexey Proskuryakov
Comment 2
2013-05-09 22:17:58 PDT
Comment on
attachment 201248
[details]
Patch rs=me
Alexey Proskuryakov
Comment 3
2013-05-09 22:19:27 PDT
Comment on
attachment 201248
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=201248&action=review
> LayoutTests/ChangeLog:21 > + * http/tests/websocket/tests/hybi/url-with-empty-query-expected.txt: Removed. > + * http/tests/websocket/tests/hybi/url-with-empty-query.html: Removed. > + * http/tests/websocket/tests/hybi/url-with-query-expected.txt: Removed. > + * http/tests/websocket/tests/hybi/url-with-query.html: Removed.
Wait, why is this not supported? This has nothing to do with compression, please explain.
WebKit Commit Bot
Comment 4
2013-05-09 22:49:59 PDT
The commit-queue encountered the following flaky tests while processing
attachment 201248
[details]
: media/track/track-remove-crash.html
bug 115892
(author:
eric.carlson@apple.com
) The commit-queue is continuing to process your patch.
Lamarque V. Souza
Comment 5
2013-05-10 06:01:05 PDT
(In reply to
comment #3
)
> (From update of
attachment 201248
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=201248&action=review
> > > LayoutTests/ChangeLog:21 > > + * http/tests/websocket/tests/hybi/url-with-empty-query-expected.txt: Removed. > > + * http/tests/websocket/tests/hybi/url-with-empty-query.html: Removed. > > + * http/tests/websocket/tests/hybi/url-with-query-expected.txt: Removed. > > + * http/tests/websocket/tests/hybi/url-with-query.html: Removed. > > Wait, why is this not supported? This has nothing to do with compression, please explain.
Blink's developers deleted them because they failed after pywebsocket update. I have just researched and the tests were restored in a later commit [1]. I need to figure out what changes are necessary to make them work properly (they still does not work here). [1]
https://code.google.com/p/chromium/issues/detail?id=234541
Lamarque V. Souza
Comment 6
2013-05-10 13:32:06 PDT
Created
attachment 201413
[details]
Patch Fix url-with-empty-query.html and url-with-query.html instead of removing them. The fix came from the patch in
https://code.google.com/p/chromium/issues/detail?id=234541
. The fix does some changes that I think are not completely necessary, but for the sake of future updates coming from Blink I did not remove them.
Takeshi Yoshino
Comment 7
2013-05-14 21:56:20 PDT
(In reply to
comment #5
)
> (In reply to
comment #3
) > > Wait, why is this not supported? This has nothing to do with compression, please explain. > > Blink's developers deleted them because they failed after pywebsocket update. I have just researched and the tests were restored in a later commit [1]. I need to figure out what changes are necessary to make them work properly (they still does not work here).
Yes. They were originally testing the Sec-WebSocket-Location header of HyBi 00 that no longer exists in RFC 6455. As side effect, they were testing that the string passed to the WebSocket constructor as url argument are correctly parsed (in order to build the Sec-WebSocket-Location header). To keep this code path tested for RFC 6455 protocol, too, we were setting the ws_location attribute of _StandaloneRequest object using one manually built from the host header and the resource inside the _wsh.py file. Since Chromium no longer supports HyBi 00, we've cleaned up these Sec-WebSocket-Location related files and code, and added back some new layout test items that directly check the host header and the resource.
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/websocket/tests/hybi/echo-host_wsh.py
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/websocket/tests/hybi/echo-path_wsh.py
Lamarque V. Souza
Comment 8
2013-05-15 17:06:19 PDT
(In reply to
comment #7
)
> (In reply to
comment #5
) > > (In reply to
comment #3
) > > > Wait, why is this not supported? This has nothing to do with compression, please explain. > > > > Blink's developers deleted them because they failed after pywebsocket update. I have just researched and the tests were restored in a later commit [1]. I need to figure out what changes are necessary to make them work properly (they still does not work here). > > Yes. They were originally testing the Sec-WebSocket-Location header of HyBi 00 that no longer exists in RFC 6455. As side effect, they were testing that the string passed to the WebSocket constructor as url argument are correctly parsed (in order to build the Sec-WebSocket-Location header). To keep this code path tested for RFC 6455 protocol, too, we were setting the ws_location attribute of _StandaloneRequest object using one manually built from the host header and the resource inside the _wsh.py file.
Thank you for the explanation.
> Since Chromium no longer supports HyBi 00, we've cleaned up these Sec-WebSocket-Location related files and code, and added back some new layout test items that directly check the host header and the resource.
The remove of support for HyBi 00 was done before the WebKit fork (or Blink was created), correct? The last mention of Sec-WebSocket-Location in WebKit is from last year by what I can see in git's log.
Alexey Proskuryakov
Comment 9
2013-05-15 18:52:34 PDT
Comment on
attachment 201413
[details]
Patch rs=me
WebKit Commit Bot
Comment 10
2013-05-16 17:33:26 PDT
Comment on
attachment 201413
[details]
Patch Clearing flags on attachment: 201413 Committed
r150225
: <
http://trac.webkit.org/changeset/150225
>
Takeshi Yoshino
Comment 11
2013-05-19 19:18:35 PDT
(In reply to
comment #8
)
> The remove of support for HyBi 00 was done before the WebKit fork (or Blink was created), correct? The last mention of Sec-WebSocket-Location in WebKit is from last year by what I can see in git's log.
Right. We added a flag to select the protocol version in July 2011 and stopped supporting HyBi 00 for Chromium.
http://trac.webkit.org/browser/trunk/Source/WebCore/websockets/WebSocketChannel.cpp?rev=90704
and completely removed HyBi 00 code in this change made in July 2012.
http://trac.webkit.org/browser/trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp?rev=122199
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug