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 <vector> | 7 #include <vector> |
8 | 8 |
9 #include "ash/autoclick/autoclick_controller.h" | 9 #include "ash/autoclick/autoclick_controller.h" |
10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 if (base::SysInfo::IsRunningOnChromeOS()) { | 100 if (base::SysInfo::IsRunningOnChromeOS()) { |
101 DCHECK(g_browser_process); | 101 DCHECK(g_browser_process); |
102 PrefService* local_state = g_browser_process->local_state(); | 102 PrefService* local_state = g_browser_process->local_state(); |
103 DCHECK(local_state); | 103 DCHECK(local_state); |
104 hardware_keyboard_id = | 104 hardware_keyboard_id = |
105 local_state->GetString(prefs::kHardwareKeyboardLayout); | 105 local_state->GetString(prefs::kHardwareKeyboardLayout); |
106 } else { | 106 } else { |
107 hardware_keyboard_id = "xkb:us::eng"; // only for testing. | 107 hardware_keyboard_id = "xkb:us::eng"; // only for testing. |
108 } | 108 } |
109 | 109 |
110 registry->RegisterBooleanPref( | 110 registry->RegisterBooleanPref(prefs::kPerformanceTracingEnabled, false); |
111 prefs::kPerformanceTracingEnabled, | |
112 false, | |
113 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
114 | 111 |
115 registry->RegisterBooleanPref( | 112 registry->RegisterBooleanPref( |
116 prefs::kTapToClickEnabled, | 113 prefs::kTapToClickEnabled, |
117 true, | 114 true, |
118 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 115 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
119 registry->RegisterBooleanPref( | 116 registry->RegisterBooleanPref( |
120 prefs::kTapDraggingEnabled, | 117 prefs::kTapDraggingEnabled, |
121 false, | 118 false, |
122 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 119 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
123 registry->RegisterBooleanPref( | 120 registry->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerClick, false); |
124 prefs::kEnableTouchpadThreeFingerClick, | |
125 false, | |
126 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
127 registry->RegisterBooleanPref( | 121 registry->RegisterBooleanPref( |
128 prefs::kNaturalScroll, base::CommandLine::ForCurrentProcess()->HasSwitch( | 122 prefs::kNaturalScroll, base::CommandLine::ForCurrentProcess()->HasSwitch( |
129 switches::kNaturalScrollDefault), | 123 switches::kNaturalScrollDefault), |
130 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 124 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
131 registry->RegisterBooleanPref( | 125 registry->RegisterBooleanPref( |
132 prefs::kPrimaryMouseButtonRight, | 126 prefs::kPrimaryMouseButtonRight, |
133 false, | 127 false, |
134 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 128 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
135 registry->RegisterBooleanPref( | 129 registry->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled, false); |
136 prefs::kLabsMediaplayerEnabled, | 130 registry->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled, false); |
137 false, | |
138 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
139 registry->RegisterBooleanPref( | |
140 prefs::kLabsAdvancedFilesystemEnabled, | |
141 false, | |
142 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
143 registry->RegisterBooleanPref( | 131 registry->RegisterBooleanPref( |
144 prefs::kAccessibilityStickyKeysEnabled, | 132 prefs::kAccessibilityStickyKeysEnabled, |
145 false, | 133 false, |
146 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 134 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
147 registry->RegisterBooleanPref( | 135 registry->RegisterBooleanPref( |
148 prefs::kAccessibilityLargeCursorEnabled, | 136 prefs::kAccessibilityLargeCursorEnabled, |
149 false, | 137 false, |
150 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 138 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
151 registry->RegisterBooleanPref( | 139 registry->RegisterBooleanPref(prefs::kAccessibilitySpokenFeedbackEnabled, |
152 prefs::kAccessibilitySpokenFeedbackEnabled, | 140 false); |
153 false, | |
154 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
155 registry->RegisterBooleanPref( | 141 registry->RegisterBooleanPref( |
156 prefs::kAccessibilityHighContrastEnabled, | 142 prefs::kAccessibilityHighContrastEnabled, |
157 false, | 143 false, |
158 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 144 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
159 registry->RegisterBooleanPref( | 145 registry->RegisterBooleanPref( |
160 prefs::kAccessibilityScreenMagnifierEnabled, | 146 prefs::kAccessibilityScreenMagnifierEnabled, |
161 false, | 147 false, |
162 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 148 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
163 registry->RegisterIntegerPref( | 149 registry->RegisterIntegerPref( |
164 prefs::kAccessibilityScreenMagnifierType, | 150 prefs::kAccessibilityScreenMagnifierType, |
165 ui::kDefaultMagnifierType, | 151 ui::kDefaultMagnifierType, |
166 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 152 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
167 registry->RegisterDoublePref( | 153 registry->RegisterDoublePref(prefs::kAccessibilityScreenMagnifierScale, |
168 prefs::kAccessibilityScreenMagnifierScale, | 154 std::numeric_limits<double>::min()); |
169 std::numeric_limits<double>::min(), | |
170 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
171 registry->RegisterBooleanPref( | 155 registry->RegisterBooleanPref( |
172 prefs::kAccessibilityAutoclickEnabled, | 156 prefs::kAccessibilityAutoclickEnabled, |
173 false, | 157 false, |
174 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 158 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
175 registry->RegisterIntegerPref( | 159 registry->RegisterIntegerPref( |
176 prefs::kAccessibilityAutoclickDelayMs, | 160 prefs::kAccessibilityAutoclickDelayMs, |
177 ash::AutoclickController::kDefaultAutoclickDelayMs, | 161 ash::AutoclickController::kDefaultAutoclickDelayMs, |
178 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 162 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
179 registry->RegisterBooleanPref( | 163 registry->RegisterBooleanPref( |
180 prefs::kAccessibilityVirtualKeyboardEnabled, | 164 prefs::kAccessibilityVirtualKeyboardEnabled, |
(...skipping 22 matching lines...) Expand all Loading... |
203 registry->RegisterBooleanPref( | 187 registry->RegisterBooleanPref( |
204 prefs::kDisableDriveOverCellular, | 188 prefs::kDisableDriveOverCellular, |
205 true, | 189 true, |
206 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 190 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
207 registry->RegisterBooleanPref( | 191 registry->RegisterBooleanPref( |
208 prefs::kDisableDriveHostedFiles, | 192 prefs::kDisableDriveHostedFiles, |
209 false, | 193 false, |
210 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 194 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
211 // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod | 195 // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod |
212 // because they're just used to track the logout state of the device. | 196 // because they're just used to track the logout state of the device. |
213 registry->RegisterStringPref( | 197 registry->RegisterStringPref(prefs::kLanguageCurrentInputMethod, ""); |
214 prefs::kLanguageCurrentInputMethod, | 198 registry->RegisterStringPref(prefs::kLanguagePreviousInputMethod, ""); |
215 "", | 199 registry->RegisterStringPref(prefs::kLanguagePreferredLanguages, |
216 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 200 kFallbackInputMethodLocale); |
217 registry->RegisterStringPref( | 201 registry->RegisterStringPref(prefs::kLanguagePreloadEngines, |
218 prefs::kLanguagePreviousInputMethod, | 202 hardware_keyboard_id); |
219 "", | 203 registry->RegisterStringPref(prefs::kLanguageEnabledExtensionImes, ""); |
220 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
221 registry->RegisterStringPref( | |
222 prefs::kLanguagePreferredLanguages, | |
223 kFallbackInputMethodLocale, | |
224 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
225 registry->RegisterStringPref( | |
226 prefs::kLanguagePreloadEngines, | |
227 hardware_keyboard_id, | |
228 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
229 registry->RegisterStringPref( | |
230 prefs::kLanguageEnabledExtensionImes, | |
231 "", | |
232 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
233 | 204 |
234 registry->RegisterIntegerPref( | 205 registry->RegisterIntegerPref( |
235 prefs::kLanguageRemapSearchKeyTo, | 206 prefs::kLanguageRemapSearchKeyTo, |
236 input_method::kSearchKey, | 207 input_method::kSearchKey, |
237 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 208 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
238 registry->RegisterIntegerPref( | 209 registry->RegisterIntegerPref( |
239 prefs::kLanguageRemapControlKeyTo, | 210 prefs::kLanguageRemapControlKeyTo, |
240 input_method::kControlKey, | 211 input_method::kControlKey, |
241 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 212 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
242 registry->RegisterIntegerPref( | 213 registry->RegisterIntegerPref( |
243 prefs::kLanguageRemapAltKeyTo, | 214 prefs::kLanguageRemapAltKeyTo, |
244 input_method::kAltKey, | 215 input_method::kAltKey, |
245 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 216 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
246 // We don't sync the CapsLock remapping pref, since the UI hides this pref | 217 // We don't sync the CapsLock remapping pref, since the UI hides this pref |
247 // on certain devices, so syncing a non-default value to a device that | 218 // on certain devices, so syncing a non-default value to a device that |
248 // doesn't allow changing the pref would be odd. http://crbug.com/167237 | 219 // doesn't allow changing the pref would be odd. http://crbug.com/167237 |
249 registry->RegisterIntegerPref( | 220 registry->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo, |
250 prefs::kLanguageRemapCapsLockKeyTo, | 221 input_method::kCapsLockKey); |
251 input_method::kCapsLockKey, | |
252 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
253 registry->RegisterIntegerPref( | 222 registry->RegisterIntegerPref( |
254 prefs::kLanguageRemapDiamondKeyTo, | 223 prefs::kLanguageRemapDiamondKeyTo, |
255 input_method::kControlKey, | 224 input_method::kControlKey, |
256 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); | 225 user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); |
257 // The following pref isn't synced since the user may desire a different value | 226 // The following pref isn't synced since the user may desire a different value |
258 // depending on whether an external keyboard is attached to a particular | 227 // depending on whether an external keyboard is attached to a particular |
259 // device. | 228 // device. |
260 registry->RegisterBooleanPref( | 229 registry->RegisterBooleanPref(prefs::kLanguageSendFunctionKeys, false); |
261 prefs::kLanguageSendFunctionKeys, | |
262 false, | |
263 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
264 registry->RegisterBooleanPref( | 230 registry->RegisterBooleanPref( |
265 prefs::kLanguageXkbAutoRepeatEnabled, | 231 prefs::kLanguageXkbAutoRepeatEnabled, |
266 true, | 232 true, |
267 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 233 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
268 registry->RegisterIntegerPref( | 234 registry->RegisterIntegerPref( |
269 prefs::kLanguageXkbAutoRepeatDelay, | 235 prefs::kLanguageXkbAutoRepeatDelay, |
270 language_prefs::kXkbAutoRepeatDelayInMs, | 236 language_prefs::kXkbAutoRepeatDelayInMs, |
271 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 237 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
272 registry->RegisterIntegerPref( | 238 registry->RegisterIntegerPref( |
273 prefs::kLanguageXkbAutoRepeatInterval, | 239 prefs::kLanguageXkbAutoRepeatInterval, |
274 language_prefs::kXkbAutoRepeatIntervalInMs, | 240 language_prefs::kXkbAutoRepeatIntervalInMs, |
275 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 241 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
276 | 242 |
277 // We don't sync wake-on-wifi related prefs because they are device specific. | 243 // We don't sync wake-on-wifi related prefs because they are device specific. |
278 registry->RegisterBooleanPref( | 244 registry->RegisterBooleanPref(prefs::kWakeOnWifiSsid, true); |
279 prefs::kWakeOnWifiSsid, | |
280 true, | |
281 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
282 | 245 |
283 // Mobile plan notifications default to on. | 246 // Mobile plan notifications default to on. |
284 registry->RegisterBooleanPref( | 247 registry->RegisterBooleanPref( |
285 prefs::kShowPlanNotifications, | 248 prefs::kShowPlanNotifications, |
286 true, | 249 true, |
287 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 250 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
288 | 251 |
289 // 3G first-time usage promo will be shown at least once. | 252 // 3G first-time usage promo will be shown at least once. |
290 registry->RegisterBooleanPref( | 253 registry->RegisterBooleanPref(prefs::kShow3gPromoNotification, true); |
291 prefs::kShow3gPromoNotification, | |
292 true, | |
293 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
294 | 254 |
295 // Number of times Data Saver prompt has been shown on 3G data network. | 255 // Number of times Data Saver prompt has been shown on 3G data network. |
296 registry->RegisterIntegerPref( | 256 registry->RegisterIntegerPref(prefs::kDataSaverPromptsShown, 0); |
297 prefs::kDataSaverPromptsShown, | |
298 0, | |
299 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
300 | 257 |
301 // Initially all existing users would see "What's new" for current version | 258 // Initially all existing users would see "What's new" for current version |
302 // after update. | 259 // after update. |
303 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, | 260 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, |
304 "0.0.0.0", | 261 "0.0.0.0", |
305 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 262 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
306 | 263 |
307 registry->RegisterBooleanPref( | 264 registry->RegisterBooleanPref(prefs::kExternalStorageDisabled, false); |
308 prefs::kExternalStorageDisabled, | |
309 false, | |
310 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
311 | 265 |
312 registry->RegisterStringPref( | 266 registry->RegisterStringPref(prefs::kTermsOfServiceURL, ""); |
313 prefs::kTermsOfServiceURL, | |
314 "", | |
315 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
316 | 267 |
317 registry->RegisterBooleanPref( | 268 registry->RegisterBooleanPref(prefs::kTouchHudProjectionEnabled, false); |
318 prefs::kTouchHudProjectionEnabled, | |
319 false, | |
320 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
321 | 269 |
322 registry->RegisterBooleanPref( | 270 registry->RegisterBooleanPref(prefs::kTouchVirtualKeyboardEnabled, false); |
323 prefs::kTouchVirtualKeyboardEnabled, | |
324 false, | |
325 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
326 | 271 |
327 input_method::InputMethodSyncer::RegisterProfilePrefs(registry); | 272 input_method::InputMethodSyncer::RegisterProfilePrefs(registry); |
328 | 273 |
329 registry->RegisterBooleanPref( | 274 registry->RegisterBooleanPref( |
330 prefs::kResolveTimezoneByGeolocation, true, | 275 prefs::kResolveTimezoneByGeolocation, true, |
331 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 276 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
332 | 277 |
333 registry->RegisterBooleanPref( | 278 registry->RegisterBooleanPref(prefs::kCaptivePortalAuthenticationIgnoresProxy, |
334 prefs::kCaptivePortalAuthenticationIgnoresProxy, true, | 279 true); |
335 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
336 | 280 |
337 registry->RegisterBooleanPref( | 281 registry->RegisterBooleanPref(prefs::kForceMaximizeOnFirstRun, false); |
338 prefs::kForceMaximizeOnFirstRun, false, | |
339 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
340 } | 282 } |
341 | 283 |
342 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { | 284 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
343 prefs_ = prefs; | 285 prefs_ = prefs; |
344 | 286 |
345 BooleanPrefMember::NamedChangeCallback callback = | 287 BooleanPrefMember::NamedChangeCallback callback = |
346 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); | 288 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); |
347 | 289 |
348 performance_tracing_enabled_.Init(prefs::kPerformanceTracingEnabled, | 290 performance_tracing_enabled_.Init(prefs::kPerformanceTracingEnabled, |
349 prefs, callback); | 291 prefs, callback); |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 touch_hud_projection_enabled_.SetValue(enabled); | 684 touch_hud_projection_enabled_.SetValue(enabled); |
743 } | 685 } |
744 | 686 |
745 void Preferences::ActiveUserChanged(const user_manager::User* active_user) { | 687 void Preferences::ActiveUserChanged(const user_manager::User* active_user) { |
746 if (active_user != user_) | 688 if (active_user != user_) |
747 return; | 689 return; |
748 ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); | 690 ApplyPreferences(REASON_ACTIVE_USER_CHANGED, ""); |
749 } | 691 } |
750 | 692 |
751 } // namespace chromeos | 693 } // namespace chromeos |
OLD | NEW |