Index: chrome/browser/local_discovery/privet_http_asynchronous_factory_impl.cc |
diff --git a/chrome/browser/local_discovery/privet_http_asynchronous_factory_impl.cc b/chrome/browser/local_discovery/privet_http_asynchronous_factory_impl.cc |
index bb9a43e17f058a9e93efc165a5a5ae9051890ce9..50428804da6382d2950e619f3859134638a64c7e 100644 |
--- a/chrome/browser/local_discovery/privet_http_asynchronous_factory_impl.cc |
+++ b/chrome/browser/local_discovery/privet_http_asynchronous_factory_impl.cc |
@@ -59,6 +59,24 @@ PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::GetName() { |
} |
void PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::Start( |
+ const ResultCallback& callback) { |
+ service_resolver_ = service_discovery_client_->CreateServiceResolver( |
+ name_, base::Bind(&ResolutionImpl::ServiceResolveComplete, |
+ base::Unretained(this), callback)); |
+ service_resolver_->StartResolving(); |
+} |
+ |
+void PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::ServiceResolveComplete( |
+ const ResultCallback& callback, |
+ ServiceResolver::RequestStatus result, |
+ const ServiceDescription& description) { |
+ if (result != ServiceResolver::STATUS_SUCCESS) |
+ return callback.Run(scoped_ptr<PrivetHTTPClient>()); |
+ |
+ Start(description.address, callback); |
+} |
+ |
+void PrivetHTTPAsynchronousFactoryImpl::ResolutionImpl::Start( |
const net::HostPortPair& address, |
const ResultCallback& callback) { |
#if defined(OS_MACOSX) |