| 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |