Index: content/common/service_manager/embedded_service_runner.cc |
diff --git a/content/common/service_manager/embedded_service_runner.cc b/content/common/service_manager/embedded_service_runner.cc |
index 438a1e65d9d876202da2e9630b028e7a2992762a..0c7c45890da1eb08815a88162394c6fd70744953 100644 |
--- a/content/common/service_manager/embedded_service_runner.cc |
+++ b/content/common/service_manager/embedded_service_runner.cc |
@@ -81,18 +81,14 @@ class EmbeddedServiceRunner::InstanceManager |
DCHECK(service_task_runner_->BelongsToCurrentThread()); |
int instance_id = next_instance_id_++; |
- base::Closure quit_closure = |
- base::Bind(&InstanceManager::OnInstanceLost, this, instance_id); |
- // TODO(rockot): Get rid of the quit closure argument to the factory |
- // function. Services should request termination via their ServiceContext |
- // once we have that working. |
std::unique_ptr<service_manager::ServiceContext> context = |
base::MakeUnique<service_manager::ServiceContext>( |
- factory_callback_.Run(quit_closure), std::move(request)); |
+ factory_callback_.Run(), std::move(request)); |
service_manager::ServiceContext* raw_context = context.get(); |
- context->SetConnectionLostClosure(quit_closure); |
+ context->SetConnectionLostClosure( |
+ base::Bind(&InstanceManager::OnInstanceLost, this, instance_id)); |
contexts_.insert(std::make_pair(raw_context, std::move(context))); |
id_to_context_map_.insert(std::make_pair(instance_id, raw_context)); |
} |