| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "mojo/services/network/web_socket_impl.h" | 5 #include "mojo/services/network/web_socket_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "net/websockets/websocket_handshake_response_info.h" | 23 #include "net/websockets/websocket_handshake_response_info.h" |
| 24 #include "url/origin.h" | 24 #include "url/origin.h" |
| 25 | 25 |
| 26 namespace mojo { | 26 namespace mojo { |
| 27 | 27 |
| 28 template <> | 28 template <> |
| 29 struct TypeConverter<net::WebSocketFrameHeader::OpCode, | 29 struct TypeConverter<net::WebSocketFrameHeader::OpCode, |
| 30 WebSocket::MessageType> { | 30 WebSocket::MessageType> { |
| 31 static net::WebSocketFrameHeader::OpCode Convert( | 31 static net::WebSocketFrameHeader::OpCode Convert( |
| 32 WebSocket::MessageType type) { | 32 WebSocket::MessageType type) { |
| 33 DCHECK(type == WebSocket::MESSAGE_TYPE_CONTINUATION || | 33 DCHECK(type == WebSocket::MessageType::CONTINUATION || |
| 34 type == WebSocket::MESSAGE_TYPE_TEXT || | 34 type == WebSocket::MessageType::TEXT || |
| 35 type == WebSocket::MESSAGE_TYPE_BINARY); | 35 type == WebSocket::MessageType::BINARY); |
| 36 typedef net::WebSocketFrameHeader::OpCode OpCode; | 36 typedef net::WebSocketFrameHeader::OpCode OpCode; |
| 37 // These compile asserts verify that the same underlying values are used for | 37 // These compile asserts verify that the same underlying values are used for |
| 38 // both types, so we can simply cast between them. | 38 // both types, so we can simply cast between them. |
| 39 static_assert(static_cast<OpCode>(WebSocket::MESSAGE_TYPE_CONTINUATION) == | 39 static_assert(static_cast<OpCode>(WebSocket::MessageType::CONTINUATION) == |
| 40 net::WebSocketFrameHeader::kOpCodeContinuation, | 40 net::WebSocketFrameHeader::kOpCodeContinuation, |
| 41 "enum values must match for opcode continuation"); | 41 "enum values must match for opcode continuation"); |
| 42 static_assert(static_cast<OpCode>(WebSocket::MESSAGE_TYPE_TEXT) == | 42 static_assert(static_cast<OpCode>(WebSocket::MessageType::TEXT) == |
| 43 net::WebSocketFrameHeader::kOpCodeText, | 43 net::WebSocketFrameHeader::kOpCodeText, |
| 44 "enum values must match for opcode text"); | 44 "enum values must match for opcode text"); |
| 45 static_assert(static_cast<OpCode>(WebSocket::MESSAGE_TYPE_BINARY) == | 45 static_assert(static_cast<OpCode>(WebSocket::MessageType::BINARY) == |
| 46 net::WebSocketFrameHeader::kOpCodeBinary, | 46 net::WebSocketFrameHeader::kOpCodeBinary, |
| 47 "enum values must match for opcode binary"); | 47 "enum values must match for opcode binary"); |
| 48 return static_cast<OpCode>(type); | 48 return static_cast<OpCode>(type); |
| 49 } | 49 } |
| 50 }; | 50 }; |
| 51 | 51 |
| 52 template <> | 52 template <> |
| 53 struct TypeConverter<WebSocket::MessageType, | 53 struct TypeConverter<WebSocket::MessageType, |
| 54 net::WebSocketFrameHeader::OpCode> { | 54 net::WebSocketFrameHeader::OpCode> { |
| 55 static WebSocket::MessageType Convert( | 55 static WebSocket::MessageType Convert( |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 uint32_t num_bytes, | 233 uint32_t num_bytes, |
| 234 const char* data) { | 234 const char* data) { |
| 235 std::vector<char> buffer(num_bytes); | 235 std::vector<char> buffer(num_bytes); |
| 236 memcpy(&buffer[0], data, num_bytes); | 236 memcpy(&buffer[0], data, num_bytes); |
| 237 DCHECK(channel_); | 237 DCHECK(channel_); |
| 238 channel_->SendFrame( | 238 channel_->SendFrame( |
| 239 fin, ConvertTo<net::WebSocketFrameHeader::OpCode>(type), buffer); | 239 fin, ConvertTo<net::WebSocketFrameHeader::OpCode>(type), buffer); |
| 240 } | 240 } |
| 241 | 241 |
| 242 } // namespace mojo | 242 } // namespace mojo |
| OLD | NEW |