| 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 "extensions/browser/api/socket/socket.h" | 5 #include "extensions/browser/api/socket/socket.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
| 9 #include "extensions/browser/api/api_resource_manager.h" | 9 #include "extensions/browser/api/api_resource_manager.h" |
| 10 #include "net/base/address_list.h" | 10 #include "net/base/address_list.h" |
| 11 #include "net/base/io_buffer.h" | 11 #include "net/base/io_buffer.h" |
| 12 #include "net/base/ip_address.h" |
| 12 #include "net/base/ip_endpoint.h" | 13 #include "net/base/ip_endpoint.h" |
| 13 #include "net/base/net_errors.h" | 14 #include "net/base/net_errors.h" |
| 14 #include "net/socket/socket.h" | 15 #include "net/socket/socket.h" |
| 15 | 16 |
| 16 namespace extensions { | 17 namespace extensions { |
| 17 | 18 |
| 18 const char kSocketTypeNotSupported[] = "Socket type does not support this API"; | 19 const char kSocketTypeNotSupported[] = "Socket type does not support this API"; |
| 19 | 20 |
| 20 static base::LazyInstance< | 21 static base::LazyInstance< |
| 21 BrowserContextKeyedAPIFactory<ApiResourceManager<Socket> > > g_factory = | 22 BrowserContextKeyedAPIFactory<ApiResourceManager<Socket> > > g_factory = |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 | 100 |
| 100 void Socket::Accept(const AcceptCompletionCallback& callback) { | 101 void Socket::Accept(const AcceptCompletionCallback& callback) { |
| 101 callback.Run(net::ERR_FAILED, NULL); | 102 callback.Run(net::ERR_FAILED, NULL); |
| 102 } | 103 } |
| 103 | 104 |
| 104 // static | 105 // static |
| 105 bool Socket::StringAndPortToIPEndPoint(const std::string& ip_address_str, | 106 bool Socket::StringAndPortToIPEndPoint(const std::string& ip_address_str, |
| 106 uint16_t port, | 107 uint16_t port, |
| 107 net::IPEndPoint* ip_end_point) { | 108 net::IPEndPoint* ip_end_point) { |
| 108 DCHECK(ip_end_point); | 109 DCHECK(ip_end_point); |
| 109 net::IPAddressNumber ip_number; | 110 net::IPAddress ip_address; |
| 110 if (!net::ParseIPLiteralToNumber(ip_address_str, &ip_number)) | 111 if (!ip_address.AssignFromIPLiteral(ip_address_str)) |
| 111 return false; | 112 return false; |
| 112 | 113 |
| 113 *ip_end_point = net::IPEndPoint(ip_number, port); | 114 *ip_end_point = net::IPEndPoint(ip_address, port); |
| 114 return true; | 115 return true; |
| 115 } | 116 } |
| 116 | 117 |
| 117 void Socket::IPEndPointToStringAndPort(const net::IPEndPoint& address, | 118 void Socket::IPEndPointToStringAndPort(const net::IPEndPoint& address, |
| 118 std::string* ip_address_str, | 119 std::string* ip_address_str, |
| 119 uint16_t* port) { | 120 uint16_t* port) { |
| 120 DCHECK(ip_address_str); | 121 DCHECK(ip_address_str); |
| 121 DCHECK(port); | 122 DCHECK(port); |
| 122 *ip_address_str = address.ToStringWithoutPort(); | 123 *ip_address_str = address.ToStringWithoutPort(); |
| 123 if (ip_address_str->empty()) { | 124 if (ip_address_str->empty()) { |
| 124 *port = 0; | 125 *port = 0; |
| 125 } else { | 126 } else { |
| 126 *port = address.port(); | 127 *port = address.port(); |
| 127 } | 128 } |
| 128 } | 129 } |
| 129 | 130 |
| 130 Socket::WriteRequest::WriteRequest(scoped_refptr<net::IOBuffer> io_buffer, | 131 Socket::WriteRequest::WriteRequest(scoped_refptr<net::IOBuffer> io_buffer, |
| 131 int byte_count, | 132 int byte_count, |
| 132 const CompletionCallback& callback) | 133 const CompletionCallback& callback) |
| 133 : io_buffer(io_buffer), | 134 : io_buffer(io_buffer), |
| 134 byte_count(byte_count), | 135 byte_count(byte_count), |
| 135 callback(callback), | 136 callback(callback), |
| 136 bytes_written(0) {} | 137 bytes_written(0) {} |
| 137 | 138 |
| 138 Socket::WriteRequest::WriteRequest(const WriteRequest& other) = default; | 139 Socket::WriteRequest::WriteRequest(const WriteRequest& other) = default; |
| 139 | 140 |
| 140 Socket::WriteRequest::~WriteRequest() {} | 141 Socket::WriteRequest::~WriteRequest() {} |
| 141 | 142 |
| 142 } // namespace extensions | 143 } // namespace extensions |
| OLD | NEW |