Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1033)

Side by Side Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 139803010: Support comma separated hardware keyboard layout. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressing comments Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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 // First, enable all hardware input methods.
584 ime_manager->GetInputMethodUtil()->GetHardwareLoginInputMethodId(); 584 const std::vector<std::string>& input_methods =
585 ime_manager->ChangeInputMethod(login_input_method); 585 ime_manager->GetInputMethodUtil()->GetHardwareInputMethodIds();
586 for (size_t i = 0; i < input_methods.size(); ++i)
587 ime_manager->EnableInputMethod(input_methods[i]);
586 588
589 // Seconds, enable locale based input methods.
Alexander Alekseev 2014/02/13 12:47:04 nit: Second
Seigo Nonaka 2014/02/14 03:51:45 Done.
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);
597 ime_manager->EnableInputMethod(locale_default_input_method);
594 } 598 }
599
600 // Finally, actrivate the first login input method.
601 const std::vector<std::string>& login_input_methods =
602 ime_manager->GetInputMethodUtil()->GetHardwareLoginInputMethodIds();
603 for (size_t i = 0; i < login_input_methods.size(); ++i)
604 LOG(ERROR) << login_input_methods[i];
Alexander Alekseev 2014/02/13 12:47:04 Remove debug?
Seigo Nonaka 2014/02/14 03:51:45 Yes, I'm sorry... Removed. On 2014/02/13 12:47:0
605 ime_manager->ChangeInputMethod(login_input_methods[0]);
595 } 606 }
596 607
597 void SetGuestLocale(UserManager* const usermanager, Profile* const profile) { 608 void SetGuestLocale(UserManager* const usermanager, Profile* const profile) {
598 scoped_ptr<GuestLanguageSetCallbackData> data( 609 scoped_ptr<GuestLanguageSetCallbackData> data(
599 new GuestLanguageSetCallbackData(profile)); 610 new GuestLanguageSetCallbackData(profile));
600 scoped_ptr<locale_util::SwitchLanguageCallback> callback( 611 scoped_ptr<locale_util::SwitchLanguageCallback> callback(
601 new locale_util::SwitchLanguageCallback(base::Bind( 612 new locale_util::SwitchLanguageCallback(base::Bind(
602 &GuestLanguageSetCallbackData::Callback, base::Passed(data.Pass())))); 613 &GuestLanguageSetCallbackData::Callback, base::Passed(data.Pass()))));
603 User* const user = usermanager->GetUserByProfile(profile); 614 User* const user = usermanager->GetUserByProfile(profile);
604 usermanager->RespectLocalePreference(profile, user, callback.Pass()); 615 usermanager->RespectLocalePreference(profile, user, callback.Pass());
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 // Destroy DBus services immediately after threads are stopped. 837 // Destroy DBus services immediately after threads are stopped.
827 dbus_services_.reset(); 838 dbus_services_.reset();
828 839
829 ChromeBrowserMainPartsLinux::PostDestroyThreads(); 840 ChromeBrowserMainPartsLinux::PostDestroyThreads();
830 841
831 // Destroy DeviceSettingsService after g_browser_process. 842 // Destroy DeviceSettingsService after g_browser_process.
832 DeviceSettingsService::Shutdown(); 843 DeviceSettingsService::Shutdown();
833 } 844 }
834 845
835 } // namespace chromeos 846 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698