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

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

Issue 12079097: Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head again; base::File changes conflicted. Created 7 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
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/browser/chromeos/preferences_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chromeos/dbus/dbus_thread_manager.h" 36 #include "chromeos/dbus/dbus_thread_manager.h"
36 #include "chromeos/dbus/power_policy_controller.h" 37 #include "chromeos/dbus/power_policy_controller.h"
37 #include "googleurl/src/gurl.h" 38 #include "googleurl/src/gurl.h"
38 #include "third_party/icu/public/i18n/unicode/timezone.h" 39 #include "third_party/icu/public/i18n/unicode/timezone.h"
39 #include "ui/base/events/event_constants.h" 40 #include "ui/base/events/event_constants.h"
40 #include "ui/base/events/event_utils.h" 41 #include "ui/base/events/event_utils.h"
41 42
42 namespace chromeos { 43 namespace chromeos {
43 44
44 static const char kFallbackInputMethodLocale[] = "en-US"; 45 static const char kFallbackInputMethodLocale[] = "en-US";
45 46
46 Preferences::Preferences() 47 Preferences::Preferences()
47 : prefs_(NULL), 48 : prefs_(NULL),
48 input_method_manager_(input_method::GetInputMethodManager()) { 49 input_method_manager_(input_method::GetInputMethodManager()) {
49 } 50 }
50 51
51 Preferences::Preferences(input_method::InputMethodManager* input_method_manager) 52 Preferences::Preferences(input_method::InputMethodManager* input_method_manager)
52 : input_method_manager_(input_method_manager) { 53 : input_method_manager_(input_method_manager) {
53 } 54 }
54 55
55 Preferences::~Preferences() { 56 Preferences::~Preferences() {
56 prefs_->RemoveObserver(this); 57 prefs_->RemoveObserver(this);
57 } 58 }
58 59
59 // static 60 // static
60 void Preferences::RegisterUserPrefs(PrefServiceSyncable* prefs) { 61 void Preferences::RegisterUserPrefs(PrefService* prefs,
62 PrefRegistrySyncable* registry) {
63 // TODO(joi): Get rid of need for PrefService parameter.
61 std::string hardware_keyboard_id; 64 std::string hardware_keyboard_id;
62 // TODO(yusukes): Remove the runtime hack. 65 // TODO(yusukes): Remove the runtime hack.
63 if (base::chromeos::IsRunningOnChromeOS()) { 66 if (base::chromeos::IsRunningOnChromeOS()) {
64 input_method::InputMethodManager* manager = 67 input_method::InputMethodManager* manager =
65 input_method::GetInputMethodManager(); 68 input_method::GetInputMethodManager();
66 if (manager) { 69 if (manager) {
67 hardware_keyboard_id = 70 hardware_keyboard_id =
68 manager->GetInputMethodUtil()->GetHardwareInputMethodId(); 71 manager->GetInputMethodUtil()->GetHardwareInputMethodId();
69 } 72 }
70 } else { 73 } else {
71 hardware_keyboard_id = "xkb:us::eng"; // only for testing. 74 hardware_keyboard_id = "xkb:us::eng"; // only for testing.
72 } 75 }
73 76
74 prefs->RegisterBooleanPref(prefs::kTapToClickEnabled, 77 registry->RegisterBooleanPref(prefs::kTapToClickEnabled,
75 true, 78 true,
76 PrefServiceSyncable::SYNCABLE_PREF); 79 PrefRegistrySyncable::SYNCABLE_PREF);
77 prefs->RegisterBooleanPref(prefs::kTapDraggingEnabled, 80 registry->RegisterBooleanPref(prefs::kTapDraggingEnabled,
78 false, 81 false,
79 PrefServiceSyncable::SYNCABLE_PREF); 82 PrefRegistrySyncable::SYNCABLE_PREF);
80 prefs->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerClick, 83 registry->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerClick,
81 false, 84 false,
82 PrefServiceSyncable::UNSYNCABLE_PREF); 85 PrefRegistrySyncable::UNSYNCABLE_PREF);
83 prefs->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerSwipe, 86 registry->RegisterBooleanPref(prefs::kEnableTouchpadThreeFingerSwipe,
84 false, 87 false,
85 PrefServiceSyncable::UNSYNCABLE_PREF); 88 PrefRegistrySyncable::UNSYNCABLE_PREF);
86 prefs->RegisterBooleanPref( 89 registry->RegisterBooleanPref(
87 prefs::kNaturalScroll, 90 prefs::kNaturalScroll,
88 CommandLine::ForCurrentProcess()->HasSwitch( 91 CommandLine::ForCurrentProcess()->HasSwitch(
89 switches::kNaturalScrollDefault), 92 switches::kNaturalScrollDefault),
90 PrefServiceSyncable::SYNCABLE_PREF); 93 PrefRegistrySyncable::SYNCABLE_PREF);
91 prefs->RegisterBooleanPref(prefs::kPrimaryMouseButtonRight, 94 registry->RegisterBooleanPref(prefs::kPrimaryMouseButtonRight,
92 false, 95 false,
93 PrefServiceSyncable::SYNCABLE_PREF); 96 PrefRegistrySyncable::SYNCABLE_PREF);
94 prefs->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled, 97 registry->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled,
95 false, 98 false,
96 PrefServiceSyncable::UNSYNCABLE_PREF); 99 PrefRegistrySyncable::UNSYNCABLE_PREF);
97 prefs->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled, 100 registry->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled,
98 false, 101 false,
99 PrefServiceSyncable::UNSYNCABLE_PREF); 102 PrefRegistrySyncable::UNSYNCABLE_PREF);
100 // Check if the accessibility prefs are already registered, which can happen 103 // Check if the accessibility prefs are already registered, which can happen
101 // in WizardController::RegisterPrefs. We still want to try to register 104 // in WizardController::RegisterPrefs. We still want to try to register
102 // the prefs here in case of Chrome/Linux with ChromeOS=1. 105 // the prefs here in case of Chrome/Linux with ChromeOS=1.
103 if (prefs->FindPreference(prefs::kSpokenFeedbackEnabled) == NULL) { 106 if (prefs->FindPreference(prefs::kSpokenFeedbackEnabled) == NULL) {
104 prefs->RegisterBooleanPref(prefs::kSpokenFeedbackEnabled, 107 registry->RegisterBooleanPref(prefs::kSpokenFeedbackEnabled,
105 false, 108 false,
106 PrefServiceSyncable::UNSYNCABLE_PREF); 109 PrefRegistrySyncable::UNSYNCABLE_PREF);
107 } 110 }
108 if (prefs->FindPreference(prefs::kHighContrastEnabled) == NULL) { 111 if (prefs->FindPreference(prefs::kHighContrastEnabled) == NULL) {
109 prefs->RegisterBooleanPref(prefs::kHighContrastEnabled, 112 registry->RegisterBooleanPref(prefs::kHighContrastEnabled,
110 false, 113 false,
111 PrefServiceSyncable::UNSYNCABLE_PREF); 114 PrefRegistrySyncable::UNSYNCABLE_PREF);
112 } 115 }
113 if (prefs->FindPreference(prefs::kVirtualKeyboardEnabled) == NULL) { 116 if (prefs->FindPreference(prefs::kVirtualKeyboardEnabled) == NULL) {
114 prefs->RegisterBooleanPref(prefs::kVirtualKeyboardEnabled, 117 registry->RegisterBooleanPref(prefs::kVirtualKeyboardEnabled,
115 false, 118 false,
116 PrefServiceSyncable::UNSYNCABLE_PREF); 119 PrefRegistrySyncable::UNSYNCABLE_PREF);
117 } 120 }
118 prefs->RegisterBooleanPref(prefs::kScreenMagnifierEnabled, 121 registry->RegisterBooleanPref(prefs::kScreenMagnifierEnabled,
119 false, 122 false,
120 PrefServiceSyncable::SYNCABLE_PREF); 123 PrefRegistrySyncable::SYNCABLE_PREF);
121 prefs->RegisterIntegerPref(prefs::kScreenMagnifierType, 124 registry->RegisterIntegerPref(prefs::kScreenMagnifierType,
122 ash::kDefaultMagnifierType, 125 ash::kDefaultMagnifierType,
123 PrefServiceSyncable::SYNCABLE_PREF); 126 PrefRegistrySyncable::SYNCABLE_PREF);
124 prefs->RegisterDoublePref(prefs::kScreenMagnifierScale, 127 registry->RegisterDoublePref(prefs::kScreenMagnifierScale,
125 std::numeric_limits<double>::min(), 128 std::numeric_limits<double>::min(),
126 PrefServiceSyncable::UNSYNCABLE_PREF); 129 PrefRegistrySyncable::UNSYNCABLE_PREF);
127 prefs->RegisterBooleanPref(prefs::kShouldAlwaysShowAccessibilityMenu, 130 registry->RegisterBooleanPref(prefs::kShouldAlwaysShowAccessibilityMenu,
128 false, 131 false,
129 PrefServiceSyncable::UNSYNCABLE_PREF); 132 PrefRegistrySyncable::UNSYNCABLE_PREF);
130 prefs->RegisterIntegerPref(prefs::kMouseSensitivity, 133 registry->RegisterIntegerPref(prefs::kMouseSensitivity,
131 3, 134 3,
132 PrefServiceSyncable::SYNCABLE_PREF); 135 PrefRegistrySyncable::SYNCABLE_PREF);
133 prefs->RegisterIntegerPref(prefs::kTouchpadSensitivity, 136 registry->RegisterIntegerPref(prefs::kTouchpadSensitivity,
134 3, 137 3,
135 PrefServiceSyncable::SYNCABLE_PREF); 138 PrefRegistrySyncable::SYNCABLE_PREF);
136 prefs->RegisterBooleanPref(prefs::kUse24HourClock, 139 registry->RegisterBooleanPref(prefs::kUse24HourClock,
137 base::GetHourClockType() == base::k24HourClock, 140 base::GetHourClockType() == base::k24HourClock,
138 PrefServiceSyncable::SYNCABLE_PREF); 141 PrefRegistrySyncable::SYNCABLE_PREF);
139 prefs->RegisterBooleanPref(prefs::kDisableDrive, 142 registry->RegisterBooleanPref(prefs::kDisableDrive,
140 false, 143 false,
141 PrefServiceSyncable::SYNCABLE_PREF); 144 PrefRegistrySyncable::SYNCABLE_PREF);
142 prefs->RegisterBooleanPref(prefs::kDisableDriveOverCellular, 145 registry->RegisterBooleanPref(prefs::kDisableDriveOverCellular,
143 true, 146 true,
144 PrefServiceSyncable::SYNCABLE_PREF); 147 PrefRegistrySyncable::SYNCABLE_PREF);
145 prefs->RegisterBooleanPref(prefs::kDisableDriveHostedFiles, 148 registry->RegisterBooleanPref(prefs::kDisableDriveHostedFiles,
146 false, 149 false,
147 PrefServiceSyncable::SYNCABLE_PREF); 150 PrefRegistrySyncable::SYNCABLE_PREF);
148 // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod 151 // We don't sync prefs::kLanguageCurrentInputMethod and PreviousInputMethod
149 // because they're just used to track the logout state of the device. 152 // because they're just used to track the logout state of the device.
150 prefs->RegisterStringPref(prefs::kLanguageCurrentInputMethod, 153 registry->RegisterStringPref(prefs::kLanguageCurrentInputMethod,
154 "",
155 PrefRegistrySyncable::UNSYNCABLE_PREF);
156 registry->RegisterStringPref(prefs::kLanguagePreviousInputMethod,
151 "", 157 "",
152 PrefServiceSyncable::UNSYNCABLE_PREF); 158 PrefRegistrySyncable::UNSYNCABLE_PREF);
153 prefs->RegisterStringPref(prefs::kLanguagePreviousInputMethod,
154 "",
155 PrefServiceSyncable::UNSYNCABLE_PREF);
156 // We don't sync the list of input methods and preferred languages since a 159 // We don't sync the list of input methods and preferred languages since a
157 // user might use two or more devices with different hardware keyboards. 160 // user might use two or more devices with different hardware keyboards.
158 // crosbug.com/15181 161 // crosbug.com/15181
159 prefs->RegisterStringPref(prefs::kLanguagePreferredLanguages, 162 registry->RegisterStringPref(prefs::kLanguagePreferredLanguages,
160 kFallbackInputMethodLocale, 163 kFallbackInputMethodLocale,
161 PrefServiceSyncable::UNSYNCABLE_PREF); 164 PrefRegistrySyncable::UNSYNCABLE_PREF);
162 prefs->RegisterStringPref(prefs::kLanguagePreloadEngines, 165 registry->RegisterStringPref(prefs::kLanguagePreloadEngines,
163 hardware_keyboard_id, 166 hardware_keyboard_id,
164 PrefServiceSyncable::UNSYNCABLE_PREF); 167 PrefRegistrySyncable::UNSYNCABLE_PREF);
165 prefs->RegisterStringPref(prefs::kLanguageFilteredExtensionImes, 168 registry->RegisterStringPref(prefs::kLanguageFilteredExtensionImes,
166 "", 169 "",
167 PrefServiceSyncable::UNSYNCABLE_PREF); 170 PrefRegistrySyncable::UNSYNCABLE_PREF);
168 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 171 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
169 prefs->RegisterBooleanPref( 172 registry->RegisterBooleanPref(
170 language_prefs::kChewingBooleanPrefs[i].pref_name, 173 language_prefs::kChewingBooleanPrefs[i].pref_name,
171 language_prefs::kChewingBooleanPrefs[i].default_pref_value, 174 language_prefs::kChewingBooleanPrefs[i].default_pref_value,
172 language_prefs::kChewingBooleanPrefs[i].sync_status); 175 language_prefs::kChewingBooleanPrefs[i].sync_status);
173 } 176 }
174 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 177 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
175 prefs->RegisterStringPref( 178 registry->RegisterStringPref(
176 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, 179 language_prefs::kChewingMultipleChoicePrefs[i].pref_name,
177 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value, 180 language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value,
178 language_prefs::kChewingMultipleChoicePrefs[i].sync_status); 181 language_prefs::kChewingMultipleChoicePrefs[i].sync_status);
179 } 182 }
180 prefs->RegisterIntegerPref( 183 registry->RegisterIntegerPref(
181 language_prefs::kChewingHsuSelKeyType.pref_name, 184 language_prefs::kChewingHsuSelKeyType.pref_name,
182 language_prefs::kChewingHsuSelKeyType.default_pref_value, 185 language_prefs::kChewingHsuSelKeyType.default_pref_value,
183 language_prefs::kChewingHsuSelKeyType.sync_status); 186 language_prefs::kChewingHsuSelKeyType.sync_status);
184 187
185 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) { 188 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
186 prefs->RegisterIntegerPref( 189 registry->RegisterIntegerPref(
187 language_prefs::kChewingIntegerPrefs[i].pref_name, 190 language_prefs::kChewingIntegerPrefs[i].pref_name,
188 language_prefs::kChewingIntegerPrefs[i].default_pref_value, 191 language_prefs::kChewingIntegerPrefs[i].default_pref_value,
189 language_prefs::kChewingIntegerPrefs[i].sync_status); 192 language_prefs::kChewingIntegerPrefs[i].sync_status);
190 } 193 }
191 prefs->RegisterStringPref( 194 registry->RegisterStringPref(
192 prefs::kLanguageHangulKeyboard, 195 prefs::kLanguageHangulKeyboard,
193 language_prefs::kHangulKeyboardNameIDPairs[0].keyboard_id, 196 language_prefs::kHangulKeyboardNameIDPairs[0].keyboard_id,
194 PrefServiceSyncable::SYNCABLE_PREF); 197 PrefRegistrySyncable::SYNCABLE_PREF);
195 prefs->RegisterStringPref(prefs::kLanguageHangulHanjaBindingKeys, 198 registry->RegisterStringPref(
196 language_prefs::kHangulHanjaBindingKeys, 199 prefs::kLanguageHangulHanjaBindingKeys,
197 // Don't sync the pref as it's not user-configurable 200 language_prefs::kHangulHanjaBindingKeys,
198 PrefServiceSyncable::UNSYNCABLE_PREF); 201 // Don't sync the pref as it's not user-configurable
202 PrefRegistrySyncable::UNSYNCABLE_PREF);
199 for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) { 203 for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) {
200 prefs->RegisterBooleanPref( 204 registry->RegisterBooleanPref(
201 language_prefs::kPinyinBooleanPrefs[i].pref_name, 205 language_prefs::kPinyinBooleanPrefs[i].pref_name,
202 language_prefs::kPinyinBooleanPrefs[i].default_pref_value, 206 language_prefs::kPinyinBooleanPrefs[i].default_pref_value,
203 language_prefs::kPinyinBooleanPrefs[i].sync_status); 207 language_prefs::kPinyinBooleanPrefs[i].sync_status);
204 } 208 }
205 for (size_t i = 0; i < language_prefs::kNumPinyinIntegerPrefs; ++i) { 209 for (size_t i = 0; i < language_prefs::kNumPinyinIntegerPrefs; ++i) {
206 prefs->RegisterIntegerPref( 210 registry->RegisterIntegerPref(
207 language_prefs::kPinyinIntegerPrefs[i].pref_name, 211 language_prefs::kPinyinIntegerPrefs[i].pref_name,
208 language_prefs::kPinyinIntegerPrefs[i].default_pref_value, 212 language_prefs::kPinyinIntegerPrefs[i].default_pref_value,
209 language_prefs::kPinyinIntegerPrefs[i].sync_status); 213 language_prefs::kPinyinIntegerPrefs[i].sync_status);
210 } 214 }
211 prefs->RegisterIntegerPref( 215 registry->RegisterIntegerPref(
212 language_prefs::kPinyinDoublePinyinSchema.pref_name, 216 language_prefs::kPinyinDoublePinyinSchema.pref_name,
213 language_prefs::kPinyinDoublePinyinSchema.default_pref_value, 217 language_prefs::kPinyinDoublePinyinSchema.default_pref_value,
214 PrefServiceSyncable::UNSYNCABLE_PREF); 218 PrefRegistrySyncable::UNSYNCABLE_PREF);
215 219
216 for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) { 220 for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) {
217 prefs->RegisterBooleanPref( 221 registry->RegisterBooleanPref(
218 language_prefs::kMozcBooleanPrefs[i].pref_name, 222 language_prefs::kMozcBooleanPrefs[i].pref_name,
219 language_prefs::kMozcBooleanPrefs[i].default_pref_value, 223 language_prefs::kMozcBooleanPrefs[i].default_pref_value,
220 language_prefs::kMozcBooleanPrefs[i].sync_status); 224 language_prefs::kMozcBooleanPrefs[i].sync_status);
221 } 225 }
222 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) { 226 for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) {
223 prefs->RegisterStringPref( 227 registry->RegisterStringPref(
224 language_prefs::kMozcMultipleChoicePrefs[i].pref_name, 228 language_prefs::kMozcMultipleChoicePrefs[i].pref_name,
225 language_prefs::kMozcMultipleChoicePrefs[i].default_pref_value, 229 language_prefs::kMozcMultipleChoicePrefs[i].default_pref_value,
226 language_prefs::kMozcMultipleChoicePrefs[i].sync_status); 230 language_prefs::kMozcMultipleChoicePrefs[i].sync_status);
227 } 231 }
228 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { 232 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) {
229 prefs->RegisterIntegerPref( 233 registry->RegisterIntegerPref(
230 language_prefs::kMozcIntegerPrefs[i].pref_name, 234 language_prefs::kMozcIntegerPrefs[i].pref_name,
231 language_prefs::kMozcIntegerPrefs[i].default_pref_value, 235 language_prefs::kMozcIntegerPrefs[i].default_pref_value,
232 language_prefs::kMozcIntegerPrefs[i].sync_status); 236 language_prefs::kMozcIntegerPrefs[i].sync_status);
233 } 237 }
234 prefs->RegisterIntegerPref(prefs::kLanguageRemapSearchKeyTo, 238 registry->RegisterIntegerPref(prefs::kLanguageRemapSearchKeyTo,
235 input_method::kSearchKey, 239 input_method::kSearchKey,
236 PrefServiceSyncable::SYNCABLE_PREF); 240 PrefRegistrySyncable::SYNCABLE_PREF);
237 prefs->RegisterIntegerPref(prefs::kLanguageRemapControlKeyTo, 241 registry->RegisterIntegerPref(prefs::kLanguageRemapControlKeyTo,
238 input_method::kControlKey, 242 input_method::kControlKey,
239 PrefServiceSyncable::SYNCABLE_PREF); 243 PrefRegistrySyncable::SYNCABLE_PREF);
240 prefs->RegisterIntegerPref(prefs::kLanguageRemapAltKeyTo, 244 registry->RegisterIntegerPref(prefs::kLanguageRemapAltKeyTo,
241 input_method::kAltKey, 245 input_method::kAltKey,
242 PrefServiceSyncable::SYNCABLE_PREF); 246 PrefRegistrySyncable::SYNCABLE_PREF);
243 prefs->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo, 247 registry->RegisterIntegerPref(prefs::kLanguageRemapCapsLockKeyTo,
244 input_method::kCapsLockKey, 248 input_method::kCapsLockKey,
245 PrefServiceSyncable::SYNCABLE_PREF); 249 PrefRegistrySyncable::SYNCABLE_PREF);
246 prefs->RegisterIntegerPref(prefs::kLanguageRemapDiamondKeyTo, 250 registry->RegisterIntegerPref(prefs::kLanguageRemapDiamondKeyTo,
247 input_method::kControlKey, 251 input_method::kControlKey,
248 PrefServiceSyncable::SYNCABLE_PREF); 252 PrefRegistrySyncable::SYNCABLE_PREF);
249 // We don't sync the following keyboard prefs since they are not user- 253 // We don't sync the following keyboard prefs since they are not user-
250 // configurable. 254 // configurable.
251 prefs->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled, 255 registry->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled,
252 true, 256 true,
253 PrefServiceSyncable::UNSYNCABLE_PREF); 257 PrefRegistrySyncable::UNSYNCABLE_PREF);
254 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay, 258 registry->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay,
255 language_prefs::kXkbAutoRepeatDelayInMs, 259 language_prefs::kXkbAutoRepeatDelayInMs,
256 PrefServiceSyncable::UNSYNCABLE_PREF); 260 PrefRegistrySyncable::UNSYNCABLE_PREF);
257 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, 261 registry->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval,
258 language_prefs::kXkbAutoRepeatIntervalInMs, 262 language_prefs::kXkbAutoRepeatIntervalInMs,
259 PrefServiceSyncable::UNSYNCABLE_PREF); 263 PrefRegistrySyncable::UNSYNCABLE_PREF);
260 264
261 // Screen lock default to off. 265 // Screen lock default to off.
262 prefs->RegisterBooleanPref(prefs::kEnableScreenLock, 266 registry->RegisterBooleanPref(prefs::kEnableScreenLock,
263 false, 267 false,
264 PrefServiceSyncable::SYNCABLE_PREF); 268 PrefRegistrySyncable::SYNCABLE_PREF);
265 269
266 // Mobile plan notifications default to on. 270 // Mobile plan notifications default to on.
267 prefs->RegisterBooleanPref(prefs::kShowPlanNotifications, 271 registry->RegisterBooleanPref(prefs::kShowPlanNotifications,
268 true, 272 true,
269 PrefServiceSyncable::SYNCABLE_PREF); 273 PrefRegistrySyncable::SYNCABLE_PREF);
270 274
271 // 3G first-time usage promo will be shown at least once. 275 // 3G first-time usage promo will be shown at least once.
272 prefs->RegisterBooleanPref(prefs::kShow3gPromoNotification, 276 registry->RegisterBooleanPref(prefs::kShow3gPromoNotification,
273 true, 277 true,
274 PrefServiceSyncable::UNSYNCABLE_PREF); 278 PrefRegistrySyncable::UNSYNCABLE_PREF);
275 279
276 // Initially all existing users would see "What's new" 280 // Initially all existing users would see "What's new"
277 // for current version after update. 281 // for current version after update.
278 prefs->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, 282 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion,
279 "0.0.0.0", 283 "0.0.0.0",
280 PrefServiceSyncable::SYNCABLE_PREF); 284 PrefRegistrySyncable::SYNCABLE_PREF);
281 285
282 // TODO(wad): Once UI is connected, a final default can be set. At that point 286 // TODO(wad): Once UI is connected, a final default can be set. At that point
283 // change this pref from UNSYNCABLE to SYNCABLE. 287 // change this pref from UNSYNCABLE to SYNCABLE.
284 prefs->RegisterBooleanPref(prefs::kEnableCrosDRM, 288 registry->RegisterBooleanPref(prefs::kEnableCrosDRM,
285 true, 289 true,
286 PrefServiceSyncable::UNSYNCABLE_PREF); 290 PrefRegistrySyncable::UNSYNCABLE_PREF);
287 291
288 prefs->RegisterBooleanPref(prefs::kExternalStorageDisabled, 292 registry->RegisterBooleanPref(prefs::kExternalStorageDisabled,
289 false, 293 false,
290 PrefServiceSyncable::UNSYNCABLE_PREF); 294 PrefRegistrySyncable::UNSYNCABLE_PREF);
291 295
292 // TODO(derat): Right now, these values are just copied from powerd's 296 // TODO(derat): Right now, these values are just copied from powerd's
293 // defaults. Make this file be the canonical source of default power 297 // defaults. Make this file be the canonical source of default power
294 // management settings. Note that these prefs' default values aren't 298 // management settings. Note that these prefs' default values aren't
295 // currently expressive enough to convey powerd's default behavior, e.g. 299 // currently expressive enough to convey powerd's default behavior, e.g.
296 // powerd shuts down instead of suspending when no user is logged in, and 300 // powerd shuts down instead of suspending when no user is logged in, and
297 // the default screen-lock delays are only used when 301 // the default screen-lock delays are only used when
298 // prefs::kEnableScreenLock is set. 302 // prefs::kEnableScreenLock is set.
299 prefs->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs, 303 registry->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs,
300 420000, 304 420000,
301 PrefServiceSyncable::UNSYNCABLE_PREF); 305 PrefRegistrySyncable::UNSYNCABLE_PREF);
302 prefs->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs, 306 registry->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs,
303 480000, 307 480000,
304 PrefServiceSyncable::UNSYNCABLE_PREF); 308 PrefRegistrySyncable::UNSYNCABLE_PREF);
305 prefs->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs, 309 registry->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs,
306 600000, 310 600000,
307 PrefServiceSyncable::UNSYNCABLE_PREF); 311 PrefRegistrySyncable::UNSYNCABLE_PREF);
308 prefs->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs, 312 registry->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs,
309 1800000, 313 1800000,
310 PrefServiceSyncable::UNSYNCABLE_PREF); 314 PrefRegistrySyncable::UNSYNCABLE_PREF);
311 prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs, 315 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs,
312 300000, 316 300000,
313 PrefServiceSyncable::UNSYNCABLE_PREF); 317 PrefRegistrySyncable::UNSYNCABLE_PREF);
314 prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs, 318 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs,
315 360000, 319 360000,
316 PrefServiceSyncable::UNSYNCABLE_PREF); 320 PrefRegistrySyncable::UNSYNCABLE_PREF);
317 prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs, 321 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs,
318 600000, 322 600000,
319 PrefServiceSyncable::UNSYNCABLE_PREF); 323 PrefRegistrySyncable::UNSYNCABLE_PREF);
320 prefs->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs, 324 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs,
321 600000, 325 600000,
322 PrefServiceSyncable::UNSYNCABLE_PREF); 326 PrefRegistrySyncable::UNSYNCABLE_PREF);
323 prefs->RegisterIntegerPref(prefs::kPowerIdleAction, 327 registry->RegisterIntegerPref(prefs::kPowerIdleAction,
324 chromeos::PowerPolicyController::ACTION_SUSPEND, 328 chromeos::PowerPolicyController::ACTION_SUSPEND,
325 PrefServiceSyncable::UNSYNCABLE_PREF); 329 PrefRegistrySyncable::UNSYNCABLE_PREF);
326 prefs->RegisterIntegerPref(prefs::kPowerLidClosedAction, 330 registry->RegisterIntegerPref(prefs::kPowerLidClosedAction,
327 chromeos::PowerPolicyController::ACTION_SUSPEND, 331 chromeos::PowerPolicyController::ACTION_SUSPEND,
328 PrefServiceSyncable::UNSYNCABLE_PREF); 332 PrefRegistrySyncable::UNSYNCABLE_PREF);
329 prefs->RegisterBooleanPref(prefs::kPowerUseAudioActivity, 333 registry->RegisterBooleanPref(prefs::kPowerUseAudioActivity,
330 true, 334 true,
331 PrefServiceSyncable::UNSYNCABLE_PREF); 335 PrefRegistrySyncable::UNSYNCABLE_PREF);
332 prefs->RegisterBooleanPref(prefs::kPowerUseVideoActivity, 336 registry->RegisterBooleanPref(prefs::kPowerUseVideoActivity,
333 true, 337 true,
334 PrefServiceSyncable::UNSYNCABLE_PREF); 338 PrefRegistrySyncable::UNSYNCABLE_PREF);
335 prefs->RegisterDoublePref(prefs::kPowerPresentationIdleDelayFactor, 339 registry->RegisterDoublePref(prefs::kPowerPresentationIdleDelayFactor,
336 2.0, 340 2.0,
337 PrefServiceSyncable::UNSYNCABLE_PREF); 341 PrefRegistrySyncable::UNSYNCABLE_PREF);
338 } 342 }
339 343
340 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { 344 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) {
341 prefs_ = prefs; 345 prefs_ = prefs;
342 346
343 BooleanPrefMember::NamedChangeCallback callback = 347 BooleanPrefMember::NamedChangeCallback callback =
344 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); 348 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this));
345 349
346 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, callback); 350 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, callback);
347 tap_dragging_enabled_.Init(prefs::kTapDraggingEnabled, prefs, callback); 351 tap_dragging_enabled_.Init(prefs::kTapDraggingEnabled, prefs, callback);
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 885
882 input_method::AutoRepeatRate rate; 886 input_method::AutoRepeatRate rate;
883 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); 887 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue();
884 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); 888 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue();
885 DCHECK(rate.initial_delay_in_ms > 0); 889 DCHECK(rate.initial_delay_in_ms > 0);
886 DCHECK(rate.repeat_interval_in_ms > 0); 890 DCHECK(rate.repeat_interval_in_ms > 0);
887 input_method::XKeyboard::SetAutoRepeatRate(rate); 891 input_method::XKeyboard::SetAutoRepeatRate(rate);
888 } 892 }
889 893
890 } // namespace chromeos 894 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/browser/chromeos/preferences_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698