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

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

Issue 8198007: Remove PrefService::ScheduleSavePersistentPrefs and SavePersistentPrefs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix chromeos Created 9 years, 2 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/prefs/pref_service.h" 9 #include "chrome/browser/prefs/pref_service.h"
10 #include "chrome/common/chrome_notification_types.h" 10 #include "chrome/common/chrome_notification_types.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 void SyncPrefs::ClearPreferences() { 43 void SyncPrefs::ClearPreferences() {
44 DCHECK(non_thread_safe_.CalledOnValidThread()); 44 DCHECK(non_thread_safe_.CalledOnValidThread());
45 CHECK(pref_service_); 45 CHECK(pref_service_);
46 pref_service_->ClearPref(prefs::kSyncLastSyncedTime); 46 pref_service_->ClearPref(prefs::kSyncLastSyncedTime);
47 pref_service_->ClearPref(prefs::kSyncHasSetupCompleted); 47 pref_service_->ClearPref(prefs::kSyncHasSetupCompleted);
48 pref_service_->ClearPref(prefs::kSyncEncryptionBootstrapToken); 48 pref_service_->ClearPref(prefs::kSyncEncryptionBootstrapToken);
49 49
50 // TODO(nick): The current behavior does not clear 50 // TODO(nick): The current behavior does not clear
51 // e.g. prefs::kSyncBookmarks. Is that really what we want? 51 // e.g. prefs::kSyncBookmarks. Is that really what we want?
52 pref_service_->ScheduleSavePersistentPrefs();
53 } 52 }
54 53
55 bool SyncPrefs::HasSyncSetupCompleted() const { 54 bool SyncPrefs::HasSyncSetupCompleted() const {
56 DCHECK(non_thread_safe_.CalledOnValidThread()); 55 DCHECK(non_thread_safe_.CalledOnValidThread());
57 return 56 return
58 pref_service_ && 57 pref_service_ &&
59 pref_service_->GetBoolean(prefs::kSyncHasSetupCompleted); 58 pref_service_->GetBoolean(prefs::kSyncHasSetupCompleted);
60 } 59 }
61 60
62 void SyncPrefs::SetSyncSetupCompleted() { 61 void SyncPrefs::SetSyncSetupCompleted() {
63 DCHECK(non_thread_safe_.CalledOnValidThread()); 62 DCHECK(non_thread_safe_.CalledOnValidThread());
64 CHECK(pref_service_); 63 CHECK(pref_service_);
65 pref_service_->SetBoolean(prefs::kSyncHasSetupCompleted, true); 64 pref_service_->SetBoolean(prefs::kSyncHasSetupCompleted, true);
66 SetStartSuppressed(false); 65 SetStartSuppressed(false);
67 pref_service_->ScheduleSavePersistentPrefs();
68 } 66 }
69 67
70 bool SyncPrefs::IsStartSuppressed() const { 68 bool SyncPrefs::IsStartSuppressed() const {
71 DCHECK(non_thread_safe_.CalledOnValidThread()); 69 DCHECK(non_thread_safe_.CalledOnValidThread());
72 return 70 return
73 pref_service_ && 71 pref_service_ &&
74 pref_service_->GetBoolean(prefs::kSyncSuppressStart); 72 pref_service_->GetBoolean(prefs::kSyncSuppressStart);
75 } 73 }
76 74
77 void SyncPrefs::SetStartSuppressed(bool is_suppressed) { 75 void SyncPrefs::SetStartSuppressed(bool is_suppressed) {
78 DCHECK(non_thread_safe_.CalledOnValidThread()); 76 DCHECK(non_thread_safe_.CalledOnValidThread());
79 CHECK(pref_service_); 77 CHECK(pref_service_);
80 pref_service_->SetBoolean(prefs::kSyncSuppressStart, is_suppressed); 78 pref_service_->SetBoolean(prefs::kSyncSuppressStart, is_suppressed);
81 pref_service_->ScheduleSavePersistentPrefs();
82 } 79 }
83 80
84 base::Time SyncPrefs::GetLastSyncedTime() const { 81 base::Time SyncPrefs::GetLastSyncedTime() const {
85 DCHECK(non_thread_safe_.CalledOnValidThread()); 82 DCHECK(non_thread_safe_.CalledOnValidThread());
86 return 83 return
87 base::Time::FromInternalValue( 84 base::Time::FromInternalValue(
88 pref_service_ ? 85 pref_service_ ?
89 pref_service_->GetInt64(prefs::kSyncLastSyncedTime) : 0); 86 pref_service_->GetInt64(prefs::kSyncLastSyncedTime) : 0);
90 } 87 }
91 88
92 void SyncPrefs::SetLastSyncedTime(base::Time time) { 89 void SyncPrefs::SetLastSyncedTime(base::Time time) {
93 DCHECK(non_thread_safe_.CalledOnValidThread()); 90 DCHECK(non_thread_safe_.CalledOnValidThread());
94 CHECK(pref_service_); 91 CHECK(pref_service_);
95 pref_service_->SetInt64(prefs::kSyncLastSyncedTime, time.ToInternalValue()); 92 pref_service_->SetInt64(prefs::kSyncLastSyncedTime, time.ToInternalValue());
96 pref_service_->ScheduleSavePersistentPrefs();
97 } 93 }
98 94
99 bool SyncPrefs::HasKeepEverythingSynced() const { 95 bool SyncPrefs::HasKeepEverythingSynced() const {
100 DCHECK(non_thread_safe_.CalledOnValidThread()); 96 DCHECK(non_thread_safe_.CalledOnValidThread());
101 return 97 return
102 pref_service_ && 98 pref_service_ &&
103 pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); 99 pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced);
104 } 100 }
105 101
106 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { 102 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) {
107 DCHECK(non_thread_safe_.CalledOnValidThread()); 103 DCHECK(non_thread_safe_.CalledOnValidThread());
108 CHECK(pref_service_); 104 CHECK(pref_service_);
109 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced, 105 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced,
110 keep_everything_synced); 106 keep_everything_synced);
111 pref_service_->ScheduleSavePersistentPrefs();
112 } 107 }
113 108
114 syncable::ModelTypeSet SyncPrefs::GetPreferredDataTypes( 109 syncable::ModelTypeSet SyncPrefs::GetPreferredDataTypes(
115 const syncable::ModelTypeSet& registered_types) const { 110 const syncable::ModelTypeSet& registered_types) const {
116 DCHECK(non_thread_safe_.CalledOnValidThread()); 111 DCHECK(non_thread_safe_.CalledOnValidThread());
117 if (!pref_service_) { 112 if (!pref_service_) {
118 return syncable::ModelTypeSet(); 113 return syncable::ModelTypeSet();
119 } 114 }
120 115
121 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) { 116 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 DCHECK(non_thread_safe_.CalledOnValidThread()); 178 DCHECK(non_thread_safe_.CalledOnValidThread());
184 return 179 return
185 pref_service_ ? 180 pref_service_ ?
186 pref_service_->GetString(prefs::kSyncEncryptionBootstrapToken) : ""; 181 pref_service_->GetString(prefs::kSyncEncryptionBootstrapToken) : "";
187 } 182 }
188 183
189 void SyncPrefs::SetEncryptionBootstrapToken(const std::string& token) { 184 void SyncPrefs::SetEncryptionBootstrapToken(const std::string& token) {
190 DCHECK(non_thread_safe_.CalledOnValidThread()); 185 DCHECK(non_thread_safe_.CalledOnValidThread());
191 CHECK(pref_service_); 186 CHECK(pref_service_);
192 pref_service_->SetString(prefs::kSyncEncryptionBootstrapToken, token); 187 pref_service_->SetString(prefs::kSyncEncryptionBootstrapToken, token);
193 pref_service_->ScheduleSavePersistentPrefs();
194 } 188 }
195 189
196 void SyncPrefs::AcknowledgeSyncedTypes( 190 void SyncPrefs::AcknowledgeSyncedTypes(
197 const syncable::ModelTypeSet& types) { 191 const syncable::ModelTypeSet& types) {
198 DCHECK(non_thread_safe_.CalledOnValidThread()); 192 DCHECK(non_thread_safe_.CalledOnValidThread());
199 CHECK(pref_service_); 193 CHECK(pref_service_);
200 syncable::ModelTypeSet acknowledged_types = 194 syncable::ModelTypeSet acknowledged_types =
201 syncable::ModelTypeSetFromValue( 195 syncable::ModelTypeSetFromValue(
202 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes)); 196 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes));
203 197
204 // Add the types to the current set of acknowledged 198 // Add the types to the current set of acknowledged
205 // types, and then store the resulting set in prefs. 199 // types, and then store the resulting set in prefs.
206 { 200 {
207 syncable::ModelTypeSet temp; 201 syncable::ModelTypeSet temp;
208 std::set_union(acknowledged_types.begin(), acknowledged_types.end(), 202 std::set_union(acknowledged_types.begin(), acknowledged_types.end(),
209 types.begin(), types.end(), 203 types.begin(), types.end(),
210 std::inserter(temp, temp.end())); 204 std::inserter(temp, temp.end()));
211 std::swap(acknowledged_types, temp); 205 std::swap(acknowledged_types, temp);
212 } 206 }
213 207
214 scoped_ptr<ListValue> value( 208 scoped_ptr<ListValue> value(
215 syncable::ModelTypeSetToValue(acknowledged_types)); 209 syncable::ModelTypeSetToValue(acknowledged_types));
216 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value); 210 pref_service_->Set(prefs::kSyncAcknowledgedSyncTypes, *value);
217 pref_service_->ScheduleSavePersistentPrefs();
218 } 211 }
219 212
220 void SyncPrefs::Observe(int type, 213 void SyncPrefs::Observe(int type,
221 const NotificationSource& source, 214 const NotificationSource& source,
222 const NotificationDetails& details) { 215 const NotificationDetails& details) {
223 DCHECK(non_thread_safe_.CalledOnValidThread()); 216 DCHECK(non_thread_safe_.CalledOnValidThread());
224 DCHECK(Source<PrefService>(pref_service_) == source); 217 DCHECK(Source<PrefService>(pref_service_) == source);
225 switch (type) { 218 switch (type) {
226 case chrome::NOTIFICATION_PREF_CHANGED: { 219 case chrome::NOTIFICATION_PREF_CHANGED: {
227 const std::string* pref_name = 220 const std::string* pref_name =
228 Details<const std::string>(details).ptr(); 221 Details<const std::string>(details).ptr();
229 if (*pref_name == prefs::kSyncManaged) { 222 if (*pref_name == prefs::kSyncManaged) {
230 FOR_EACH_OBSERVER(SyncPrefObserver, sync_pref_observers_, 223 FOR_EACH_OBSERVER(SyncPrefObserver, sync_pref_observers_,
231 OnSyncManagedPrefChange(*pref_sync_managed_)); 224 OnSyncManagedPrefChange(*pref_sync_managed_));
232 } 225 }
233 break; 226 break;
234 } 227 }
235 default: 228 default:
236 NOTREACHED(); 229 NOTREACHED();
237 break; 230 break;
238 } 231 }
239 } 232 }
240 233
241 void SyncPrefs::SetManagedForTest(bool is_managed) { 234 void SyncPrefs::SetManagedForTest(bool is_managed) {
242 DCHECK(non_thread_safe_.CalledOnValidThread()); 235 DCHECK(non_thread_safe_.CalledOnValidThread());
243 CHECK(pref_service_); 236 CHECK(pref_service_);
244 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); 237 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed);
245 pref_service_->ScheduleSavePersistentPrefs();
246 } 238 }
247 239
248 syncable::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const { 240 syncable::ModelTypeSet SyncPrefs::GetAcknowledgeSyncedTypesForTest() const {
249 DCHECK(non_thread_safe_.CalledOnValidThread()); 241 DCHECK(non_thread_safe_.CalledOnValidThread());
250 if (!pref_service_) { 242 if (!pref_service_) {
251 return syncable::ModelTypeSet(); 243 return syncable::ModelTypeSet();
252 } 244 }
253 return syncable::ModelTypeSetFromValue( 245 return syncable::ModelTypeSetFromValue(
254 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes)); 246 *pref_service_->GetList(prefs::kSyncAcknowledgedSyncTypes));
255 } 247 }
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 void SyncPrefs::SetDataTypePreferred( 386 void SyncPrefs::SetDataTypePreferred(
395 syncable::ModelType type, bool is_preferred) { 387 syncable::ModelType type, bool is_preferred) {
396 DCHECK(non_thread_safe_.CalledOnValidThread()); 388 DCHECK(non_thread_safe_.CalledOnValidThread());
397 CHECK(pref_service_); 389 CHECK(pref_service_);
398 const char* pref_name = GetPrefNameForDataType(type); 390 const char* pref_name = GetPrefNameForDataType(type);
399 if (!pref_name) { 391 if (!pref_name) {
400 NOTREACHED(); 392 NOTREACHED();
401 return; 393 return;
402 } 394 }
403 pref_service_->SetBoolean(pref_name, is_preferred); 395 pref_service_->SetBoolean(pref_name, is_preferred);
404 pref_service_->ScheduleSavePersistentPrefs();
405 } 396 }
406 397
407 } // namespace browser_sync 398 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698