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

Side by Side Diff: chrome/browser/sync/sync_prefs.cc

Issue 10696087: [Sync] Move ModelType and related classes to 'syncer' namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix indent, and remove some redundant using declarations Created 8 years, 5 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
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/sync/sync_prefs.h" 5 #include "chrome/browser/sync/sync_prefs.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); 112 pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced);
113 } 113 }
114 114
115 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { 115 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) {
116 DCHECK(CalledOnValidThread()); 116 DCHECK(CalledOnValidThread());
117 CHECK(pref_service_); 117 CHECK(pref_service_);
118 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced, 118 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced,
119 keep_everything_synced); 119 keep_everything_synced);
120 } 120 }
121 121
122 syncable::ModelTypeSet SyncPrefs::GetPreferredDataTypes( 122 syncer::ModelTypeSet SyncPrefs::GetPreferredDataTypes(
123 syncable::ModelTypeSet registered_types) const { 123 syncer::ModelTypeSet registered_types) const {
124 DCHECK(CalledOnValidThread()); 124 DCHECK(CalledOnValidThread());
125 if (!pref_service_) { 125 if (!pref_service_) {
126 return syncable::ModelTypeSet(); 126 return syncer::ModelTypeSet();
127 } 127 }
128 128
129 // First remove any datatypes that are inconsistent with the current policies 129 // First remove any datatypes that are inconsistent with the current policies
130 // on the client (so that "keep everything synced" doesn't include them). 130 // on the client (so that "keep everything synced" doesn't include them).
131 if (pref_service_->HasPrefPath(prefs::kSavingBrowserHistoryDisabled) && 131 if (pref_service_->HasPrefPath(prefs::kSavingBrowserHistoryDisabled) &&
132 pref_service_->GetBoolean(prefs::kSavingBrowserHistoryDisabled)) { 132 pref_service_->GetBoolean(prefs::kSavingBrowserHistoryDisabled)) {
133 registered_types.Remove(syncable::TYPED_URLS); 133 registered_types.Remove(syncer::TYPED_URLS);
134 } 134 }
135 135
136 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) { 136 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) {
137 return registered_types; 137 return registered_types;
138 } 138 }
139 139
140 syncable::ModelTypeSet preferred_types; 140 syncer::ModelTypeSet preferred_types;
141 for (syncable::ModelTypeSet::Iterator it = registered_types.First(); 141 for (syncer::ModelTypeSet::Iterator it = registered_types.First();
142 it.Good(); it.Inc()) { 142 it.Good(); it.Inc()) {
143 if (GetDataTypePreferred(it.Get())) { 143 if (GetDataTypePreferred(it.Get())) {
144 preferred_types.Put(it.Get()); 144 preferred_types.Put(it.Get());
145 } 145 }
146 } 146 }
147 return ResolvePrefGroups(registered_types, preferred_types); 147 return ResolvePrefGroups(registered_types, preferred_types);
148 } 148 }
149 149
150 void SyncPrefs::SetPreferredDataTypes( 150 void SyncPrefs::SetPreferredDataTypes(
151 syncable::ModelTypeSet registered_types, 151 syncer::ModelTypeSet registered_types,
152 syncable::ModelTypeSet preferred_types) { 152 syncer::ModelTypeSet preferred_types) {
153 DCHECK(CalledOnValidThread()); 153 DCHECK(CalledOnValidThread());
154 CHECK(pref_service_); 154 CHECK(pref_service_);
155 DCHECK(registered_types.HasAll(preferred_types)); 155 DCHECK(registered_types.HasAll(preferred_types));
156 preferred_types = ResolvePrefGroups(registered_types, preferred_types); 156 preferred_types = ResolvePrefGroups(registered_types, preferred_types);
157 for (syncable::ModelTypeSet::Iterator i = registered_types.First(); 157 for (syncer::ModelTypeSet::Iterator i = registered_types.First();
158 i.Good(); i.Inc()) { 158 i.Good(); i.Inc()) {
159 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get())); 159 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get()));
160 } 160 }
161 } 161 }
162 162
163 bool SyncPrefs::IsManaged() const { 163 bool SyncPrefs::IsManaged() const {
164 DCHECK(CalledOnValidThread()); 164 DCHECK(CalledOnValidThread());
165 return pref_service_ && pref_service_->GetBoolean(prefs::kSyncManaged); 165 return pref_service_ && pref_service_->GetBoolean(prefs::kSyncManaged);
166 } 166 }
167 167
(...skipping 16 matching lines...) Expand all
184 pref_service_->GetString(prefs::kSyncSpareBootstrapToken) : ""; 184 pref_service_->GetString(prefs::kSyncSpareBootstrapToken) : "";
185 } 185 }
186 186
187 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) { 187 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) {
188 DCHECK(CalledOnValidThread()); 188 DCHECK(CalledOnValidThread());
189 pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token); 189 pref_service_->SetString(prefs::kSyncSpareBootstrapToken, token);
190 } 190 }
191 #endif 191 #endif
192 192
193 void SyncPrefs::AcknowledgeSyncedTypes( 193 void SyncPrefs::AcknowledgeSyncedTypes(
194 syncable::ModelTypeSet types) { 194 syncer::ModelTypeSet types) {
195 DCHECK(CalledOnValidThread()); 195 DCHECK(CalledOnValidThread());
196 CHECK(pref_service_); 196 CHECK(pref_service_);
197 // Add the types to the current set of acknowledged 197 // Add the types to the current set of acknowledged
198 // types, and then store the resulting set in prefs. 198 // types, and then store the resulting set in prefs.
199 const syncable::ModelTypeSet acknowledged_types = 199 const syncer::ModelTypeSet acknowledged_types =
200 Union(types, 200 Union(types,
201 syncable::ModelTypeSetFromValue( 201 syncer::ModelTypeSetFromValue(
202 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes))); 202 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes)));
203 203
204 scoped_ptr<ListValue> value( 204 scoped_ptr<ListValue> value(
205 syncable::ModelTypeSetToValue(acknowledged_types)); 205 syncer::ModelTypeSetToValue(acknowledged_types));
206 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value); 206 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value);
207 } 207 }
208 208
209 void SyncPrefs::Observe(int type, 209 void SyncPrefs::Observe(int type,
210 const content::NotificationSource& source, 210 const content::NotificationSource& source,
211 const content::NotificationDetails& details) { 211 const content::NotificationDetails& details) {
212 DCHECK(CalledOnValidThread()); 212 DCHECK(CalledOnValidThread());
213 DCHECK(content::Source<PrefService>(pref_service_) == source); 213 DCHECK(content::Source<PrefService>(pref_service_) == source);
214 switch (type) { 214 switch (type) {
215 case chrome::NOTIFICATION_PREF_CHANGED: { 215 case chrome::NOTIFICATION_PREF_CHANGED: {
(...skipping 10 matching lines...) Expand all
226 break; 226 break;
227 } 227 }
228 } 228 }
229 229
230 void SyncPrefs::SetManagedForTest(bool is_managed) { 230 void SyncPrefs::SetManagedForTest(bool is_managed) {
231 DCHECK(CalledOnValidThread()); 231 DCHECK(CalledOnValidThread());
232 CHECK(pref_service_); 232 CHECK(pref_service_);
233 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); 233 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed);
234 } 234 }
235 235
236 syncable::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const { 236 syncer::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const {
237 DCHECK(CalledOnValidThread()); 237 DCHECK(CalledOnValidThread());
238 if (!pref_service_) { 238 if (!pref_service_) {
239 return syncable::ModelTypeSet(); 239 return syncer::ModelTypeSet();
240 } 240 }
241 return syncable::ModelTypeSetFromValue( 241 return syncer::ModelTypeSetFromValue(
242 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes)); 242 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes));
243 } 243 }
244 244
245 namespace { 245 namespace {
246 246
247 const char* GetPrefNameForDataType(syncable::ModelType data_type) { 247 const char* GetPrefNameForDataType(syncer::ModelType data_type) {
248 switch (data_type) { 248 switch (data_type) {
249 case syncable::BOOKMARKS: 249 case syncer::BOOKMARKS:
250 return prefs::kSyncBookmarks; 250 return prefs::kSyncBookmarks;
251 case syncable::PASSWORDS: 251 case syncer::PASSWORDS:
252 return prefs::kSyncPasswords; 252 return prefs::kSyncPasswords;
253 case syncable::PREFERENCES: 253 case syncer::PREFERENCES:
254 return prefs::kSyncPreferences; 254 return prefs::kSyncPreferences;
255 case syncable::AUTOFILL: 255 case syncer::AUTOFILL:
256 return prefs::kSyncAutofill; 256 return prefs::kSyncAutofill;
257 case syncable::AUTOFILL_PROFILE: 257 case syncer::AUTOFILL_PROFILE:
258 return prefs::kSyncAutofillProfile; 258 return prefs::kSyncAutofillProfile;
259 case syncable::THEMES: 259 case syncer::THEMES:
260 return prefs::kSyncThemes; 260 return prefs::kSyncThemes;
261 case syncable::TYPED_URLS: 261 case syncer::TYPED_URLS:
262 return prefs::kSyncTypedUrls; 262 return prefs::kSyncTypedUrls;
263 case syncable::EXTENSION_SETTINGS: 263 case syncer::EXTENSION_SETTINGS:
264 return prefs::kSyncExtensionSettings; 264 return prefs::kSyncExtensionSettings;
265 case syncable::EXTENSIONS: 265 case syncer::EXTENSIONS:
266 return prefs::kSyncExtensions; 266 return prefs::kSyncExtensions;
267 case syncable::APP_SETTINGS: 267 case syncer::APP_SETTINGS:
268 return prefs::kSyncAppSettings; 268 return prefs::kSyncAppSettings;
269 case syncable::APPS: 269 case syncer::APPS:
270 return prefs::kSyncApps; 270 return prefs::kSyncApps;
271 case syncable::SEARCH_ENGINES: 271 case syncer::SEARCH_ENGINES:
272 return prefs::kSyncSearchEngines; 272 return prefs::kSyncSearchEngines;
273 case syncable::SESSIONS: 273 case syncer::SESSIONS:
274 return prefs::kSyncSessions; 274 return prefs::kSyncSessions;
275 case syncable::APP_NOTIFICATIONS: 275 case syncer::APP_NOTIFICATIONS:
276 return prefs::kSyncAppNotifications; 276 return prefs::kSyncAppNotifications;
277 default: 277 default:
278 break; 278 break;
279 } 279 }
280 NOTREACHED(); 280 NOTREACHED();
281 return NULL; 281 return NULL;
282 } 282 }
283 283
284 } // namespace 284 } // namespace
285 285
286 void SyncPrefs::RegisterPrefGroups() { 286 void SyncPrefs::RegisterPrefGroups() {
287 pref_groups_[syncable::APPS].Put(syncable::APP_NOTIFICATIONS); 287 pref_groups_[syncer::APPS].Put(syncer::APP_NOTIFICATIONS);
288 pref_groups_[syncable::APPS].Put(syncable::APP_SETTINGS); 288 pref_groups_[syncer::APPS].Put(syncer::APP_SETTINGS);
289 289
290 pref_groups_[syncable::AUTOFILL].Put(syncable::AUTOFILL_PROFILE); 290 pref_groups_[syncer::AUTOFILL].Put(syncer::AUTOFILL_PROFILE);
291 291
292 pref_groups_[syncable::EXTENSIONS].Put(syncable::EXTENSION_SETTINGS); 292 pref_groups_[syncer::EXTENSIONS].Put(syncer::EXTENSION_SETTINGS);
293 293
294 pref_groups_[syncable::PREFERENCES].Put(syncable::SEARCH_ENGINES); 294 pref_groups_[syncer::PREFERENCES].Put(syncer::SEARCH_ENGINES);
295 } 295 }
296 296
297 void SyncPrefs::RegisterPreferences() { 297 void SyncPrefs::RegisterPreferences() {
298 DCHECK(CalledOnValidThread()); 298 DCHECK(CalledOnValidThread());
299 CHECK(pref_service_); 299 CHECK(pref_service_);
300 if (pref_service_->FindPreference(prefs::kSyncLastSyncedTime)) { 300 if (pref_service_->FindPreference(prefs::kSyncLastSyncedTime)) {
301 return; 301 return;
302 } 302 }
303 303
304 pref_service_->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, 304 pref_service_->RegisterBooleanPref(prefs::kSyncHasSetupCompleted,
(...skipping 15 matching lines...) Expand all
320 #else 320 #else
321 bool enable_by_default = 321 bool enable_by_default =
322 !pref_service_->HasPrefPath(prefs::kSyncHasSetupCompleted); 322 !pref_service_->HasPrefPath(prefs::kSyncHasSetupCompleted);
323 #endif 323 #endif
324 324
325 pref_service_->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced, 325 pref_service_->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced,
326 enable_by_default, 326 enable_by_default,
327 PrefService::UNSYNCABLE_PREF); 327 PrefService::UNSYNCABLE_PREF);
328 328
329 // Treat bookmarks specially. 329 // Treat bookmarks specially.
330 RegisterDataTypePreferredPref(syncable::BOOKMARKS, true); 330 RegisterDataTypePreferredPref(syncer::BOOKMARKS, true);
331 for (int i = syncable::PREFERENCES; i < syncable::MODEL_TYPE_COUNT; ++i) { 331 for (int i = syncer::PREFERENCES; i < syncer::MODEL_TYPE_COUNT; ++i) {
332 const syncable::ModelType type = syncable::ModelTypeFromInt(i); 332 const syncer::ModelType type = syncer::ModelTypeFromInt(i);
333 // Also treat nigori specially. 333 // Also treat nigori specially.
334 if (type == syncable::NIGORI) { 334 if (type == syncer::NIGORI) {
335 continue; 335 continue;
336 } 336 }
337 RegisterDataTypePreferredPref(type, enable_by_default); 337 RegisterDataTypePreferredPref(type, enable_by_default);
338 } 338 }
339 339
340 pref_service_->RegisterBooleanPref(prefs::kSyncManaged, 340 pref_service_->RegisterBooleanPref(prefs::kSyncManaged,
341 false, 341 false,
342 PrefService::UNSYNCABLE_PREF); 342 PrefService::UNSYNCABLE_PREF);
343 pref_service_->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken, 343 pref_service_->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken,
344 "", 344 "",
345 PrefService::UNSYNCABLE_PREF); 345 PrefService::UNSYNCABLE_PREF);
346 #if defined(OS_CHROMEOS) 346 #if defined(OS_CHROMEOS)
347 pref_service_->RegisterStringPref(prefs::kSyncSpareBootstrapToken, 347 pref_service_->RegisterStringPref(prefs::kSyncSpareBootstrapToken,
348 "", 348 "",
349 PrefService::UNSYNCABLE_PREF); 349 PrefService::UNSYNCABLE_PREF);
350 #endif 350 #endif
351 351
352 // We will start prompting people about new data types after the launch of 352 // We will start prompting people about new data types after the launch of
353 // SESSIONS - all previously launched data types are treated as if they are 353 // SESSIONS - all previously launched data types are treated as if they are
354 // already acknowledged. 354 // already acknowledged.
355 syncable::ModelTypeSet model_set; 355 syncer::ModelTypeSet model_set;
356 model_set.Put(syncable::BOOKMARKS); 356 model_set.Put(syncer::BOOKMARKS);
357 model_set.Put(syncable::PREFERENCES); 357 model_set.Put(syncer::PREFERENCES);
358 model_set.Put(syncable::PASSWORDS); 358 model_set.Put(syncer::PASSWORDS);
359 model_set.Put(syncable::AUTOFILL_PROFILE); 359 model_set.Put(syncer::AUTOFILL_PROFILE);
360 model_set.Put(syncable::AUTOFILL); 360 model_set.Put(syncer::AUTOFILL);
361 model_set.Put(syncable::THEMES); 361 model_set.Put(syncer::THEMES);
362 model_set.Put(syncable::EXTENSIONS); 362 model_set.Put(syncer::EXTENSIONS);
363 model_set.Put(syncable::NIGORI); 363 model_set.Put(syncer::NIGORI);
364 model_set.Put(syncable::SEARCH_ENGINES); 364 model_set.Put(syncer::SEARCH_ENGINES);
365 model_set.Put(syncable::APPS); 365 model_set.Put(syncer::APPS);
366 model_set.Put(syncable::TYPED_URLS); 366 model_set.Put(syncer::TYPED_URLS);
367 model_set.Put(syncable::SESSIONS); 367 model_set.Put(syncer::SESSIONS);
368 pref_service_->RegisterListPref(prefs::kSyncAcknowledgedSyncTypes, 368 pref_service_->RegisterListPref(prefs::kSyncAcknowledgedSyncTypes,
369 syncable::ModelTypeSetToValue(model_set), 369 syncer::ModelTypeSetToValue(model_set),
370 PrefService::UNSYNCABLE_PREF); 370 PrefService::UNSYNCABLE_PREF);
371 } 371 }
372 372
373 void SyncPrefs::RegisterDataTypePreferredPref(syncable::ModelType type, 373 void SyncPrefs::RegisterDataTypePreferredPref(syncer::ModelType type,
374 bool is_preferred) { 374 bool is_preferred) {
375 DCHECK(CalledOnValidThread()); 375 DCHECK(CalledOnValidThread());
376 CHECK(pref_service_); 376 CHECK(pref_service_);
377 const char* pref_name = GetPrefNameForDataType(type); 377 const char* pref_name = GetPrefNameForDataType(type);
378 if (!pref_name) { 378 if (!pref_name) {
379 NOTREACHED(); 379 NOTREACHED();
380 return; 380 return;
381 } 381 }
382 pref_service_->RegisterBooleanPref(pref_name, is_preferred, 382 pref_service_->RegisterBooleanPref(pref_name, is_preferred,
383 PrefService::UNSYNCABLE_PREF); 383 PrefService::UNSYNCABLE_PREF);
384 } 384 }
385 385
386 bool SyncPrefs::GetDataTypePreferred(syncable::ModelType type) const { 386 bool SyncPrefs::GetDataTypePreferred(syncer::ModelType type) const {
387 DCHECK(CalledOnValidThread()); 387 DCHECK(CalledOnValidThread());
388 if (!pref_service_) { 388 if (!pref_service_) {
389 return false; 389 return false;
390 } 390 }
391 const char* pref_name = GetPrefNameForDataType(type); 391 const char* pref_name = GetPrefNameForDataType(type);
392 if (!pref_name) { 392 if (!pref_name) {
393 NOTREACHED(); 393 NOTREACHED();
394 return false; 394 return false;
395 } 395 }
396 396
397 return pref_service_->GetBoolean(pref_name); 397 return pref_service_->GetBoolean(pref_name);
398 } 398 }
399 399
400 void SyncPrefs::SetDataTypePreferred( 400 void SyncPrefs::SetDataTypePreferred(
401 syncable::ModelType type, bool is_preferred) { 401 syncer::ModelType type, bool is_preferred) {
402 DCHECK(CalledOnValidThread()); 402 DCHECK(CalledOnValidThread());
403 CHECK(pref_service_); 403 CHECK(pref_service_);
404 const char* pref_name = GetPrefNameForDataType(type); 404 const char* pref_name = GetPrefNameForDataType(type);
405 if (!pref_name) { 405 if (!pref_name) {
406 NOTREACHED(); 406 NOTREACHED();
407 return; 407 return;
408 } 408 }
409 pref_service_->SetBoolean(pref_name, is_preferred); 409 pref_service_->SetBoolean(pref_name, is_preferred);
410 } 410 }
411 411
412 syncable::ModelTypeSet SyncPrefs::ResolvePrefGroups( 412 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups(
413 syncable::ModelTypeSet registered_types, 413 syncer::ModelTypeSet registered_types,
414 syncable::ModelTypeSet types) const { 414 syncer::ModelTypeSet types) const {
415 DCHECK(registered_types.HasAll(types)); 415 DCHECK(registered_types.HasAll(types));
416 syncable::ModelTypeSet types_with_groups = types; 416 syncer::ModelTypeSet types_with_groups = types;
417 for (PrefGroupsMap::const_iterator i = pref_groups_.begin(); 417 for (PrefGroupsMap::const_iterator i = pref_groups_.begin();
418 i != pref_groups_.end(); ++i) { 418 i != pref_groups_.end(); ++i) {
419 if (types.Has(i->first)) 419 if (types.Has(i->first))
420 types_with_groups.PutAll(i->second); 420 types_with_groups.PutAll(i->second);
421 else 421 else
422 types_with_groups.RemoveAll(i->second); 422 types_with_groups.RemoveAll(i->second);
423 } 423 }
424 types_with_groups.RetainAll(registered_types); 424 types_with_groups.RetainAll(registered_types);
425 return types_with_groups; 425 return types_with_groups;
426 } 426 }
427 427
428 } // namespace browser_sync 428 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698