Index: chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc |
diff --git a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc |
index 921cf805a7b3bac62a2ed3f676c0f29e6b1bc743..54fc6fac69f090a398eeb3395bd6cdd11fbe891c 100644 |
--- a/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc |
+++ b/chrome/browser/chromeos/dbus/proxy_resolution_service_provider.cc |
@@ -224,8 +224,9 @@ bool ProxyResolutionServiceProvider::OnOriginThread() { |
return base::PlatformThread::CurrentId() == origin_thread_id_; |
} |
-dbus::Response* ProxyResolutionServiceProvider::ResolveProxyHandler( |
- dbus::MethodCall* method_call) { |
+void ProxyResolutionServiceProvider::ResolveProxyHandler( |
+ dbus::MethodCall* method_call, |
+ dbus::ExportedObject::SendResponseCallback send_response_cb) { |
DCHECK(OnOriginThread()); |
VLOG(1) << "Handing method call: " << method_call->ToString(); |
// The method call should contain the three string parameters. |
@@ -237,7 +238,8 @@ dbus::Response* ProxyResolutionServiceProvider::ResolveProxyHandler( |
!reader.PopString(&signal_interface) || |
!reader.PopString(&signal_name)) { |
LOG(ERROR) << "Unexpected method call: " << method_call->ToString(); |
- return NULL; |
+ send_response_cb.Run(NULL); |
+ return; |
} |
resolver_->ResolveProxy(source_url, |
@@ -248,18 +250,20 @@ dbus::Response* ProxyResolutionServiceProvider::ResolveProxyHandler( |
// Return an empty response for now. We'll send a signal once the |
// network proxy resolution is completed. |
dbus::Response* response = dbus::Response::FromMethodCall(method_call); |
- return response; |
+ send_response_cb.Run(response); |
} |
// static |
-dbus::Response* ProxyResolutionServiceProvider::CallResolveProxyHandler( |
+void ProxyResolutionServiceProvider::CallResolveProxyHandler( |
base::WeakPtr<ProxyResolutionServiceProvider> provider_weak_ptr, |
- dbus::MethodCall* method_call) { |
+ dbus::MethodCall* method_call, |
+ dbus::ExportedObject::SendResponseCallback send_response_cb) { |
if (!provider_weak_ptr) { |
LOG(WARNING) << "Called after the object is deleted"; |
- return NULL; |
+ send_response_cb.Run(NULL); |
+ return; |
} |
- return provider_weak_ptr->ResolveProxyHandler(method_call); |
+ provider_weak_ptr->ResolveProxyHandler(method_call, send_response_cb); |
} |
ProxyResolutionServiceProvider* ProxyResolutionServiceProvider::Create() { |