OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" | 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 // static | 573 // static |
574 void GuestLanguageSetCallbackData::Callback( | 574 void GuestLanguageSetCallbackData::Callback( |
575 const scoped_ptr<GuestLanguageSetCallbackData>& self, | 575 const scoped_ptr<GuestLanguageSetCallbackData>& self, |
576 const std::string& locale, | 576 const std::string& locale, |
577 const std::string& loaded_locale, | 577 const std::string& loaded_locale, |
578 bool success) { | 578 bool success) { |
579 input_method::InputMethodManager* const ime_manager = | 579 input_method::InputMethodManager* const ime_manager = |
580 input_method::InputMethodManager::Get(); | 580 input_method::InputMethodManager::Get(); |
581 // Active layout must be hardware "login layout". | 581 // Active layout must be hardware "login layout". |
582 // The previous one must be "locale default layout". | 582 // The previous one must be "locale default layout". |
583 const std::string login_input_method = | 583 const std::vector<std::string>& input_methods = |
584 ime_manager->GetInputMethodUtil()->GetHardwareLoginInputMethodId(); | 584 ime_manager->GetInputMethodUtil()->GetHardwareInputMethodIds(); |
585 ime_manager->ChangeInputMethod(login_input_method); | 585 for (size_t i = 0; i < input_methods.size(); ++i) |
| 586 ime_manager->EnableInputMethod(input_methods[i]); |
| 587 ime_manager->ChangeInputMethod( |
| 588 input_methods.empty() ? "" : input_methods[0]); |
586 | 589 |
587 const std::string locale_default_input_method = | 590 const std::string locale_default_input_method = |
588 ime_manager->GetInputMethodUtil()-> | 591 ime_manager->GetInputMethodUtil()-> |
589 GetLanguageDefaultInputMethodId(loaded_locale); | 592 GetLanguageDefaultInputMethodId(loaded_locale); |
590 if (!locale_default_input_method.empty()) { | 593 if (!locale_default_input_method.empty()) { |
591 PrefService* user_prefs = self->profile->GetPrefs(); | 594 PrefService* user_prefs = self->profile->GetPrefs(); |
592 user_prefs->SetString(prefs::kLanguagePreviousInputMethod, | 595 user_prefs->SetString(prefs::kLanguagePreviousInputMethod, |
593 locale_default_input_method); | 596 locale_default_input_method); |
594 } | 597 } |
595 } | 598 } |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 // Destroy DBus services immediately after threads are stopped. | 829 // Destroy DBus services immediately after threads are stopped. |
827 dbus_services_.reset(); | 830 dbus_services_.reset(); |
828 | 831 |
829 ChromeBrowserMainPartsLinux::PostDestroyThreads(); | 832 ChromeBrowserMainPartsLinux::PostDestroyThreads(); |
830 | 833 |
831 // Destroy DeviceSettingsService after g_browser_process. | 834 // Destroy DeviceSettingsService after g_browser_process. |
832 DeviceSettingsService::Shutdown(); | 835 DeviceSettingsService::Shutdown(); |
833 } | 836 } |
834 | 837 |
835 } // namespace chromeos | 838 } // namespace chromeos |
OLD | NEW |