Index: net/websockets/websocket_frame_parser.cc |
diff --git a/net/websockets/websocket_frame_parser.cc b/net/websockets/websocket_frame_parser.cc |
index b16996d632f294fbaec0b553aaa3f871c8a7fa5c..37e50f040cb423f88e7832c35d6579e5cdca45d1 100644 |
--- a/net/websockets/websocket_frame_parser.cc |
+++ b/net/websockets/websocket_frame_parser.cc |
@@ -36,7 +36,7 @@ namespace net { |
WebSocketFrameParser::WebSocketFrameParser() |
: current_read_pos_(0), |
frame_offset_(0), |
- websocket_error_(WEB_SOCKET_OK) { |
+ websocket_error_(kWebSocketNormalClosure) { |
std::fill(masking_key_.key, |
masking_key_.key + WebSocketFrameHeader::kMaskingKeyLength, |
'\0'); |
@@ -49,7 +49,7 @@ bool WebSocketFrameParser::Decode( |
const char* data, |
size_t length, |
ScopedVector<WebSocketFrameChunk>* frame_chunks) { |
- if (websocket_error_ != WEB_SOCKET_OK) |
+ if (websocket_error_ != kWebSocketNormalClosure) |
return false; |
if (!length) |
return true; |
@@ -61,7 +61,7 @@ bool WebSocketFrameParser::Decode( |
bool first_chunk = false; |
if (!current_frame_header_.get()) { |
DecodeFrameHeader(); |
- if (websocket_error_ != WEB_SOCKET_OK) |
+ if (websocket_error_ != kWebSocketNormalClosure) |
return false; |
// If frame header is incomplete, then carry over the remaining |
// data to the next round of Decode(). |
@@ -129,7 +129,7 @@ void WebSocketFrameParser::DecodeFrameHeader() { |
current += 2; |
payload_length = payload_length_16; |
if (payload_length <= kMaxPayloadLengthWithoutExtendedLengthField) |
- websocket_error_ = WEB_SOCKET_ERR_PROTOCOL_ERROR; |
+ websocket_error_ = kWebSocketErrorProtocolError; |
} else if (payload_length == kPayloadLengthWithEightByteExtendedLengthField) { |
if (end - current < 8) |
return; |
@@ -137,12 +137,12 @@ void WebSocketFrameParser::DecodeFrameHeader() { |
current += 8; |
if (payload_length <= kuint16max || |
payload_length > static_cast<uint64>(kint64max)) { |
- websocket_error_ = WEB_SOCKET_ERR_PROTOCOL_ERROR; |
+ websocket_error_ = kWebSocketErrorProtocolError; |
} else if (payload_length > static_cast<uint64>(kint32max)) { |
- websocket_error_ = WEB_SOCKET_ERR_MESSAGE_TOO_BIG; |
+ websocket_error_ = kWebSocketErrorMessageTooBig; |
} |
} |
- if (websocket_error_ != WEB_SOCKET_OK) { |
+ if (websocket_error_ != kWebSocketNormalClosure) { |
buffer_.clear(); |
current_read_pos_ = 0; |
current_frame_header_.reset(); |
@@ -159,12 +159,11 @@ void WebSocketFrameParser::DecodeFrameHeader() { |
std::fill(masking_key_.key, masking_key_.key + kMaskingKeyLength, '\0'); |
} |
- current_frame_header_.reset(new WebSocketFrameHeader); |
+ current_frame_header_.reset(new WebSocketFrameHeader(opcode)); |
current_frame_header_->final = final; |
current_frame_header_->reserved1 = reserved1; |
current_frame_header_->reserved2 = reserved2; |
current_frame_header_->reserved3 = reserved3; |
- current_frame_header_->opcode = opcode; |
current_frame_header_->masked = masked; |
current_frame_header_->payload_length = payload_length; |
current_read_pos_ += current - start; |
@@ -184,7 +183,7 @@ scoped_ptr<WebSocketFrameChunk> WebSocketFrameParser::DecodeFramePayload( |
scoped_ptr<WebSocketFrameChunk> frame_chunk(new WebSocketFrameChunk); |
if (first_chunk) { |
- frame_chunk->header.reset(new WebSocketFrameHeader(*current_frame_header_)); |
+ frame_chunk->header = current_frame_header_->Clone(); |
} |
frame_chunk->final_chunk = false; |
if (next_size) { |