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

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

Issue 12315053: Fix prefs registration in SyncPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 9 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/sync/sync_prefs.h ('k') | chrome/browser/sync/sync_prefs_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/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/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/prefs/public/pref_member.h" 9 #include "base/prefs/public/pref_member.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 25 matching lines...) Expand all
36 base::Bind(&SyncPrefs::OnSyncManagedPrefChanged, 36 base::Bind(&SyncPrefs::OnSyncManagedPrefChanged,
37 base::Unretained(this))); 37 base::Unretained(this)));
38 } 38 }
39 } 39 }
40 40
41 SyncPrefs::~SyncPrefs() { 41 SyncPrefs::~SyncPrefs() {
42 DCHECK(CalledOnValidThread()); 42 DCHECK(CalledOnValidThread());
43 } 43 }
44 44
45 // static 45 // static
46 void SyncPrefs::RegisterUserPrefs(PrefService* prefs, 46 void SyncPrefs::RegisterUserPrefs(PrefRegistrySyncable* registry) {
47 PrefRegistrySyncable* registry) {
48 // TODO(joi): Remove |prefs| parameter. 47 // TODO(joi): Remove |prefs| parameter.
49 registry->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, 48 registry->RegisterBooleanPref(prefs::kSyncHasSetupCompleted,
50 false, 49 false,
51 PrefRegistrySyncable::UNSYNCABLE_PREF); 50 PrefRegistrySyncable::UNSYNCABLE_PREF);
52 registry->RegisterBooleanPref(prefs::kSyncSuppressStart, 51 registry->RegisterBooleanPref(prefs::kSyncSuppressStart,
53 false, 52 false,
54 PrefRegistrySyncable::UNSYNCABLE_PREF); 53 PrefRegistrySyncable::UNSYNCABLE_PREF);
55 registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 54 registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime,
56 0, 55 0,
57 PrefRegistrySyncable::UNSYNCABLE_PREF); 56 PrefRegistrySyncable::UNSYNCABLE_PREF);
58 57
59 // If you've never synced before, or if you're using Chrome OS or Android, 58 // All datatypes are on by default, but this gets set explicitly
60 // all datatypes are on by default. 59 // when you configure sync (when turning it on), in
61 // TODO(nick): Perhaps a better model would be to always default to false, 60 // ProfileSyncService::OnUserChoseDatatypes.
62 // and explicitly call SetDataTypes() when the user shows the wizard.
63 #if defined(OS_CHROMEOS) || defined(OS_ANDROID)
64 bool enable_by_default = true;
65 #else
66 bool enable_by_default = !prefs->HasPrefPath(prefs::kSyncHasSetupCompleted);
67 #endif
68
69 registry->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced, 61 registry->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced,
70 enable_by_default, 62 true,
71 PrefRegistrySyncable::UNSYNCABLE_PREF); 63 PrefRegistrySyncable::UNSYNCABLE_PREF);
72 64
73 syncer::ModelTypeSet user_types = syncer::UserTypes(); 65 syncer::ModelTypeSet user_types = syncer::UserTypes();
74 66
75 // Include proxy types as well, as they can be individually selected, 67 // Include proxy types as well, as they can be individually selected,
76 // although they don't have sync representations. 68 // although they don't have sync representations.
77 user_types.PutAll(syncer::ProxyTypes()); 69 user_types.PutAll(syncer::ProxyTypes());
78 70
79 // Treat bookmarks specially. 71 // Treat bookmarks specially.
80 RegisterDataTypePreferredPref(registry, syncer::BOOKMARKS, true); 72 RegisterDataTypePreferredPref(registry, syncer::BOOKMARKS, true);
81 user_types.Remove(syncer::BOOKMARKS); 73 user_types.Remove(syncer::BOOKMARKS);
82 74
83 for (syncer::ModelTypeSet::Iterator it = user_types.First(); 75 for (syncer::ModelTypeSet::Iterator it = user_types.First();
84 it.Good(); it.Inc()) { 76 it.Good(); it.Inc()) {
85 RegisterDataTypePreferredPref(registry, it.Get(), enable_by_default); 77 RegisterDataTypePreferredPref(registry, it.Get(), true);
86 } 78 }
87 79
88 registry->RegisterBooleanPref(prefs::kSyncManaged, 80 registry->RegisterBooleanPref(prefs::kSyncManaged,
89 false, 81 false,
90 PrefRegistrySyncable::UNSYNCABLE_PREF); 82 PrefRegistrySyncable::UNSYNCABLE_PREF);
91 registry->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken, 83 registry->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken,
92 "", 84 "",
93 PrefRegistrySyncable::UNSYNCABLE_PREF); 85 PrefRegistrySyncable::UNSYNCABLE_PREF);
94 registry->RegisterStringPref(prefs::kSyncKeystoreEncryptionBootstrapToken, 86 registry->RegisterStringPref(prefs::kSyncKeystoreEncryptionBootstrapToken,
95 "", 87 "",
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 if (types.Has(i->first)) 445 if (types.Has(i->first))
454 types_with_groups.PutAll(i->second); 446 types_with_groups.PutAll(i->second);
455 else 447 else
456 types_with_groups.RemoveAll(i->second); 448 types_with_groups.RemoveAll(i->second);
457 } 449 }
458 types_with_groups.RetainAll(registered_types); 450 types_with_groups.RetainAll(registered_types);
459 return types_with_groups; 451 return types_with_groups;
460 } 452 }
461 453
462 } // namespace browser_sync 454 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/sync_prefs.h ('k') | chrome/browser/sync/sync_prefs_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698