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

Side by Side Diff: components/sync_driver/sync_prefs.cc

Issue 694903002: [Sync] Device info should be enabled by default (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test Created 6 years, 1 month 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
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 "components/sync_driver/sync_prefs.h" 5 #include "components/sync_driver/sync_prefs.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_member.h" 8 #include "base/prefs/pref_member.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 prefs::kSyncKeepEverythingSynced, 59 prefs::kSyncKeepEverythingSynced,
60 true, 60 true,
61 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 61 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
62 62
63 syncer::ModelTypeSet user_types = syncer::UserTypes(); 63 syncer::ModelTypeSet user_types = syncer::UserTypes();
64 64
65 // Include proxy types as well, as they can be individually selected, 65 // Include proxy types as well, as they can be individually selected,
66 // although they don't have sync representations. 66 // although they don't have sync representations.
67 user_types.PutAll(syncer::ProxyTypes()); 67 user_types.PutAll(syncer::ProxyTypes());
68 68
69 // Treat bookmarks specially. 69 // Treat bookmarks and device info specially.
70 RegisterDataTypePreferredPref(registry, syncer::BOOKMARKS, true); 70 RegisterDataTypePreferredPref(registry, syncer::BOOKMARKS, true);
71 RegisterDataTypePreferredPref(registry, syncer::DEVICE_INFO, true);
71 user_types.Remove(syncer::BOOKMARKS); 72 user_types.Remove(syncer::BOOKMARKS);
73 user_types.Remove(syncer::DEVICE_INFO);
72 74
73 // These two prefs are set from sync experiment to enable enhanced bookmarks. 75 // These two prefs are set from sync experiment to enable enhanced bookmarks.
74 registry->RegisterIntegerPref( 76 registry->RegisterIntegerPref(
75 prefs::kEnhancedBookmarksExperimentEnabled, 77 prefs::kEnhancedBookmarksExperimentEnabled,
76 0, 78 0,
77 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 79 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
78 80
79 registry->RegisterStringPref( 81 registry->RegisterStringPref(
80 prefs::kEnhancedBookmarksExtensionId, 82 prefs::kEnhancedBookmarksExtensionId,
81 std::string(), 83 std::string(),
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 return prefs::kSyncArticles; 344 return prefs::kSyncArticles;
343 case syncer::SUPERVISED_USER_SHARED_SETTINGS: 345 case syncer::SUPERVISED_USER_SHARED_SETTINGS:
344 return prefs::kSyncSupervisedUserSharedSettings; 346 return prefs::kSyncSupervisedUserSharedSettings;
345 case syncer::DEVICE_INFO: 347 case syncer::DEVICE_INFO:
346 return prefs::kSyncDeviceInfo; 348 return prefs::kSyncDeviceInfo;
347 case syncer::WIFI_CREDENTIALS: 349 case syncer::WIFI_CREDENTIALS:
348 return prefs::kSyncWifiCredentials; 350 return prefs::kSyncWifiCredentials;
349 default: 351 default:
350 break; 352 break;
351 } 353 }
352 NOTREACHED(); 354 NOTREACHED() << "Type is " << data_type;
353 return NULL; 355 return NULL;
354 } 356 }
355 357
356 #if defined(OS_CHROMEOS) 358 #if defined(OS_CHROMEOS)
357 std::string SyncPrefs::GetSpareBootstrapToken() const { 359 std::string SyncPrefs::GetSpareBootstrapToken() const {
358 DCHECK(CalledOnValidThread()); 360 DCHECK(CalledOnValidThread());
359 return pref_service_->GetString(prefs::kSyncSpareBootstrapToken); 361 return pref_service_->GetString(prefs::kSyncSpareBootstrapToken);
360 } 362 }
361 363
362 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) { 364 void SyncPrefs::SetSpareBootstrapToken(const std::string& token) {
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 449 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
448 } 450 }
449 451
450 bool SyncPrefs::GetDataTypePreferred(syncer::ModelType type) const { 452 bool SyncPrefs::GetDataTypePreferred(syncer::ModelType type) const {
451 DCHECK(CalledOnValidThread()); 453 DCHECK(CalledOnValidThread());
452 const char* pref_name = GetPrefNameForDataType(type); 454 const char* pref_name = GetPrefNameForDataType(type);
453 if (!pref_name) { 455 if (!pref_name) {
454 NOTREACHED(); 456 NOTREACHED();
455 return false; 457 return false;
456 } 458 }
459
460 // Device info is always enabled.
461 if (pref_name == prefs::kSyncDeviceInfo)
462 return true;
463
457 if (type == syncer::PROXY_TABS && 464 if (type == syncer::PROXY_TABS &&
458 pref_service_->GetUserPrefValue(pref_name) == NULL && 465 pref_service_->GetUserPrefValue(pref_name) == NULL &&
459 pref_service_->IsUserModifiablePreference(pref_name)) { 466 pref_service_->IsUserModifiablePreference(pref_name)) {
460 // If there is no tab sync preference yet (i.e. newly enabled type), 467 // If there is no tab sync preference yet (i.e. newly enabled type),
461 // default to the session sync preference value. 468 // default to the session sync preference value.
462 pref_name = GetPrefNameForDataType(syncer::SESSIONS); 469 pref_name = GetPrefNameForDataType(syncer::SESSIONS);
463 } 470 }
464 471
465 return pref_service_->GetBoolean(pref_name); 472 return pref_service_->GetBoolean(pref_name);
466 } 473 }
467 474
468 void SyncPrefs::SetDataTypePreferred(syncer::ModelType type, 475 void SyncPrefs::SetDataTypePreferred(syncer::ModelType type,
469 bool is_preferred) { 476 bool is_preferred) {
470 DCHECK(CalledOnValidThread()); 477 DCHECK(CalledOnValidThread());
471 const char* pref_name = GetPrefNameForDataType(type); 478 const char* pref_name = GetPrefNameForDataType(type);
472 if (!pref_name) { 479 if (!pref_name) {
473 NOTREACHED(); 480 NOTREACHED();
474 return; 481 return;
475 } 482 }
483
484 // Device info is always preferred.
485 if (type == syncer::DEVICE_INFO)
486 return;
487
476 pref_service_->SetBoolean(pref_name, is_preferred); 488 pref_service_->SetBoolean(pref_name, is_preferred);
477 } 489 }
478 490
479 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups( 491 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups(
480 syncer::ModelTypeSet registered_types, 492 syncer::ModelTypeSet registered_types,
481 syncer::ModelTypeSet types) const { 493 syncer::ModelTypeSet types) const {
482 DCHECK(registered_types.HasAll(types)); 494 DCHECK(registered_types.HasAll(types));
483 syncer::ModelTypeSet types_with_groups = types; 495 syncer::ModelTypeSet types_with_groups = types;
484 for (PrefGroupsMap::const_iterator i = pref_groups_.begin(); 496 for (PrefGroupsMap::const_iterator i = pref_groups_.begin();
485 i != pref_groups_.end(); 497 i != pref_groups_.end();
(...skipping 12 matching lines...) Expand all
498 510
499 void SyncPrefs::SetFirstSyncTime(base::Time time) { 511 void SyncPrefs::SetFirstSyncTime(base::Time time) {
500 pref_service_->SetInt64(prefs::kSyncFirstSyncTime, time.ToInternalValue()); 512 pref_service_->SetInt64(prefs::kSyncFirstSyncTime, time.ToInternalValue());
501 } 513 }
502 514
503 void SyncPrefs::ClearFirstSyncTime() { 515 void SyncPrefs::ClearFirstSyncTime() {
504 pref_service_->ClearPref(prefs::kSyncFirstSyncTime); 516 pref_service_->ClearPref(prefs::kSyncFirstSyncTime);
505 } 517 }
506 518
507 } // namespace sync_driver 519 } // namespace sync_driver
OLDNEW
« no previous file with comments | « chrome/browser/sync/test/integration/enable_disable_test.cc ('k') | components/sync_driver/sync_prefs_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698