Index: mojo/application/public/cpp/lib/application_impl.cc |
diff --git a/mojo/application/public/cpp/lib/application_impl.cc b/mojo/application/public/cpp/lib/application_impl.cc |
index bafabe276fbc04eb61da9300ebc3412fbd1577e8..c47fa23a86c26ad0f59f1a126ae6d95032150fe9 100644 |
--- a/mojo/application/public/cpp/lib/application_impl.cc |
+++ b/mojo/application/public/cpp/lib/application_impl.cc |
@@ -59,6 +59,12 @@ ApplicationImpl::~ApplicationImpl() { |
ApplicationConnection* ApplicationImpl::ConnectToApplication( |
mojo::URLRequestPtr request) { |
+ return ConnectToApplication(request.Pass(), base::Bind(&base::DoNothing)); |
+} |
+ |
+ApplicationConnection* ApplicationImpl::ConnectToApplication( |
+ mojo::URLRequestPtr request, |
+ const base::Closure& error_cb) { |
MOJO_CHECK(shell_); |
ServiceProviderPtr local_services; |
InterfaceRequest<ServiceProvider> local_request = GetProxy(&local_services); |
@@ -66,6 +72,7 @@ ApplicationConnection* ApplicationImpl::ConnectToApplication( |
std::string application_url = request->url.To<std::string>(); |
shell_->ConnectToApplication(request.Pass(), GetProxy(&remote_services), |
local_services.Pass()); |
+ remote_services.set_connection_error_handler(error_cb); |
internal::ServiceRegistry* registry = new internal::ServiceRegistry( |
this, application_url, application_url, remote_services.Pass(), |
local_request.Pass()); |