| Index: chrome/browser/chromeos/arc/arc_service_launcher.cc
|
| diff --git a/chrome/browser/chromeos/arc/arc_service_launcher.cc b/chrome/browser/chromeos/arc/arc_service_launcher.cc
|
| index 8445448648c59eb6c8a37b19a1f7a7dd9fc6ef6f..8efa8281bf47ff13257d6a6c4ec0ac9eaf9ecb51 100644
|
| --- a/chrome/browser/chromeos/arc/arc_service_launcher.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "chrome/browser/chromeos/arc/arc_service_launcher.h"
|
|
|
| +#include <utility>
|
| +
|
| #include "base/logging.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "chrome/browser/chromeos/arc/arc_auth_service.h"
|
| @@ -51,10 +53,14 @@ void ArcServiceLauncher::Initialize() {
|
| arc_service_manager_->AddService(
|
| base::MakeUnique<ArcEnterpriseReportingService>(
|
| arc_service_manager_->arc_bridge_service()));
|
| - arc_service_manager_->AddService(base::MakeUnique<ArcIntentHelperBridge>(
|
| + auto intent_helper = base::MakeUnique<ArcIntentHelperBridge>(
|
| arc_service_manager_->arc_bridge_service(),
|
| arc_service_manager_->icon_loader(),
|
| - arc_service_manager_->activity_resolver()));
|
| + arc_service_manager_->activity_resolver());
|
| + // We don't have to remove observer since
|
| + // ArcServiceManager always outlives ArcIntentHelperBridge.
|
| + intent_helper->AddObserver(arc_service_manager_.get());
|
| + arc_service_manager_->AddService(std::move(intent_helper));
|
| arc_service_manager_->AddService(base::MakeUnique<ArcPolicyBridge>(
|
| arc_service_manager_->arc_bridge_service()));
|
| arc_service_manager_->AddService(base::MakeUnique<ArcPrintService>(
|
|
|