diff --git a/chrome/browser/chromeos/extensions/input_method_event_router.cc b/chrome/browser/chromeos/extensions/input_method_event_router.cc index b82ce7b0323531..e7446f685a8ab6 100644 --- a/chrome/browser/chromeos/extensions/input_method_event_router.cc +++ b/chrome/browser/chromeos/extensions/input_method_event_router.cc @@ -35,11 +35,12 @@ void ExtensionInputMethodEventRouter::InputMethodChanged( input_method::InputMethodManager* manager, Profile* profile, bool show_message) { - // This should probably be CHECK, as delivering event to a wrong - // profile means delivering it to a wrong extension instance. - DCHECK(profile->IsSameProfile(Profile::FromBrowserContext(context_))); - extensions::EventRouter* router = extensions::EventRouter::Get(context_); + // If an event is recieved from a different profile, e.g. while switching + // between multiple profiles, ignore it. + if (!profile->IsSameProfile(Profile::FromBrowserContext(context_))) + return; + extensions::EventRouter* router = extensions::EventRouter::Get(context_); if (!router->HasEventListener(OnChanged::kEventName)) return;