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

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: Rebase + comments 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 << "is invalid: " << value; 236 << "is invalid: " << value;
237 } 237 }
238 } 238 }
239 } 239 }
240 } 240 }
241 241
242 void ProfileSyncService::RegisterPreferences() { 242 void ProfileSyncService::RegisterPreferences() {
243 PrefService* pref_service = profile_->GetPrefs(); 243 PrefService* pref_service = profile_->GetPrefs();
244 if (pref_service->FindPreference(prefs::kSyncLastSyncedTime)) 244 if (pref_service->FindPreference(prefs::kSyncLastSyncedTime))
245 return; 245 return;
246 pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); 246 pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime,
247 pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, false); 247 0,
248 pref_service->RegisterBooleanPref(prefs::kSyncSuppressStart, false); 248 false /* don't sync pref */);
249 pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted,
250 false,
251 false /* don't sync pref */);
252 pref_service->RegisterBooleanPref(prefs::kSyncSuppressStart,
253 false,
254 false /* don't sync pref */);
249 255
250 // If you've never synced before, or if you're using Chrome OS, all datatypes 256 // If you've never synced before, or if you're using Chrome OS, all datatypes
251 // are on by default. 257 // are on by default.
252 // TODO(nick): Perhaps a better model would be to always default to false, 258 // TODO(nick): Perhaps a better model would be to always default to false,
253 // and explicitly call SetDataTypes() when the user shows the wizard. 259 // and explicitly call SetDataTypes() when the user shows the wizard.
254 #if defined(OS_CHROMEOS) 260 #if defined(OS_CHROMEOS)
255 bool enable_by_default = true; 261 bool enable_by_default = true;
256 #else 262 #else
257 bool enable_by_default = 263 bool enable_by_default =
258 !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted); 264 !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted);
259 #endif 265 #endif
260 266
261 pref_service->RegisterBooleanPref(prefs::kSyncBookmarks, true); 267 pref_service->RegisterBooleanPref(prefs::kSyncBookmarks,
262 pref_service->RegisterBooleanPref(prefs::kSyncPasswords, enable_by_default); 268 true,
263 pref_service->RegisterBooleanPref(prefs::kSyncPreferences, enable_by_default); 269 false /* don't sync pref */);
264 pref_service->RegisterBooleanPref(prefs::kSyncAutofill, enable_by_default); 270 pref_service->RegisterBooleanPref(prefs::kSyncPasswords,
265 pref_service->RegisterBooleanPref(prefs::kSyncThemes, enable_by_default); 271 enable_by_default,
266 pref_service->RegisterBooleanPref(prefs::kSyncTypedUrls, enable_by_default); 272 false /* don't sync pref */);
267 pref_service->RegisterBooleanPref(prefs::kSyncExtensions, enable_by_default); 273 pref_service->RegisterBooleanPref(prefs::kSyncPreferences,
268 pref_service->RegisterBooleanPref(prefs::kSyncApps, enable_by_default); 274 enable_by_default,
269 pref_service->RegisterBooleanPref(prefs::kSyncSessions, enable_by_default); 275 false /* don't sync pref */);
276 pref_service->RegisterBooleanPref(prefs::kSyncAutofill,
277 enable_by_default,
278 false /* don't sync pref */);
279 pref_service->RegisterBooleanPref(prefs::kSyncThemes,
280 enable_by_default,
281 false /* don't sync pref */);
282 pref_service->RegisterBooleanPref(prefs::kSyncTypedUrls,
283 enable_by_default,
284 false /* don't sync pref */);
285 pref_service->RegisterBooleanPref(prefs::kSyncExtensions,
286 enable_by_default,
287 false /* don't sync pref */);
288 pref_service->RegisterBooleanPref(prefs::kSyncApps,
289 enable_by_default,
290 false /* don't sync pref */);
291 pref_service->RegisterBooleanPref(prefs::kSyncSessions,
292 enable_by_default,
293 false /* don't sync pref */);
270 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced, 294 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced,
271 enable_by_default); 295 enable_by_default,
272 pref_service->RegisterBooleanPref(prefs::kSyncManaged, false); 296 false /* don't sync pref */);
273 pref_service->RegisterStringPref(prefs::kEncryptionBootstrapToken, ""); 297 pref_service->RegisterBooleanPref(prefs::kSyncManaged,
298 false,
299 false /* don't sync pref */);
300 pref_service->RegisterStringPref(prefs::kEncryptionBootstrapToken,
301 "",
302 false /* don't sync pref */);
274 303
275 pref_service->RegisterBooleanPref(prefs::kSyncAutofillProfile, 304 pref_service->RegisterBooleanPref(prefs::kSyncAutofillProfile,
276 enable_by_default); 305 enable_by_default,
306 false /* don't sync pref */);
277 } 307 }
278 308
279 void ProfileSyncService::ClearPreferences() { 309 void ProfileSyncService::ClearPreferences() {
280 PrefService* pref_service = profile_->GetPrefs(); 310 PrefService* pref_service = profile_->GetPrefs();
281 pref_service->ClearPref(prefs::kSyncLastSyncedTime); 311 pref_service->ClearPref(prefs::kSyncLastSyncedTime);
282 pref_service->ClearPref(prefs::kSyncHasSetupCompleted); 312 pref_service->ClearPref(prefs::kSyncHasSetupCompleted);
283 pref_service->ClearPref(prefs::kEncryptionBootstrapToken); 313 pref_service->ClearPref(prefs::kEncryptionBootstrapToken);
284 314
285 // TODO(nick): The current behavior does not clear e.g. prefs::kSyncBookmarks. 315 // TODO(nick): The current behavior does not clear e.g. prefs::kSyncBookmarks.
286 // Is that really what we want? 316 // Is that really what we want?
(...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 } 1126 }
1097 1127
1098 void ProfileSyncService::ActivateDataType( 1128 void ProfileSyncService::ActivateDataType(
1099 DataTypeController* data_type_controller, 1129 DataTypeController* data_type_controller,
1100 ChangeProcessor* change_processor) { 1130 ChangeProcessor* change_processor) {
1101 if (!backend_.get()) { 1131 if (!backend_.get()) {
1102 NOTREACHED(); 1132 NOTREACHED();
1103 return; 1133 return;
1104 } 1134 }
1105 DCHECK(backend_initialized_); 1135 DCHECK(backend_initialized_);
1106 change_processor->Start(profile(), backend_->GetUserShare());
1107 backend_->ActivateDataType(data_type_controller, change_processor); 1136 backend_->ActivateDataType(data_type_controller, change_processor);
1108 } 1137 }
1109 1138
1110 void ProfileSyncService::DeactivateDataType( 1139 void ProfileSyncService::DeactivateDataType(
1111 DataTypeController* data_type_controller, 1140 DataTypeController* data_type_controller,
1112 ChangeProcessor* change_processor) { 1141 ChangeProcessor* change_processor) {
1113 change_processor->Stop(); 1142 if (!backend_.get())
1114 if (backend_.get()) 1143 return;
1115 backend_->DeactivateDataType(data_type_controller, change_processor); 1144 backend_->DeactivateDataType(data_type_controller, change_processor);
1116 } 1145 }
1117 1146
1118 void ProfileSyncService::SetPassphrase(const std::string& passphrase, 1147 void ProfileSyncService::SetPassphrase(const std::string& passphrase,
1119 bool is_explicit, 1148 bool is_explicit,
1120 bool is_creation) { 1149 bool is_creation) {
1121 if (ShouldPushChanges() || IsPassphraseRequired()) { 1150 if (ShouldPushChanges() || IsPassphraseRequired()) {
1122 backend_->SetPassphrase(passphrase, is_explicit); 1151 backend_->SetPassphrase(passphrase, is_explicit);
1123 } else { 1152 } else {
1124 cached_passphrase_.value = passphrase; 1153 cached_passphrase_.value = passphrase;
1125 cached_passphrase_.is_explicit = is_explicit; 1154 cached_passphrase_.is_explicit = is_explicit;
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 // is initialized, all enabled data types are consistent with one 1330 // is initialized, all enabled data types are consistent with one
1302 // another, and no unrecoverable error has transpired. 1331 // another, and no unrecoverable error has transpired.
1303 if (unrecoverable_error_detected_) 1332 if (unrecoverable_error_detected_)
1304 return false; 1333 return false;
1305 1334
1306 if (!data_type_manager_.get()) 1335 if (!data_type_manager_.get())
1307 return false; 1336 return false;
1308 1337
1309 return data_type_manager_->state() == DataTypeManager::CONFIGURED; 1338 return data_type_manager_->state() == DataTypeManager::CONFIGURED;
1310 } 1339 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698