Index: services/service_manager/public/cpp/lib/service_context.cc |
diff --git a/services/service_manager/public/cpp/lib/service_context.cc b/services/service_manager/public/cpp/lib/service_context.cc |
index c015df5c3cdabffff52dceb9975355587244a22f..a3b8f7d614aba2d3ff51c712512f02d9cebf3184 100644 |
--- a/services/service_manager/public/cpp/lib/service_context.cc |
+++ b/services/service_manager/public/cpp/lib/service_context.cc |
@@ -63,20 +63,15 @@ void ServiceContext::OnStart(const ServiceInfo& info, |
void ServiceContext::OnConnect( |
const ServiceInfo& source_info, |
mojom::InterfaceProviderRequest interfaces) { |
- auto target_it = local_info_.interface_provider_specs.find( |
- mojom::kServiceManager_ConnectorSpec); |
- InterfaceProviderSpec target_spec; |
- if (target_it != local_info_.interface_provider_specs.end()) |
- target_spec = target_it->second; |
- auto source_it = source_info.interface_provider_specs.find( |
- mojom::kServiceManager_ConnectorSpec); |
- InterfaceProviderSpec source_spec; |
- if (source_it != source_info.interface_provider_specs.end()) |
- source_spec = source_it->second; |
- |
- auto registry = base::MakeUnique<InterfaceRegistry>(local_info_.identity, |
- target_spec); |
- registry->Bind(std::move(interfaces), source_info.identity, source_spec); |
+ InterfaceProviderSpec source_spec, target_spec; |
+ GetInterfaceProviderSpec(mojom::kServiceManager_ConnectorSpec, |
+ local_info_.interface_provider_specs, &target_spec); |
+ GetInterfaceProviderSpec(mojom::kServiceManager_ConnectorSpec, |
+ source_info.interface_provider_specs, &source_spec); |
+ auto registry = |
+ base::MakeUnique<InterfaceRegistry>(mojom::kServiceManager_ConnectorSpec); |
+ registry->Bind(std::move(interfaces), local_info_.identity, target_spec, |
+ source_info.identity, source_spec); |
if (!service_->OnConnect(source_info, registry.get())) |
return; |