Index: chrome/browser/chromeos/preferences.cc |
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc |
index 1103be60c673945fd161be38d3f3a0915598699e..05a72d275ee958d187b8731e215902bce17f1bcd 100644 |
--- a/chrome/browser/chromeos/preferences.cc |
+++ b/chrome/browser/chromeos/preferences.cc |
@@ -397,6 +397,13 @@ void Preferences::InitUserPrefs(sync_preferences::PrefServiceSyncable* prefs) { |
pref_change_registrar_.Init(prefs); |
pref_change_registrar_.Add(prefs::kResolveTimezoneByGeolocation, callback); |
pref_change_registrar_.Add(prefs::kUse24HourClock, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapSearchKeyTo, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapControlKeyTo, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapAltKeyTo, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapCapsLockKeyTo, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapEscapeKeyTo, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapBackspaceKeyTo, callback); |
+ pref_change_registrar_.Add(prefs::kLanguageRemapDiamondKeyTo, callback); |
} |
void Preferences::Init(Profile* profile, const user_manager::User* user) { |
@@ -712,6 +719,55 @@ void Preferences::ApplyPreferences(ApplyReason reason, |
prefs::kUse24HourClock, value); |
} |
+ if (pref_name == prefs::kLanguageRemapSearchKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapSearchKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapSearchKeyTo, value); |
+ } |
+ |
+ if (pref_name == prefs::kLanguageRemapControlKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapControlKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapControlKeyTo, value); |
+ } |
+ |
+ if (pref_name == prefs::kLanguageRemapAltKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapAltKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapAltKeyTo, value); |
+ } |
+ |
+ if (pref_name == prefs::kLanguageRemapCapsLockKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapCapsLockKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapCapsLockKeyTo, value); |
+ } |
+ |
+ if (pref_name == prefs::kLanguageRemapEscapeKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapEscapeKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapEscapeKeyTo, value); |
+ } |
+ |
+ if (pref_name == prefs::kLanguageRemapBackspaceKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapBackspaceKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapBackspaceKeyTo, value); |
+ } |
+ |
+ if (pref_name == prefs::kLanguageRemapDiamondKeyTo || |
+ reason != REASON_ACTIVE_USER_CHANGED) { |
+ const int value = prefs_->GetInteger(prefs::kLanguageRemapDiamondKeyTo); |
+ user_manager::known_user::SetIntegerPref( |
+ user_->GetAccountId(), prefs::kLanguageRemapDiamondKeyTo, value); |
+ } |
xiyuan
2017/02/22 18:50:58
Can we use a list and a loop instead?
e.g.
const
xdai1
2017/02/22 19:26:30
Done.
|
+ |
system::InputDeviceSettings::Get()->UpdateTouchDevicesStatusFromPrefs(); |
} |