Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/preferences.h" | 5 #include "chrome/browser/chromeos/preferences.h" |
| 6 | 6 |
| 7 #include "ash/magnifier/magnifier_constants.h" | 7 #include "ash/magnifier/magnifier_constants.h" |
| 8 #include "base/chromeos/chromeos_version.h" | 8 #include "base/chromeos/chromeos_version.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/i18n/time_formatting.h" | 10 #include "base/i18n/time_formatting.h" |
| 11 #include "base/metrics/histogram.h" | 11 #include "base/metrics/histogram.h" |
| 12 #include "base/prefs/public/pref_member.h" | 12 #include "base/prefs/public/pref_member.h" |
| 13 #include "base/string_split.h" | 13 #include "base/string_split.h" |
| 14 #include "base/string_util.h" | 14 #include "base/string_util.h" |
| 15 #include "base/utf_string_conversions.h" | 15 #include "base/utf_string_conversions.h" |
| 16 #include "chrome/browser/browser_process.h" | 16 #include "chrome/browser/browser_process.h" |
| 17 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" | 17 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
| 18 #include "chrome/browser/chromeos/drive/drive_file_system_util.h" | 18 #include "chrome/browser/chromeos/drive/drive_file_system_util.h" |
| 19 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" | 19 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" |
| 20 #include "chrome/browser/chromeos/input_method/input_method_manager.h" | 20 #include "chrome/browser/chromeos/input_method/input_method_manager.h" |
| 21 #include "chrome/browser/chromeos/input_method/input_method_util.h" | 21 #include "chrome/browser/chromeos/input_method/input_method_util.h" |
| 22 #include "chrome/browser/chromeos/input_method/xkeyboard.h" | 22 #include "chrome/browser/chromeos/input_method/xkeyboard.h" |
| 23 #include "chrome/browser/chromeos/login/login_utils.h" | 23 #include "chrome/browser/chromeos/login/login_utils.h" |
| 24 #include "chrome/browser/chromeos/login/user_manager.h" | 24 #include "chrome/browser/chromeos/login/user_manager.h" |
| 25 #include "chrome/browser/chromeos/system/drm_settings.h" | 25 #include "chrome/browser/chromeos/system/drm_settings.h" |
| 26 #include "chrome/browser/chromeos/system/input_device_settings.h" | 26 #include "chrome/browser/chromeos/system/input_device_settings.h" |
| 27 #include "chrome/browser/chromeos/system/power_manager_settings.h" | 27 #include "chrome/browser/chromeos/system/power_manager_settings.h" |
| 28 #include "chrome/browser/chromeos/system/statistics_provider.h" | 28 #include "chrome/browser/chromeos/system/statistics_provider.h" |
| 29 #include "chrome/browser/download/download_util.h" | 29 #include "chrome/browser/download/download_util.h" |
| 30 #include "chrome/browser/prefs/pref_service.h" | 30 #include "chrome/browser/prefs/pref_registry_syncable.h" |
| 31 #include "chrome/browser/prefs/pref_service_syncable.h" | |
| 31 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 32 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 32 #include "chrome/common/chrome_notification_types.h" | 33 #include "chrome/common/chrome_notification_types.h" |
| 33 #include "chrome/common/chrome_switches.h" | 34 #include "chrome/common/chrome_switches.h" |
| 34 #include "chrome/common/pref_names.h" | 35 #include "chrome/common/pref_names.h" |
| 35 #include "googleurl/src/gurl.h" | 36 #include "googleurl/src/gurl.h" |
| 36 #include "third_party/icu/public/i18n/unicode/timezone.h" | 37 #include "third_party/icu/public/i18n/unicode/timezone.h" |
| 37 #include "ui/base/events/event_constants.h" | 38 #include "ui/base/events/event_constants.h" |
| 38 #include "ui/base/events/event_utils.h" | 39 #include "ui/base/events/event_utils.h" |
| 39 | 40 |
| 40 namespace chromeos { | 41 namespace chromeos { |
| 41 | 42 |
| 42 static const char kFallbackInputMethodLocale[] = "en-US"; | 43 static const char kFallbackInputMethodLocale[] = "en-US"; |
| 43 | 44 |
| 44 Preferences::Preferences() | 45 Preferences::Preferences() |
| 45 : prefs_(NULL), | 46 : prefs_(NULL), |
| 46 input_method_manager_(input_method::GetInputMethodManager()) { | 47 input_method_manager_(input_method::GetInputMethodManager()) { |
| 47 } | 48 } |
| 48 | 49 |
| 49 Preferences::Preferences(input_method::InputMethodManager* input_method_manager) | 50 Preferences::Preferences(input_method::InputMethodManager* input_method_manager) |
| 50 : input_method_manager_(input_method_manager) { | 51 : input_method_manager_(input_method_manager) { |
| 51 } | 52 } |
| 52 | 53 |
| 53 Preferences::~Preferences() { | 54 Preferences::~Preferences() { |
| 54 prefs_->RemoveObserver(this); | 55 prefs_->RemoveObserver(this); |
| 55 } | 56 } |
| 56 | 57 |
| 57 // static | 58 // static |
| 58 void Preferences::RegisterUserPrefs(PrefServiceSyncable* prefs) { | 59 void Preferences::RegisterUserPrefs(PrefService* prefs, |
| 60 PrefRegistrySyncable* registry) { | |
| 59 std::string hardware_keyboard_id; | 61 std::string hardware_keyboard_id; |
| 60 // TODO(yusukes): Remove the runtime hack. | 62 // TODO(yusukes): Remove the runtime hack. |
| 61 if (base::chromeos::IsRunningOnChromeOS()) { | 63 if (base::chromeos::IsRunningOnChromeOS()) { |
| 62 input_method::InputMethodManager* manager = | 64 input_method::InputMethodManager* manager = |
| 63 input_method::GetInputMethodManager(); | 65 input_method::GetInputMethodManager(); |
| 64 if (manager) { | 66 if (manager) { |
| 65 hardware_keyboard_id = | 67 hardware_keyboard_id = |
| 66 manager->GetInputMethodUtil()->GetHardwareInputMethodId(); | 68 manager->GetInputMethodUtil()->GetHardwareInputMethodId(); |
| 67 } | 69 } |
| 68 } else { | 70 } else { |
| 69 hardware_keyboard_id = "xkb:us::eng"; // only for testing. | 71 hardware_keyboard_id = "xkb:us::eng"; // only for testing. |
| 70 } | 72 } |
| 71 | 73 |
| 72 prefs->RegisterBooleanPref(prefs::kTapToClickEnabled, | 74 registry->RegisterBooleanPref(prefs::kTapToClickEnabled, |
| 73 true, | 75 true, |
| 74 PrefServiceSyncable::SYNCABLE_PREF); | 76 PrefRegistrySyncable::SYNCABLE_PREF); |
| 75 prefs->RegisterBooleanPref(prefs::kTapDraggingEnabled, | 77 registry->RegisterBooleanPref(prefs::kTapDraggingEnabled, |
| 76 false, | 78 false, |
| 77 PrefServiceSyncable::SYNCABLE_PREF); | 79 PrefRegistrySyncable::SYNCABLE_PREF); |
| 78 prefs->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerClick, | 80 registry->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerClick, |
| 79 false, | 81 false, |
| 80 PrefServiceSyncable::UNSYNCABLE_PREF); | 82 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 81 prefs->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerSwipe, | 83 registry->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerSwipe, |
| 82 false, | 84 false, |
| 83 PrefServiceSyncable::UNSYNCABLE_PREF); | 85 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 84 prefs->RegisterBooleanPref( | 86 registry->RegisterBooleanPref( |
| 85 prefs::kNaturalScroll, | 87 prefs::kNaturalScroll, |
| 86 CommandLine::ForCurrentProcess()->HasSwitch( | 88 CommandLine::ForCurrentProcess()->HasSwitch( |
| 87 switches::kNaturalScrollDefault), | 89 switches::kNaturalScrollDefault), |
| 88 PrefServiceSyncable::SYNCABLE_PREF); | 90 PrefRegistrySyncable::SYNCABLE_PREF); |
| 89 prefs->RegisterBooleanPref(prefs::kPrimaryMouseButtonRight, | 91 registry->RegisterBooleanPref(prefs::kPrimaryMouseButtonRight, |
| 90 false, | 92 false, |
| 91 PrefServiceSyncable::SYNCABLE_PREF); | 93 PrefRegistrySyncable::SYNCABLE_PREF); |
| 92 prefs->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled, | 94 registry->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled, |
| 93 false, | 95 false, |
| 94 PrefServiceSyncable::UNSYNCABLE_PREF); | 96 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 95 prefs->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled, | 97 registry->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled, |
| 96 false, | 98 false, |
| 97 PrefServiceSyncable::UNSYNCABLE_PREF); | 99 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 98 // Check if the accessibility prefs are already registered, which can happen | 100 // Check if the accessibility prefs are already registered, which can happen |
| 99 // in WizardController::RegisterPrefs. We still want to try to register | 101 // in WizardController::RegisterPrefs. We still want to try to register |
| 100 // the prefs here in case of Chrome/Linux with ChromeOS=1. | 102 // the prefs here in case of Chrome/Linux with ChromeOS=1. |
| 101 if (prefs->FindPreference(prefs::kSpokenFeedbackEnabled) == NULL) { | 103 if (prefs->FindPreference(prefs::kSpokenFeedbackEnabled) == NULL) { |
|
Mattias Nissler (ping if slow)
2013/02/06 17:53:33
TODO here?
Jói
2013/02/07 14:52:32
Done.
| |
| 102 prefs->RegisterBooleanPref(prefs::kSpokenFeedbackEnabled, | 104 registry->RegisterBooleanPref(prefs::kSpokenFeedbackEnabled, |
| 103 false, | 105 false, |
| 104 PrefServiceSyncable::UNSYNCABLE_PREF); | 106 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 105 } | 107 } |
| 106 if (prefs->FindPreference(prefs::kHighContrastEnabled) == NULL) { | 108 if (prefs->FindPreference(prefs::kHighContrastEnabled) == NULL) { |
| 107 prefs->RegisterBooleanPref(prefs::kHighContrastEnabled, | 109 registry->RegisterBooleanPref(prefs::kHighContrastEnabled, |
| 108 false, | 110 false, |
| 109 PrefServiceSyncable::UNSYNCABLE_PREF); | 111 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 110 } | 112 } |
| 111 if (prefs->FindPreference(prefs::kVirtualKeyboardEnabled) == NULL) { | 113 if (prefs->FindPreference(prefs::kVirtualKeyboardEnabled) == NULL) { |
| 112 prefs->RegisterBooleanPref(prefs::kVirtualKeyboardEnabled, | 114 registry->RegisterBooleanPref(prefs::kVirtualKeyboardEnabled, |
| 113 false, | 115 false, |
| 114 PrefServiceSyncable::UNSYNCABLE_PREF); | 116 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 115 } | 117 } |
| 116 prefs->RegisterBooleanPref(prefs::kScreenMagnifierEnabled, | 118 registry->RegisterBooleanPref(prefs::kScreenMagnifierEnabled, |
| 117 false, | 119 false, |
| 118 PrefServiceSyncable::SYNCABLE_PREF); | 120 PrefRegistrySyncable::SYNCABLE_PREF); |
| 119 prefs->RegisterIntegerPref(prefs::kScreenMagnifierType, | 121 registry->RegisterIntegerPref(prefs::kScreenMagnifierType, |
| 120 ash::kDefaultMagnifierType, | 122 ash::kDefaultMagnifierType, |
| 121 PrefServiceSyncable::SYNCABLE_PREF); | 123 PrefRegistrySyncable::SYNCABLE_PREF); |
| 122 prefs->RegisterDoublePref(prefs::kScreenMagnifierScale, | 124 registry->RegisterDoublePref(prefs::kScreenMagnifierScale, |
| 123 std::numeric_limits<double>::min(), | 125 std::numeric_limits<double>::min(), |
| 124 PrefServiceSyncable::UNSYNCABLE_PREF); | 126 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 125 prefs->RegisterBooleanPref(prefs::kShouldAlwaysShowAccessibilityMenu, | 127 registry->RegisterBooleanPref(prefs::kShouldAlwaysShowAccessibilityMenu, |
| 126 false, | 128 false, |
| 127 PrefServiceSyncable::UNSYNCABLE_PREF); | 129 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 128 prefs->RegisterIntegerPref(prefs::kMouseSensitivity, | 130 registry->RegisterIntegerPref(prefs::kMouseSensitivity, |
| 129 3, | 131 3, |
| 130 PrefServiceSyncable::SYNCABLE_PREF); | 132 PrefRegistrySyncable::SYNCABLE_PREF); |
| 131 prefs->RegisterIntegerPref(prefs::kTouchpadSensitivity, | 133 registry->RegisterIntegerPref(prefs::kTouchpadSensitivity, |
| 132 3, | 134 3, |
| 133 PrefServiceSyncable::SYNCABLE_PREF); | 135 PrefRegistrySyncable::SYNCABLE_PREF); |
| 134 prefs->RegisterBooleanPref(prefs::kUse24HourClock, | 136 registry->RegisterBooleanPref(prefs::kUse24HourClock, |
| 135 base::GetHourClockType() == base::k24HourClock, | 137 base::GetHourClockType() == base::k24HourClock, |
| 136 PrefServiceSyncable::SYNCABLE_PREF); | 138 PrefRegistrySyncable::SYNCABLE_PREF); |
| 137 prefs->RegisterBooleanPref(prefs::kDisableDrive, | 139 registry->RegisterBooleanPref(prefs::kDisableDrive, |
| 138 false, | 140 false, |
| 139 PrefServiceSyncable::SYNCABLE_PREF); | 141 PrefRegistrySyncable::SYNCABLE_PREF); |
| 140 prefs->RegisterBooleanPref(prefs::kDisableDriveOverCellular, | 142 registry->RegisterBooleanPref(prefs::kDisableDriveOverCellular, |
| 141 true, | 143 true, |
| 142 PrefServiceSyncable::SYNCABLE_PREF); | 144 PrefRegistrySyncable::SYNCABLE_PREF); |
| 143 prefs->RegisterBooleanPref(prefs::kDisableDriveHostedFiles, | 145 registry->RegisterBooleanPref(prefs::kDisableDriveHostedFiles, |
| 144 false, | 146 false, |
| 145 PrefServiceSyncable::SYNCABLE_PREF); | 147 PrefRegistrySyncable::SYNCABLE_PREF); |
| 146 // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod | 148 // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod |
| 147 // because they're just used to track the logout state of the device. | 149 // because they're just used to track the logout state of the device. |
| 148 prefs->RegisterStringPref(prefs::kLanguageCurrentInputMethod, | 150 registry->RegisterStringPref(prefs::kLanguageCurrentInputMethod, |
| 151 "", | |
| 152 PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 153 registry->RegisterStringPref(prefs::kLanguagePreviousInputMethod, | |
| 149 "", | 154 "", |
| 150 PrefServiceSyncable::UNSYNCABLE_PREF); | 155 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 151 prefs->RegisterStringPref(prefs::kLanguagePreviousInputMethod, | |
| 152 "", | |
| 153 PrefServiceSyncable::UNSYNCABLE_PREF); | |
| 154 // We don't sync the list of input methods and preferred languages since a | 156 // We don't sync the list of input methods and preferred languages since a |
| 155 // user might use two or more devices with different hardware keyboards. | 157 // user might use two or more devices with different hardware keyboards. |
| 156 // crosbug.com/15181 | 158 // crosbug.com/15181 |
| 157 prefs->RegisterStringPref(prefs::kLanguagePreferredLanguages, | 159 registry->RegisterStringPref(prefs::kLanguagePreferredLanguages, |
| 158 kFallbackInputMethodLocale, | 160 kFallbackInputMethodLocale, |
| 159 PrefServiceSyncable::UNSYNCABLE_PREF); | 161 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 160 prefs->RegisterStringPref(prefs::kLanguagePreloadEngines, | 162 registry->RegisterStringPref(prefs::kLanguagePreloadEngines, |
| 161 hardware_keyboard_id, | 163 hardware_keyboard_id, |
| 162 PrefServiceSyncable::UNSYNCABLE_PREF); | 164 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 163 prefs->RegisterStringPref(prefs::kLanguageFilteredExtensionImes, | 165 registry->RegisterStringPref(prefs::kLanguageFilteredExtensionImes, |
| 164 "", | 166 "", |
| 165 PrefServiceSyncable::UNSYNCABLE_PREF); | 167 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 166 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { | 168 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { |
| 167 prefs->RegisterBooleanPref( | 169 registry->RegisterBooleanPref( |
| 168 language_prefs::kChewingBooleanPrefs[i].pref_name, | 170 language_prefs::kChewingBooleanPrefs[i].pref_name, |
| 169 language_prefs::kChewingBooleanPrefs[i].default_pref_value, | 171 language_prefs::kChewingBooleanPrefs[i].default_pref_value, |
| 170 language_prefs::kChewingBooleanPrefs[i].sync_status); | 172 language_prefs::kChewingBooleanPrefs[i].sync_status); |
| 171 } | 173 } |
| 172 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { | 174 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { |
| 173 prefs->RegisterStringPref( | 175 registry->RegisterStringPref( |
| 174 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, | 176 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, |
| 175 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value, | 177 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value, |
| 176 language_prefs::kChewingMultipleChoicePrefs[i].sync_status); | 178 language_prefs::kChewingMultipleChoicePrefs[i].sync_status); |
| 177 } | 179 } |
| 178 prefs->RegisterIntegerPref( | 180 registry->RegisterIntegerPref( |
| 179 language_prefs::kChewingHsuSelKeyType.pref_name, | 181 language_prefs::kChewingHsuSelKeyType.pref_name, |
| 180 language_prefs::kChewingHsuSelKeyType.default_pref_value, | 182 language_prefs::kChewingHsuSelKeyType.default_pref_value, |
| 181 language_prefs::kChewingHsuSelKeyType.sync_status); | 183 language_prefs::kChewingHsuSelKeyType.sync_status); |
| 182 | 184 |
| 183 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) { | 185 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) { |
| 184 prefs->RegisterIntegerPref( | 186 registry->RegisterIntegerPref( |
| 185 language_prefs::kChewingIntegerPrefs[i].pref_name, | 187 language_prefs::kChewingIntegerPrefs[i].pref_name, |
| 186 language_prefs::kChewingIntegerPrefs[i].default_pref_value, | 188 language_prefs::kChewingIntegerPrefs[i].default_pref_value, |
| 187 language_prefs::kChewingIntegerPrefs[i].sync_status); | 189 language_prefs::kChewingIntegerPrefs[i].sync_status); |
| 188 } | 190 } |
| 189 prefs->RegisterStringPref( | 191 registry->RegisterStringPref( |
| 190 prefs::kLanguageHangulKeyboard, | 192 prefs::kLanguageHangulKeyboard, |
| 191 language_prefs::kHangulKeyboardNameIDPairs[0].keyboard_id, | 193 language_prefs::kHangulKeyboardNameIDPairs[0].keyboard_id, |
| 192 PrefServiceSyncable::SYNCABLE_PREF); | 194 PrefRegistrySyncable::SYNCABLE_PREF); |
| 193 prefs->RegisterStringPref(prefs::kLanguageHangulHanjaBindingKeys, | 195 registry->RegisterStringPref( |
| 194 language_prefs::kHangulHanjaBindingKeys, | 196 prefs::kLanguageHangulHanjaBindingKeys, |
| 195 // Don't sync the pref as it's not user-configurable | 197 language_prefs::kHangulHanjaBindingKeys, |
| 196 PrefServiceSyncable::UNSYNCABLE_PREF); | 198 // Don't sync the pref as it's not user-configurable |
| 199 PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 197 for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) { | 200 for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) { |
| 198 prefs->RegisterBooleanPref( | 201 registry->RegisterBooleanPref( |
| 199 language_prefs::kPinyinBooleanPrefs[i].pref_name, | 202 language_prefs::kPinyinBooleanPrefs[i].pref_name, |
| 200 language_prefs::kPinyinBooleanPrefs[i].default_pref_value, | 203 language_prefs::kPinyinBooleanPrefs[i].default_pref_value, |
| 201 language_prefs::kPinyinBooleanPrefs[i].sync_status); | 204 language_prefs::kPinyinBooleanPrefs[i].sync_status); |
| 202 } | 205 } |
| 203 for (size_t i = 0; i < language_prefs::kNumPinyinIntegerPrefs; ++i) { | 206 for (size_t i = 0; i < language_prefs::kNumPinyinIntegerPrefs; ++i) { |
| 204 prefs->RegisterIntegerPref( | 207 registry->RegisterIntegerPref( |
| 205 language_prefs::kPinyinIntegerPrefs[i].pref_name, | 208 language_prefs::kPinyinIntegerPrefs[i].pref_name, |
| 206 language_prefs::kPinyinIntegerPrefs[i].default_pref_value, | 209 language_prefs::kPinyinIntegerPrefs[i].default_pref_value, |
| 207 language_prefs::kPinyinIntegerPrefs[i].sync_status); | 210 language_prefs::kPinyinIntegerPrefs[i].sync_status); |
| 208 } | 211 } |
| 209 prefs->RegisterIntegerPref( | 212 registry->RegisterIntegerPref( |
| 210 language_prefs::kPinyinDoublePinyinSchema.pref_name, | 213 language_prefs::kPinyinDoublePinyinSchema.pref_name, |
| 211 language_prefs::kPinyinDoublePinyinSchema.default_pref_value, | 214 language_prefs::kPinyinDoublePinyinSchema.default_pref_value, |
| 212 PrefServiceSyncable::UNSYNCABLE_PREF); | 215 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 213 | 216 |
| 214 for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) { | 217 for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) { |
| 215 prefs->RegisterBooleanPref( | 218 registry->RegisterBooleanPref( |
| 216 language_prefs::kMozcBooleanPrefs[i].pref_name, | 219 language_prefs::kMozcBooleanPrefs[i].pref_name, |
| 217 language_prefs::kMozcBooleanPrefs[i].default_pref_value, | 220 language_prefs::kMozcBooleanPrefs[i].default_pref_value, |
| 218 language_prefs::kMozcBooleanPrefs[i].sync_status); | 221 language_prefs::kMozcBooleanPrefs[i].sync_status); |
| 219 } | 222 } |
| 220 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) { | 223 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) { |
| 221 prefs->RegisterStringPref( | 224 registry->RegisterStringPref( |
| 222 language_prefs::kMozcMultipleChoicePrefs[i].pref_name, | 225 language_prefs::kMozcMultipleChoicePrefs[i].pref_name, |
| 223 language_prefs::kMozcMultipleChoicePrefs[i].default_pref_value, | 226 language_prefs::kMozcMultipleChoicePrefs[i].default_pref_value, |
| 224 language_prefs::kMozcMultipleChoicePrefs[i].sync_status); | 227 language_prefs::kMozcMultipleChoicePrefs[i].sync_status); |
| 225 } | 228 } |
| 226 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { | 229 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { |
| 227 prefs->RegisterIntegerPref( | 230 registry->RegisterIntegerPref( |
| 228 language_prefs::kMozcIntegerPrefs[i].pref_name, | 231 language_prefs::kMozcIntegerPrefs[i].pref_name, |
| 229 language_prefs::kMozcIntegerPrefs[i].default_pref_value, | 232 language_prefs::kMozcIntegerPrefs[i].default_pref_value, |
| 230 language_prefs::kMozcIntegerPrefs[i].sync_status); | 233 language_prefs::kMozcIntegerPrefs[i].sync_status); |
| 231 } | 234 } |
| 232 prefs->RegisterIntegerPref(prefs::kLanguageRemapSearchKeyTo, | 235 registry->RegisterIntegerPref(prefs::kLanguageRemapSearchKeyTo, |
| 233 input_method::kSearchKey, | 236 input_method::kSearchKey, |
| 234 PrefServiceSyncable::SYNCABLE_PREF); | 237 PrefRegistrySyncable::SYNCABLE_PREF); |
| 235 prefs->RegisterIntegerPref(prefs::kLanguageRemapControlKeyTo, | 238 registry->RegisterIntegerPref(prefs::kLanguageRemapControlKeyTo, |
| 236 input_method::kControlKey, | 239 input_method::kControlKey, |
| 237 PrefServiceSyncable::SYNCABLE_PREF); | 240 PrefRegistrySyncable::SYNCABLE_PREF); |
| 238 prefs->RegisterIntegerPref(prefs::kLanguageRemapAltKeyTo, | 241 registry->RegisterIntegerPref(prefs::kLanguageRemapAltKeyTo, |
| 239 input_method::kAltKey, | 242 input_method::kAltKey, |
| 240 PrefServiceSyncable::SYNCABLE_PREF); | 243 PrefRegistrySyncable::SYNCABLE_PREF); |
| 241 prefs->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo, | 244 registry->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo, |
| 242 input_method::kCapsLockKey, | 245 input_method::kCapsLockKey, |
| 243 PrefServiceSyncable::SYNCABLE_PREF); | 246 PrefRegistrySyncable::SYNCABLE_PREF); |
| 244 prefs->RegisterIntegerPref(prefs::kLanguageRemapDiamondKeyTo, | 247 registry->RegisterIntegerPref(prefs::kLanguageRemapDiamondKeyTo, |
| 245 input_method::kControlKey, | 248 input_method::kControlKey, |
| 246 PrefServiceSyncable::SYNCABLE_PREF); | 249 PrefRegistrySyncable::SYNCABLE_PREF); |
| 247 // We don't sync the following keyboard prefs since they are not user- | 250 // We don't sync the following keyboard prefs since they are not user- |
| 248 // configurable. | 251 // configurable. |
| 249 prefs->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled, | 252 registry->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled, |
| 250 true, | 253 true, |
| 251 PrefServiceSyncable::UNSYNCABLE_PREF); | 254 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 252 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay, | 255 registry->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay, |
| 253 language_prefs::kXkbAutoRepeatDelayInMs, | 256 language_prefs::kXkbAutoRepeatDelayInMs, |
| 254 PrefServiceSyncable::UNSYNCABLE_PREF); | 257 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 255 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, | 258 registry->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, |
| 256 language_prefs::kXkbAutoRepeatIntervalInMs, | 259 language_prefs::kXkbAutoRepeatIntervalInMs, |
| 257 PrefServiceSyncable::UNSYNCABLE_PREF); | 260 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 258 | 261 |
| 259 // Screen lock default to off. | 262 // Screen lock default to off. |
| 260 prefs->RegisterBooleanPref(prefs::kEnableScreenLock, | 263 registry->RegisterBooleanPref(prefs::kEnableScreenLock, |
| 261 false, | 264 false, |
| 262 PrefServiceSyncable::SYNCABLE_PREF); | 265 PrefRegistrySyncable::SYNCABLE_PREF); |
| 263 | 266 |
| 264 // Mobile plan notifications default to on. | 267 // Mobile plan notifications default to on. |
| 265 prefs->RegisterBooleanPref(prefs::kShowPlanNotifications, | 268 registry->RegisterBooleanPref(prefs::kShowPlanNotifications, |
| 266 true, | 269 true, |
| 267 PrefServiceSyncable::SYNCABLE_PREF); | 270 PrefRegistrySyncable::SYNCABLE_PREF); |
| 268 | 271 |
| 269 // 3G first-time usage promo will be shown at least once. | 272 // 3G first-time usage promo will be shown at least once. |
| 270 prefs->RegisterBooleanPref(prefs::kShow3gPromoNotification, | 273 registry->RegisterBooleanPref(prefs::kShow3gPromoNotification, |
| 271 true, | 274 true, |
| 272 PrefServiceSyncable::UNSYNCABLE_PREF); | 275 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 273 | 276 |
| 274 // Initially all existing users would see "What's new" | 277 // Initially all existing users would see "What's new" |
| 275 // for current version after update. | 278 // for current version after update. |
| 276 prefs->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, | 279 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, |
| 277 "0.0.0.0", | 280 "0.0.0.0", |
| 278 PrefServiceSyncable::SYNCABLE_PREF); | 281 PrefRegistrySyncable::SYNCABLE_PREF); |
| 279 | 282 |
| 280 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kForceOAuth1)) { | 283 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kForceOAuth1)) { |
| 281 // Legacy OAuth1 all access token and secret pair. | 284 // Legacy OAuth1 all access token and secret pair. |
| 282 prefs->RegisterStringPref(prefs::kOAuth1Token, | 285 registry->RegisterStringPref(prefs::kOAuth1Token, |
| 283 "", | 286 "", |
| 284 PrefServiceSyncable::UNSYNCABLE_PREF); | 287 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 285 prefs->RegisterStringPref(prefs::kOAuth1Secret, | 288 registry->RegisterStringPref(prefs::kOAuth1Secret, |
| 286 "", | 289 "", |
| 287 PrefServiceSyncable::UNSYNCABLE_PREF); | 290 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 288 } | 291 } |
| 289 | 292 |
| 290 // TODO(wad): Once UI is connected, a final default can be set. At that point | 293 // TODO(wad): Once UI is connected, a final default can be set. At that point |
| 291 // change this pref from UNSYNCABLE to SYNCABLE. | 294 // change this pref from UNSYNCABLE to SYNCABLE. |
| 292 prefs->RegisterBooleanPref(prefs::kEnableCrosDRM, | 295 registry->RegisterBooleanPref(prefs::kEnableCrosDRM, |
| 293 true, | 296 true, |
| 294 PrefServiceSyncable::UNSYNCABLE_PREF); | 297 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 295 | 298 |
| 296 prefs->RegisterBooleanPref(prefs::kExternalStorageDisabled, | 299 registry->RegisterBooleanPref(prefs::kExternalStorageDisabled, |
| 297 false, | 300 false, |
| 298 PrefServiceSyncable::UNSYNCABLE_PREF); | 301 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 299 } | 302 } |
| 300 | 303 |
| 301 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { | 304 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
| 302 prefs_ = prefs; | 305 prefs_ = prefs; |
| 303 | 306 |
| 304 BooleanPrefMember::NamedChangeCallback callback = | 307 BooleanPrefMember::NamedChangeCallback callback = |
| 305 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); | 308 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); |
| 306 | 309 |
| 307 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, callback); | 310 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, callback); |
| 308 tap_dragging_enabled_.Init(prefs::kTapDraggingEnabled, prefs, callback); | 311 tap_dragging_enabled_.Init(prefs::kTapDraggingEnabled, prefs, callback); |
| (...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 788 | 791 |
| 789 input_method::AutoRepeatRate rate; | 792 input_method::AutoRepeatRate rate; |
| 790 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); | 793 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); |
| 791 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); | 794 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); |
| 792 DCHECK(rate.initial_delay_in_ms > 0); | 795 DCHECK(rate.initial_delay_in_ms > 0); |
| 793 DCHECK(rate.repeat_interval_in_ms > 0); | 796 DCHECK(rate.repeat_interval_in_ms > 0); |
| 794 input_method::XKeyboard::SetAutoRepeatRate(rate); | 797 input_method::XKeyboard::SetAutoRepeatRate(rate); |
| 795 } | 798 } |
| 796 | 799 |
| 797 } // namespace chromeos | 800 } // namespace chromeos |
| OLD | NEW |