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

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

Issue 6905044: Refactor preference syncing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Self review Created 9 years, 7 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/profile_sync_service.h" 5 #include "chrome/browser/sync/profile_sync_service.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <map> 8 #include <map>
9 #include <ostream> 9 #include <ostream>
10 #include <set> 10 #include <set>
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 << "is invalid: " << value; 235 << "is invalid: " << value;
236 } 236 }
237 } 237 }
238 } 238 }
239 } 239 }
240 240
241 void ProfileSyncService::RegisterPreferences() { 241 void ProfileSyncService::RegisterPreferences() {
242 PrefService* pref_service = profile_->GetPrefs(); 242 PrefService* pref_service = profile_->GetPrefs();
243 if (pref_service->FindPreference(prefs::kSyncLastSyncedTime)) 243 if (pref_service->FindPreference(prefs::kSyncLastSyncedTime))
244 return; 244 return;
245 pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); 245 pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime,
246 pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, false); 246 0,
247 pref_service->RegisterBooleanPref(prefs::kSyncSuppressStart, false); 247 false /* don't sync pref */);
248 pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted,
249 false,
250 false /* don't sync pref */);
251 pref_service->RegisterBooleanPref(prefs::kSyncSuppressStart,
252 false,
253 false /* don't sync pref */);
248 254
249 // If you've never synced before, or if you're using Chrome OS, all datatypes 255 // If you've never synced before, or if you're using Chrome OS, all datatypes
250 // are on by default. 256 // are on by default.
251 // TODO(nick): Perhaps a better model would be to always default to false, 257 // TODO(nick): Perhaps a better model would be to always default to false,
252 // and explicitly call SetDataTypes() when the user shows the wizard. 258 // and explicitly call SetDataTypes() when the user shows the wizard.
253 #if defined(OS_CHROMEOS) 259 #if defined(OS_CHROMEOS)
254 bool enable_by_default = true; 260 bool enable_by_default = true;
255 #else 261 #else
256 bool enable_by_default = 262 bool enable_by_default =
257 !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted); 263 !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted);
258 #endif 264 #endif
259 265
260 pref_service->RegisterBooleanPref(prefs::kSyncBookmarks, true); 266 pref_service->RegisterBooleanPref(prefs::kSyncBookmarks,
261 pref_service->RegisterBooleanPref(prefs::kSyncPasswords, enable_by_default); 267 true,
262 pref_service->RegisterBooleanPref(prefs::kSyncPreferences, enable_by_default); 268 false /* don't sync pref */);
263 pref_service->RegisterBooleanPref(prefs::kSyncAutofill, enable_by_default); 269 pref_service->RegisterBooleanPref(prefs::kSyncPasswords,
264 pref_service->RegisterBooleanPref(prefs::kSyncThemes, enable_by_default); 270 enable_by_default,
265 pref_service->RegisterBooleanPref(prefs::kSyncTypedUrls, enable_by_default); 271 false /* don't sync pref */);
266 pref_service->RegisterBooleanPref(prefs::kSyncExtensions, enable_by_default); 272 pref_service->RegisterBooleanPref(prefs::kSyncPreferences,
267 pref_service->RegisterBooleanPref(prefs::kSyncApps, enable_by_default); 273 enable_by_default,
268 pref_service->RegisterBooleanPref(prefs::kSyncSessions, enable_by_default); 274 false /* don't sync pref */);
275 pref_service->RegisterBooleanPref(prefs::kSyncAutofill,
276 enable_by_default,
277 false /* don't sync pref */);
278 pref_service->RegisterBooleanPref(prefs::kSyncThemes,
279 enable_by_default,
280 false /* don't sync pref */);
281 pref_service->RegisterBooleanPref(prefs::kSyncTypedUrls,
282 enable_by_default,
283 false /* don't sync pref */);
284 pref_service->RegisterBooleanPref(prefs::kSyncExtensions,
285 enable_by_default,
286 false /* don't sync pref */);
287 pref_service->RegisterBooleanPref(prefs::kSyncApps,
288 enable_by_default,
289 false /* don't sync pref */);
290 pref_service->RegisterBooleanPref(prefs::kSyncSessions,
291 enable_by_default,
292 false /* don't sync pref */);
269 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced, 293 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced,
270 enable_by_default); 294 enable_by_default,
271 pref_service->RegisterBooleanPref(prefs::kSyncManaged, false); 295 false /* don't sync pref */);
272 pref_service->RegisterStringPref(prefs::kEncryptionBootstrapToken, ""); 296 pref_service->RegisterBooleanPref(prefs::kSyncManaged,
297 false,
298 false /* don't sync pref */);
299 pref_service->RegisterStringPref(prefs::kEncryptionBootstrapToken,
300 "",
301 false /* don't sync pref */);
273 302
274 pref_service->RegisterBooleanPref(prefs::kSyncAutofillProfile, 303 pref_service->RegisterBooleanPref(prefs::kSyncAutofillProfile,
275 enable_by_default); 304 enable_by_default,
305 false /* don't sync pref */);
276 } 306 }
277 307
278 void ProfileSyncService::ClearPreferences() { 308 void ProfileSyncService::ClearPreferences() {
279 PrefService* pref_service = profile_->GetPrefs(); 309 PrefService* pref_service = profile_->GetPrefs();
280 pref_service->ClearPref(prefs::kSyncLastSyncedTime); 310 pref_service->ClearPref(prefs::kSyncLastSyncedTime);
281 pref_service->ClearPref(prefs::kSyncHasSetupCompleted); 311 pref_service->ClearPref(prefs::kSyncHasSetupCompleted);
282 pref_service->ClearPref(prefs::kEncryptionBootstrapToken); 312 pref_service->ClearPref(prefs::kEncryptionBootstrapToken);
283 313
284 // TODO(nick): The current behavior does not clear e.g. prefs::kSyncBookmarks. 314 // TODO(nick): The current behavior does not clear e.g. prefs::kSyncBookmarks.
285 // Is that really what we want? 315 // Is that really what we want?
(...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 } 1113 }
1084 1114
1085 void ProfileSyncService::ActivateDataType( 1115 void ProfileSyncService::ActivateDataType(
1086 DataTypeController* data_type_controller, 1116 DataTypeController* data_type_controller,
1087 ChangeProcessor* change_processor) { 1117 ChangeProcessor* change_processor) {
1088 if (!backend_.get()) { 1118 if (!backend_.get()) {
1089 NOTREACHED(); 1119 NOTREACHED();
1090 return; 1120 return;
1091 } 1121 }
1092 DCHECK(backend_initialized_); 1122 DCHECK(backend_initialized_);
1093 change_processor->Start(profile(), backend_->GetUserShare());
1094 backend_->ActivateDataType(data_type_controller, change_processor); 1123 backend_->ActivateDataType(data_type_controller, change_processor);
1095 } 1124 }
1096 1125
1097 void ProfileSyncService::DeactivateDataType( 1126 void ProfileSyncService::DeactivateDataType(
tim (not reviewing) 2011/05/05 17:45:42 what's the plan for PSS::Activate/Deactivate? can
Nicolas Zea 2011/05/06 00:26:43 Done.
1098 DataTypeController* data_type_controller, 1127 DataTypeController* data_type_controller,
1099 ChangeProcessor* change_processor) { 1128 ChangeProcessor* change_processor) {
1100 change_processor->Stop(); 1129 if (!backend_.get())
1101 if (backend_.get()) 1130 return;
1102 backend_->DeactivateDataType(data_type_controller, change_processor); 1131 backend_->DeactivateDataType(data_type_controller, change_processor);
1103 } 1132 }
1104 1133
1105 void ProfileSyncService::SetPassphrase(const std::string& passphrase, 1134 void ProfileSyncService::SetPassphrase(const std::string& passphrase,
1106 bool is_explicit, 1135 bool is_explicit,
1107 bool is_creation) { 1136 bool is_creation) {
1108 if (ShouldPushChanges() || ObservedPassphraseRequired()) { 1137 if (ShouldPushChanges() || ObservedPassphraseRequired()) {
1109 backend_->SetPassphrase(passphrase, is_explicit); 1138 backend_->SetPassphrase(passphrase, is_explicit);
1110 } else { 1139 } else {
1111 cached_passphrase_.value = passphrase; 1140 cached_passphrase_.value = passphrase;
1112 cached_passphrase_.is_explicit = is_explicit; 1141 cached_passphrase_.is_explicit = is_explicit;
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1289 // is initialized, all enabled data types are consistent with one 1318 // is initialized, all enabled data types are consistent with one
1290 // another, and no unrecoverable error has transpired. 1319 // another, and no unrecoverable error has transpired.
1291 if (unrecoverable_error_detected_) 1320 if (unrecoverable_error_detected_)
1292 return false; 1321 return false;
1293 1322
1294 if (!data_type_manager_.get()) 1323 if (!data_type_manager_.get())
1295 return false; 1324 return false;
1296 1325
1297 return data_type_manager_->state() == DataTypeManager::CONFIGURED; 1326 return data_type_manager_->state() == DataTypeManager::CONFIGURED;
1298 } 1327 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698