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 04b761370f78d61d60ac80b5c31d7e05e67f54f0..85ed96de5b927656e88741d0c46b2651f6f0c732 100644 |
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
@@ -209,12 +209,6 @@ class DBusServices { |
TPMTokenLoader::Initialize(); |
CertLoader::Initialize(); |
- // This function and SystemKeyEventListener use InputMethodManager. |
- chromeos::input_method::Initialize( |
- content::BrowserThread::GetMessageLoopProxyForThread( |
- content::BrowserThread::UI), |
- content::BrowserThread::GetMessageLoopProxyForThread( |
- content::BrowserThread::FILE)); |
disks::DiskMountManager::Initialize(); |
cryptohome::AsyncMethodCaller::Initialize(); |
cryptohome::HomedirMethods::Initialize(); |
@@ -231,13 +225,6 @@ class DBusServices { |
// detector starts to monitor changes from the update engine. |
UpgradeDetectorChromeos::GetInstance()->Init(); |
- if (base::SysInfo::IsRunningOnChromeOS()) { |
- // Disable Num Lock on X start up for http://crosbug.com/29169. |
- input_method::InputMethodManager::Get() |
- ->GetImeKeyboard() |
- ->DisableNumLock(); |
- } |
- |
// Initialize the device settings service so that we'll take actions per |
// signals sent from the session manager. This needs to happen before |
// g_browser_process initializes BrowserPolicyConnector. |
@@ -253,7 +240,6 @@ class DBusServices { |
cryptohome::AsyncMethodCaller::Shutdown(); |
disks::DiskMountManager::Shutdown(); |
- input_method::Shutdown(); |
SystemSaltGetter::Shutdown(); |
LoginState::Shutdown(); |
@@ -412,6 +398,9 @@ void ChromeBrowserMainPartsChromeos::PreProfileInit() { |
// notification it needs to track the logged in user. |
g_browser_process->profile_manager(); |
+ // AccessibilityManager and SystemKeyEventListener use InputMethodManager. |
+ input_method::Initialize(); |
+ |
// ProfileHelper has to be initialized after UserManager instance is created. |
ProfileHelper::Get()->Initialize(); |
@@ -643,6 +632,8 @@ void ChromeBrowserMainPartsChromeos::PostProfileInit() { |
// available. |
idle_action_warning_observer_.reset(new IdleActionWarningObserver()); |
+ input_method::InputMethodManager::Get()->InitializeComponentExtension(); |
+ |
ChromeBrowserMainPartsLinux::PostProfileInit(); |
} |
@@ -800,6 +791,8 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() { |
// Ash needs to be closed before UserManager is destroyed. |
ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
+ input_method::Shutdown(); |
+ |
// Stops all in-flight OAuth2 token fetchers before the IO thread stops. |
DeviceOAuth2TokenServiceFactory::Shutdown(); |