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 be75eba071bbd0699ed6eb3f7dafd153bf91976e..891dc842eb7d46136c14b0a1fba8043119edc0a7 100644 |
--- a/chrome/browser/chromeos/arc/arc_service_launcher.cc |
+++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc |
@@ -101,9 +101,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)); |