Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Issue 23604044: Replace WebSocketFrameChunk with WebSocketFrame (Closed)

Created:
7 years, 3 months ago by Adam Rice
Modified:
7 years, 2 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Most of the WebSocket code does not need to care about the original frame boundaries. Move the chunk to frame conversion logic to WebSocketBasicStream from WebSocketChannel and change all interfaces except for WebSocketFrameParser to use WebSocketFrame instead of WebSocketFrameChunk. BUG=288603 TEST=net_unittests --gtest_filter=WebSocket* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=225452

Patch Set 1 #

Patch Set 2 : Fixed stuff. #

Patch Set 3 : Fixing stuff. #

Patch Set 4 : Small fixes. #

Patch Set 5 : Small fixes. #

Patch Set 6 : Rebase #

Patch Set 7 : Fixes to debug printing. #

Total comments: 13

Patch Set 8 : Fixes from yhirano review #

Patch Set 9 : Fix a bug with the empty frame suppression. #

Patch Set 10 : Fix compile errors. #

Total comments: 7

Patch Set 11 : Add CreateFrame() method. #

Total comments: 2

Patch Set 12 : Fix partial control frame after headers case #

Total comments: 8

Patch Set 13 : Comment fixes. #

Total comments: 21

Patch Set 14 : Fixes from tyoshino review #

Patch Set 15 : Add tests for WebSocket protocol errors #

