Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |