Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
index 87eafaca02864b1b556f87c807bb133995a9c5f0..4e30441b5b7bde3051211ad6e6a997ac2692f385 100644 |
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
@@ -90,6 +90,7 @@ |
#include "chrome/browser/chromeos/ui/low_disk_notification.h" |
#include "chrome/browser/chromeos/upgrade_detector_chromeos.h" |
#include "chrome/browser/defaults.h" |
+#include "chrome/browser/extensions/extension_error_reporter.h" |
#include "chrome/browser/lifetime/application_lifetime.h" |
#include "chrome/browser/net/chrome_network_delegate.h" |
#include "chrome/browser/profiles/profile.h" |
@@ -748,6 +749,15 @@ void ChromeBrowserMainPartsChromeos::PostProfileInit() { |
manager->SetState(session_manager->GetDefaultIMEState(profile())); |
+ // Safe to show postponed extension error messages (if any) now, if it's the |
+ // signin profile, or a profile associated with the active user. Because |
+ // extension errors are reported in context of active user, they should be |
+ // postponed until input methods of the active user is initializd. |
+ if (ProfileHelper::IsSigninProfile(profile()) || |
tbarzic
2017/04/25 22:25:54
Isn't this code run only for default profile (whic
|
+ ProfileHelper::Get()->GetUserByProfile(profile())->is_active()) { |
+ ExtensionErrorReporter::GetInstance()->ShowPostponedMessages(); |
+ } |
+ |
bool is_running_test = parameters().ui_task != nullptr; |
g_browser_process->platform_part()->session_manager()->Initialize( |
parsed_command_line(), profile(), is_running_test); |