OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/local_discovery/service_discovery_host_client.h" | 5 #include "chrome/browser/local_discovery/service_discovery_host_client.h" |
6 | 6 |
7 #include "chrome/common/local_discovery/local_discovery_messages.h" | 7 #include "chrome/common/local_discovery/local_discovery_messages.h" |
8 #include "content/public/browser/browser_thread.h" | 8 #include "content/public/browser/browser_thread.h" |
9 #include "content/public/browser/utility_process_host.h" | 9 #include "content/public/browser/utility_process_host.h" |
10 #include "net/socket/socket_descriptor.h" | 10 #include "net/socket/socket_descriptor.h" |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 FROM_HERE, | 228 FROM_HERE, |
229 base::Bind(&ServiceDiscoveryHostClient::ShutdownOnIOThread, this)); | 229 base::Bind(&ServiceDiscoveryHostClient::ShutdownOnIOThread, this)); |
230 } | 230 } |
231 | 231 |
232 void ServiceDiscoveryHostClient::StartOnIOThread() { | 232 void ServiceDiscoveryHostClient::StartOnIOThread() { |
233 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 233 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
234 DCHECK(!utility_host_); | 234 DCHECK(!utility_host_); |
235 utility_host_ = UtilityProcessHost::Create( | 235 utility_host_ = UtilityProcessHost::Create( |
236 this, base::MessageLoopProxy::current().get())->AsWeakPtr(); | 236 this, base::MessageLoopProxy::current().get())->AsWeakPtr(); |
237 if (utility_host_) { | 237 if (utility_host_) { |
238 utility_host_->EnableZygote(); | |
239 utility_host_->EnableMDns(); | 238 utility_host_->EnableMDns(); |
240 utility_host_->StartBatchMode(); | 239 utility_host_->StartBatchMode(); |
241 | 240 |
242 #if defined(OS_POSIX) | 241 #if defined(OS_POSIX) |
243 base::FileDescriptor v4(net::CreatePlatformSocket(AF_INET, SOCK_DGRAM, 0), | 242 base::FileDescriptor v4(net::CreatePlatformSocket(AF_INET, SOCK_DGRAM, 0), |
244 true); | 243 true); |
245 base::FileDescriptor v6(net::CreatePlatformSocket(AF_INET6, SOCK_DGRAM, 0), | 244 base::FileDescriptor v6(net::CreatePlatformSocket(AF_INET6, SOCK_DGRAM, 0), |
246 true); | 245 true); |
247 LOG_IF(ERROR, v4.fd == net::kInvalidSocket) << "Can't create IPv4 socket."; | 246 LOG_IF(ERROR, v4.fd == net::kInvalidSocket) << "Can't create IPv4 socket."; |
248 LOG_IF(ERROR, v6.fd == net::kInvalidSocket) << "Can't create IPv6 socket."; | 247 LOG_IF(ERROR, v6.fd == net::kInvalidSocket) << "Can't create IPv6 socket."; |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 bool success, | 382 bool success, |
384 const net::IPAddressNumber& ip_address_ipv4, | 383 const net::IPAddressNumber& ip_address_ipv4, |
385 const net::IPAddressNumber& ip_address_ipv6) { | 384 const net::IPAddressNumber& ip_address_ipv6) { |
386 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 385 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
387 DomainResolverCallbacks::iterator it = domain_resolver_callbacks_.find(id); | 386 DomainResolverCallbacks::iterator it = domain_resolver_callbacks_.find(id); |
388 if (it != domain_resolver_callbacks_.end() && !it->second.is_null()) | 387 if (it != domain_resolver_callbacks_.end() && !it->second.is_null()) |
389 it->second.Run(success, ip_address_ipv4, ip_address_ipv6); | 388 it->second.Run(success, ip_address_ipv4, ip_address_ipv6); |
390 } | 389 } |
391 | 390 |
392 } // namespace local_discovery | 391 } // namespace local_discovery |
OLD | NEW |