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 af50b1aefb23c3b74277b7d3b4c1ce583a3f6c7d..a6e99cf408543cf34bd86528d0086c5f8a83aff3 100644 |
--- a/chrome/browser/chromeos/arc/arc_service_launcher.cc |
+++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc |
@@ -102,9 +102,10 @@ void ArcServiceLauncher::Initialize() { |
auto intent_helper = base::MakeUnique<ArcIntentHelperBridge>( |
arc_bridge_service, arc_service_manager_->icon_loader(), |
arc_service_manager_->activity_resolver()); |
- // We don't have to remove observer since |
- // ArcServiceManager always outlives ArcIntentHelperBridge. |
- intent_helper->AddObserver(arc_service_manager_.get()); |
+ // We don't have to call ArcIntentHelperBridge::RemoveObserver() in |
+ // ~ArcServiceManager() since the observer in ArcServiceManager always |
+ // outlives the ArcIntentHelperBridge object. |
+ intent_helper->AddObserver(arc_service_manager_->intent_helper_observer()); |
arc_service_manager_->AddService(std::move(intent_helper)); |
arc_service_manager_->AddService( |
base::MakeUnique<ArcImeService>(arc_bridge_service)); |