| 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() {
|
|
|