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 |