Chromium Code Reviews| 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_api.h" | 5 #include "extensions/browser/api/socket/socket_api.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 197 return resource_context_ != NULL; | 197 return resource_context_ != NULL; |
| 198 } | 198 } |
| 199 | 199 |
| 200 void SocketExtensionWithDnsLookupFunction::StartDnsLookup( | 200 void SocketExtensionWithDnsLookupFunction::StartDnsLookup( |
| 201 const net::HostPortPair& host_port_pair) { | 201 const net::HostPortPair& host_port_pair) { |
| 202 net::HostResolver* host_resolver = | 202 net::HostResolver* host_resolver = |
| 203 HostResolverWrapper::GetInstance()->GetHostResolver(resource_context_); | 203 HostResolverWrapper::GetInstance()->GetHostResolver(resource_context_); |
| 204 DCHECK(host_resolver); | 204 DCHECK(host_resolver); |
| 205 | 205 |
| 206 // RequestHandle is not needed because we never need to cancel requests. | 206 // RequestHandle is not needed because we never need to cancel requests. |
| 207 net::HostResolver::RequestHandle request_handle; | 207 std::unique_ptr<net::HostResolver::Request> request; |
|
mmenke
2016/07/21 16:00:40
Not needed.
maksims (do not use this acc)
2016/07/22 10:16:00
Done.
| |
| 208 | 208 |
| 209 net::HostResolver::RequestInfo request_info(host_port_pair); | 209 net::HostResolver::RequestInfo request_info(host_port_pair); |
| 210 int resolve_result = host_resolver->Resolve( | 210 int resolve_result = host_resolver->Resolve( |
| 211 request_info, net::DEFAULT_PRIORITY, &addresses_, | 211 request_info, net::DEFAULT_PRIORITY, &addresses_, |
| 212 base::Bind(&SocketExtensionWithDnsLookupFunction::OnDnsLookup, this), | 212 base::Bind(&SocketExtensionWithDnsLookupFunction::OnDnsLookup, this), |
| 213 &request_handle, net::BoundNetLog()); | 213 &request, net::BoundNetLog()); |
| 214 | 214 |
| 215 if (resolve_result != net::ERR_IO_PENDING) | 215 if (resolve_result != net::ERR_IO_PENDING) |
| 216 OnDnsLookup(resolve_result); | 216 OnDnsLookup(resolve_result); |
| 217 if (resolve_result == net::ERR_IO_PENDING) | |
| 218 request_ = std::move(request); | |
| 217 } | 219 } |
| 218 | 220 |
| 219 void SocketExtensionWithDnsLookupFunction::OnDnsLookup(int resolve_result) { | 221 void SocketExtensionWithDnsLookupFunction::OnDnsLookup(int resolve_result) { |
| 220 if (resolve_result == net::OK) { | 222 if (resolve_result == net::OK) { |
| 221 DCHECK(!addresses_.empty()); | 223 DCHECK(!addresses_.empty()); |
| 222 } else { | 224 } else { |
| 223 error_ = kDnsLookupFailedError; | 225 error_ = kDnsLookupFailedError; |
| 224 } | 226 } |
| 225 AfterDnsLookup(resolve_result); | 227 AfterDnsLookup(resolve_result); |
| 226 } | 228 } |
| (...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1092 } else { | 1094 } else { |
| 1093 RemoveSocket(params_->socket_id); | 1095 RemoveSocket(params_->socket_id); |
| 1094 error_ = net::ErrorToString(result); | 1096 error_ = net::ErrorToString(result); |
| 1095 } | 1097 } |
| 1096 | 1098 |
| 1097 results_ = api::socket::Secure::Results::Create(result); | 1099 results_ = api::socket::Secure::Results::Create(result); |
| 1098 AsyncWorkCompleted(); | 1100 AsyncWorkCompleted(); |
| 1099 } | 1101 } |
| 1100 | 1102 |
| 1101 } // namespace extensions | 1103 } // namespace extensions |
| OLD | NEW |