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

Unified Diff: net/websockets/websocket_frame.cc

Issue 23604044: Replace WebSocketFrameChunk with WebSocketFrame (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fixes to debug printing. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/websockets/websocket_frame.cc
diff --git a/net/websockets/websocket_frame.cc b/net/websockets/websocket_frame.cc
index f05b5b7615262f84f16fd6611f5239d44641962d..1aa4983e004d6558f274c0f1b343b5d494d44843 100644
--- a/net/websockets/websocket_frame.cc
+++ b/net/websockets/websocket_frame.cc
@@ -41,18 +41,27 @@ inline void MaskWebSocketFramePayloadByBytes(
namespace net {
-scoped_ptr<WebSocketFrameHeader> WebSocketFrameHeader::Clone() {
+scoped_ptr<WebSocketFrameHeader> WebSocketFrameHeader::Clone() const {
scoped_ptr<WebSocketFrameHeader> ret(new WebSocketFrameHeader(opcode));
- ret->final = final;
- ret->reserved1 = reserved1;
- ret->reserved2 = reserved2;
- ret->reserved3 = reserved3;
- ret->opcode = opcode;
- ret->masked = masked;
- ret->payload_length = payload_length;
+ ret->CopyFrom(*this);
return ret.Pass();
}
+void WebSocketFrameHeader::CopyFrom(const WebSocketFrameHeader& source) {
+ final = source.final;
+ reserved1 = source.reserved1;
+ reserved2 = source.reserved2;
+ reserved3 = source.reserved3;
+ opcode = source.opcode;
+ masked = source.masked;
+ payload_length = source.payload_length;
+}
+
+WebSocketFrame::WebSocketFrame(WebSocketFrameHeader::OpCode opcode)
+ : header(opcode) {}
+
+WebSocketFrame::~WebSocketFrame() {}
+
WebSocketFrameChunk::WebSocketFrameChunk() : final_chunk(false) {}
WebSocketFrameChunk::~WebSocketFrameChunk() {}
@@ -195,7 +204,7 @@ void MaskWebSocketFramePayload(const WebSocketMaskingKey& masking_key,
// Create a version of the mask which is rotated by the appropriate offset
// for our alignment. The "trick" here is that 0 XORed with the mask will
// give the value of the mask for the appropriate byte.
- char realigned_mask[kMaskingKeyLength] = { 0 };
+ char realigned_mask[kMaskingKeyLength] = {0};
yhirano 2013/09/13 10:03:17 {} suffices for initializing the array.
Adam Rice 2013/09/13 14:09:53 I did not know that. Thank you.
MaskWebSocketFramePayloadByBytes(
masking_key,
(frame_offset + aligned_begin - data) % kMaskingKeyLength,

Powered by Google App Engine
This is Rietveld 408576698