Patch Set 16 : Hasta la vista, baby #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1208 lines, -1035 lines) Patch
M net/websockets/websocket_basic_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +49 lines, -6 lines 0 comments Download
M net/websockets/websocket_basic_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +213 lines, -59 lines 0 comments Download
M net/websockets/websocket_basic_stream_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 9 chunks +418 lines, -202 lines 0 comments Download
M net/websockets/websocket_channel.h View 1 2 3 4 chunks +19 lines, -30 lines 0 comments Download
M net/websockets/websocket_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 13 chunks +73 lines, -164 lines 0 comments Download
M net/websockets/websocket_channel_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 46 chunks +369 lines, -524 lines 0 comments Download
M net/websockets/websocket_frame.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +27 lines, -7 lines 0 comments Download
M net/websockets/websocket_frame.cc View 1 2 3 4 5 6 7 2 chunks +18 lines, -9 lines 0 comments Download
M net/websockets/websocket_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +22 lines, -34 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
Adam Rice
7 years, 3 months ago (2013-09-12 11:01:15 UTC) #1
yhirano
https://codereview.chromium.org/23604044/diff/18001/net/websockets/websocket_basic_stream.cc File net/websockets/websocket_basic_stream.cc (right): https://codereview.chromium.org/23604044/diff/18001/net/websockets/websocket_basic_stream.cc#newcode349 net/websockets/websocket_basic_stream.cc:349: const bool final = is_final_chunk && current_frame_header_->final; [opt] I ...
7 years, 3 months ago (2013-09-13 10:03:17 UTC) #2
Adam Rice
https://codereview.chromium.org/23604044/diff/18001/net/websockets/websocket_basic_stream.cc File net/websockets/websocket_basic_stream.cc (right): https://codereview.chromium.org/23604044/diff/18001/net/websockets/websocket_basic_stream.cc#newcode349 net/websockets/websocket_basic_stream.cc:349: const bool final = is_final_chunk && current_frame_header_->final; On 2013/09/13 ...
7 years, 3 months ago (2013-09-13 14:09:53 UTC) #3
yhirano
https://codereview.chromium.org/23604044/diff/36001/net/websockets/websocket_basic_stream.cc File net/websockets/websocket_basic_stream.cc (right): https://codereview.chromium.org/23604044/diff/36001/net/websockets/websocket_basic_stream.cc#newcode93 net/websockets/websocket_basic_stream.cc:93: return result; Can you add DCHECK(frame_chunks.empty()) here for clarification? ...
7 years, 3 months ago (2013-09-17 07:43:55 UTC) #4
Adam Rice
https://codereview.chromium.org/23604044/diff/36001/net/websockets/websocket_basic_stream.cc File net/websockets/websocket_basic_stream.cc (right): https://codereview.chromium.org/23604044/diff/36001/net/websockets/websocket_basic_stream.cc#newcode93 net/websockets/websocket_basic_stream.cc:93: return result; On 2013/09/17 07:43:55, yhirano wrote: > Can ...
7 years, 3 months ago (2013-09-17 10:42:34 UTC) #5
yhirano
lgtm
7 years, 3 months ago (2013-09-17 12:05:08 UTC) #6
Adam Rice
+tyoshino for websockets OWNERS.
7 years, 3 months ago (2013-09-17 13:03:15 UTC) #7
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/23604044/diff/42001/net/websockets/websocket_basic_stream.cc File net/websockets/websocket_basic_stream.cc (right): https://codereview.chromium.org/23604044/diff/42001/net/websockets/websocket_basic_stream.cc#newcode73 net/websockets/websocket_basic_stream.cc:73: return ConvertChunksToFrames(&frame_chunks, frames); empty |frames| may be returned without ...
7 years, 3 months ago (2013-09-19 06:45:11 UTC) #8
Adam Rice
https://codereview.chromium.org/23604044/diff/42001/net/websockets/websocket_basic_stream.cc File net/websockets/websocket_basic_stream.cc (right): https://codereview.chromium.org/23604044/diff/42001/net/websockets/websocket_basic_stream.cc#newcode73 net/websockets/websocket_basic_stream.cc:73: return ConvertChunksToFrames(&frame_chunks, frames); On 2013/09/19 06:45:12, tyoshino wrote: > ...
7 years, 3 months ago (2013-09-20 08:09:27 UTC) #9
tyoshino (SeeGerritForStatus)
ps12 _basic_stream.* and _stream.* look good. i'm gonna review rest tomorrow. https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_basic_stream.h File net/websockets/websocket_basic_stream.h (right): ...
7 years, 3 months ago (2013-09-24 13:52:55 UTC) #10
Adam Rice
https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_basic_stream.h File net/websockets/websocket_basic_stream.h (right): https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_basic_stream.h#newcode105 net/websockets/websocket_basic_stream.h:105: // Create a frame based on the value of ...
7 years, 2 months ago (2013-09-25 02:10:51 UTC) #11
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_stream.h File net/websockets/websocket_stream.h (right): https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_stream.h#newcode116 net/websockets/websocket_stream.h:116: // returned immediately. On 2013/09/25 02:10:51, Adam Rice wrote: ...
7 years, 2 months ago (2013-09-25 08:39:23 UTC) #12
Adam Rice
https://codereview.chromium.org/23604044/diff/63001/net/websockets/websocket_basic_stream_test.cc File net/websockets/websocket_basic_stream_test.cc (right): https://codereview.chromium.org/23604044/diff/63001/net/websockets/websocket_basic_stream_test.cc#newcode41 net/websockets/websocket_basic_stream_test.cc:41: const char kPingFrameWithoutFin[] = "\x0A\x00"; On 2013/09/25 08:39:23, tyoshino ...
7 years, 2 months ago (2013-09-26 03:07:58 UTC) #13
tyoshino (SeeGerritForStatus)
lgtm sorry for long delay. https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_stream.h File net/websockets/websocket_stream.h (right): https://codereview.chromium.org/23604044/diff/55001/net/websockets/websocket_stream.h#newcode108 net/websockets/websocket_stream.h:108: // bytes of a ...
7 years, 2 months ago (2013-09-26 05:59:04 UTC) #14
tyoshino (SeeGerritForStatus)
https://codereview.chromium.org/23604044/diff/63001/net/websockets/websocket_frame.h File net/websockets/websocket_frame.h (right): https://codereview.chromium.org/23604044/diff/63001/net/websockets/websocket_frame.h#newcode104 net/websockets/websocket_frame.h:104: // |is given by |header.payload_length|. On 2013/09/25 08:39:23, tyoshino ...
7 years, 2 months ago (2013-09-26 06:00:25 UTC) #15
Adam Rice
https://codereview.chromium.org/23604044/diff/63001/net/websockets/websocket_channel_test.cc File net/websockets/websocket_channel_test.cc (right): https://codereview.chromium.org/23604044/diff/63001/net/websockets/websocket_channel_test.cc#newcode263 net/websockets/websocket_channel_test.cc:263: if (source_frames[i].data) { On 2013/09/26 05:59:04, tyoshino wrote: > ...
7 years, 2 months ago (2013-09-26 06:25:54 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ricea@chromium.org/23604044/87001
7 years, 2 months ago (2013-09-26 06:34:09 UTC) #17
commit-bot: I haz the power
7 years, 2 months ago (2013-09-26 12:14:30 UTC) #18
Message was sent while issue was closed.
Change committed as 225452

Powered by Google App Engine
This is Rietveld 408576698