| Index: services/service_manager/service_manager.cc
|
| diff --git a/services/service_manager/service_manager.cc b/services/service_manager/service_manager.cc
|
| index 9b6fb5441f959222334819574eff75cd480a7a98..acfcaaf51e02febad62ea28dac2cf44aa890440b 100644
|
| --- a/services/service_manager/service_manager.cc
|
| +++ b/services/service_manager/service_manager.cc
|
| @@ -672,7 +672,7 @@ void ServiceManager::Connect(std::unique_ptr<ConnectParams> params,
|
| service_manager::mojom::kServiceName, params->target().user_id()));
|
|
|
| std::string name = params->target().name();
|
| - resolver->ResolveMojoName(
|
| + resolver->ResolveServiceName(
|
| name,
|
| base::Bind(&service_manager::ServiceManager::OnGotResolvedName,
|
| weak_ptr_factory_.GetWeakPtr(), base::Passed(¶ms),
|
| @@ -820,6 +820,16 @@ void ServiceManager::OnGotResolvedName(std::unique_ptr<ConnectParams> params,
|
| if (has_source_instance && !source_instance)
|
| return;
|
|
|
| + // If name resolution failed, we drop the connection.
|
| + if (!result) {
|
| + LOG(ERROR) << "Failed to resolve service name: " << params->target().name();
|
| + if (!params->connect_callback().is_null()) {
|
| + params->connect_callback().Run(
|
| + mojom::ConnectResult::INVALID_ARGUMENT, "");
|
| + }
|
| + return;
|
| + }
|
| +
|
| std::string instance_name = params->target().instance();
|
| if (instance_name == params->target().name() &&
|
| result->qualifier != result->resolved_name) {
|
|
|