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

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

Issue 6375007: [Sync] Refactored ProfileSyncService and remove its backend() function (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add comment Created 9 years, 11 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 syncable::ModelTypeSet types; 407 syncable::ModelTypeSet types;
408 // If sync setup hasn't finished, we don't want to initialize routing info 408 // If sync setup hasn't finished, we don't want to initialize routing info
409 // for any data types so that we don't download updates for types that the 409 // for any data types so that we don't download updates for types that the
410 // user chooses not to sync on the first DownloadUpdatesCommand. 410 // user chooses not to sync on the first DownloadUpdatesCommand.
411 if (HasSyncSetupCompleted()) { 411 if (HasSyncSetupCompleted()) {
412 GetPreferredDataTypes(&types); 412 GetPreferredDataTypes(&types);
413 } 413 }
414 414
415 SyncCredentials credentials = GetCredentials(); 415 SyncCredentials credentials = GetCredentials();
416 416
417 backend_->Initialize(sync_service_url_, 417 backend_->Initialize(this,
418 sync_service_url_,
418 types, 419 types,
419 profile_->GetRequestContext(), 420 profile_->GetRequestContext(),
420 credentials, 421 credentials,
421 delete_sync_data_folder, 422 delete_sync_data_folder,
422 notifier_options_); 423 notifier_options_);
423 } 424 }
424 425
425 void ProfileSyncService::CreateBackend() { 426 void ProfileSyncService::CreateBackend() {
426 backend_.reset(new SyncBackendHost(this, profile_)); 427 backend_.reset(new SyncBackendHost(profile_));
427 } 428 }
428 429
429 void ProfileSyncService::StartUp() { 430 void ProfileSyncService::StartUp() {
430 // Don't start up multiple times. 431 // Don't start up multiple times.
431 if (backend_.get()) { 432 if (backend_.get()) {
432 VLOG(1) << "Skipping bringing up backend host."; 433 VLOG(1) << "Skipping bringing up backend host.";
433 return; 434 return;
434 } 435 }
435 436
436 DCHECK(AreCredentialsAvailable()); 437 DCHECK(AreCredentialsAvailable());
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1006 bool ProfileSyncService::IsUsingSecondaryPassphrase() const { 1007 bool ProfileSyncService::IsUsingSecondaryPassphrase() const {
1007 return backend_.get() && (backend_->IsUsingExplicitPassphrase() || 1008 return backend_.get() && (backend_->IsUsingExplicitPassphrase() ||
1008 (tried_implicit_gaia_remove_when_bug_62103_fixed_ && 1009 (tried_implicit_gaia_remove_when_bug_62103_fixed_ &&
1009 observed_passphrase_required_)); 1010 observed_passphrase_required_));
1010 } 1011 }
1011 1012
1012 bool ProfileSyncService::IsCryptographerReady() const { 1013 bool ProfileSyncService::IsCryptographerReady() const {
1013 return backend_.get() && backend_->IsCryptographerReady(); 1014 return backend_.get() && backend_->IsCryptographerReady();
1014 } 1015 }
1015 1016
1017 SyncBackendHost* ProfileSyncService::GetBackendForTest() {
1018 // We don't check |backend_initialized_|; we assume the test class
1019 // knows what it's doing.
1020 return backend_.get();
1021 }
1022
1016 void ProfileSyncService::ConfigureDataTypeManager() { 1023 void ProfileSyncService::ConfigureDataTypeManager() {
1017 if (!data_type_manager_.get()) { 1024 if (!data_type_manager_.get()) {
1018 data_type_manager_.reset( 1025 data_type_manager_.reset(
1019 factory_->CreateDataTypeManager(backend_.get(), 1026 factory_->CreateDataTypeManager(backend_.get(),
1020 data_type_controllers_)); 1027 data_type_controllers_));
1021 registrar_.Add(this, 1028 registrar_.Add(this,
1022 NotificationType::SYNC_CONFIGURE_START, 1029 NotificationType::SYNC_CONFIGURE_START,
1023 Source<DataTypeManager>(data_type_manager_.get())); 1030 Source<DataTypeManager>(data_type_manager_.get()));
1024 registrar_.Add(this, 1031 registrar_.Add(this,
1025 NotificationType::SYNC_CONFIGURE_DONE, 1032 NotificationType::SYNC_CONFIGURE_DONE,
1026 Source<DataTypeManager>(data_type_manager_.get())); 1033 Source<DataTypeManager>(data_type_manager_.get()));
1027 } 1034 }
1028 1035
1029 syncable::ModelTypeSet types; 1036 syncable::ModelTypeSet types;
1030 GetPreferredDataTypes(&types); 1037 GetPreferredDataTypes(&types);
1031 data_type_manager_->Configure(types); 1038 data_type_manager_->Configure(types);
1032 } 1039 }
1033 1040
1041 sync_api::UserShare* ProfileSyncService::GetUserShare() const {
1042 if (backend_.get() && backend_initialized_) {
1043 return backend_->GetUserShare();
1044 }
1045 NOTREACHED();
1046 return NULL;
1047 }
1048
1049 const browser_sync::sessions::SyncSessionSnapshot*
1050 ProfileSyncService::GetLastSessionSnapshot() const {
1051 if (backend_.get() && backend_initialized_) {
1052 return backend_->GetLastSessionSnapshot();
1053 }
1054 NOTREACHED();
1055 return NULL;
1056 }
1057
1058 bool ProfileSyncService::HasUnsyncedItems() const {
1059 if (backend_.get() && backend_initialized_) {
1060 return backend_->HasUnsyncedItems();
1061 }
1062 NOTREACHED();
1063 return false;
1064 }
1065
1066 void ProfileSyncService::GetModelSafeRoutingInfo(
1067 browser_sync::ModelSafeRoutingInfo* out) {
1068 if (backend_.get() && backend_initialized_) {
1069 backend_->GetModelSafeRoutingInfo(out);
1070 } else {
1071 NOTREACHED();
1072 }
1073 }
1074
1075 syncable::AutofillMigrationState
1076 ProfileSyncService::GetAutofillMigrationState() {
1077 if (backend_.get() && backend_initialized_) {
1078 return backend_->GetAutofillMigrationState();
1079 }
1080 NOTREACHED();
1081 return syncable::NOT_DETERMINED;
1082 }
1083
1084 void ProfileSyncService::SetAutofillMigrationState(
1085 syncable::AutofillMigrationState state) {
1086 if (backend_.get() && backend_initialized_) {
1087 backend_->SetAutofillMigrationState(state);
1088 } else {
1089 NOTREACHED();
1090 }
1091 }
1092
1093 syncable::AutofillMigrationDebugInfo
1094 ProfileSyncService::GetAutofillMigrationDebugInfo() {
1095 if (backend_.get() && backend_initialized_) {
1096 return backend_->GetAutofillMigrationDebugInfo();
1097 }
1098 NOTREACHED();
1099 syncable::AutofillMigrationDebugInfo debug_info = { 0 };
1100 return debug_info;
1101 }
1102
1103 void ProfileSyncService::SetAutofillMigrationDebugInfo(
1104 syncable::AutofillMigrationDebugInfo::PropertyToSet property_to_set,
1105 const syncable::AutofillMigrationDebugInfo& info) {
1106 if (backend_.get() && backend_initialized_) {
1107 backend_->SetAutofillMigrationDebugInfo(property_to_set, info);
1108 } else {
1109 NOTREACHED();
1110 }
1111 }
1112
1034 void ProfileSyncService::ActivateDataType( 1113 void ProfileSyncService::ActivateDataType(
1035 DataTypeController* data_type_controller, 1114 DataTypeController* data_type_controller,
1036 ChangeProcessor* change_processor) { 1115 ChangeProcessor* change_processor) {
1037 if (!backend_.get()) { 1116 if (!backend_.get()) {
1038 NOTREACHED(); 1117 NOTREACHED();
1039 return; 1118 return;
1040 } 1119 }
1041 DCHECK(backend_initialized_); 1120 DCHECK(backend_initialized_);
1042 change_processor->Start(profile(), backend_->GetUserShareHandle()); 1121 change_processor->Start(profile(), backend_->GetUserShare());
1043 backend_->ActivateDataType(data_type_controller, change_processor); 1122 backend_->ActivateDataType(data_type_controller, change_processor);
1044 } 1123 }
1045 1124
1046 void ProfileSyncService::DeactivateDataType( 1125 void ProfileSyncService::DeactivateDataType(
1047 DataTypeController* data_type_controller, 1126 DataTypeController* data_type_controller,
1048 ChangeProcessor* change_processor) { 1127 ChangeProcessor* change_processor) {
1049 change_processor->Stop(); 1128 change_processor->Stop();
1050 if (backend_.get()) 1129 if (backend_.get())
1051 backend_->DeactivateDataType(data_type_controller, change_processor); 1130 backend_->DeactivateDataType(data_type_controller, change_processor);
1052 } 1131 }
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 // is initialized, all enabled data types are consistent with one 1303 // is initialized, all enabled data types are consistent with one
1225 // another, and no unrecoverable error has transpired. 1304 // another, and no unrecoverable error has transpired.
1226 if (unrecoverable_error_detected_) 1305 if (unrecoverable_error_detected_)
1227 return false; 1306 return false;
1228 1307
1229 if (!data_type_manager_.get()) 1308 if (!data_type_manager_.get())
1230 return false; 1309 return false;
1231 1310
1232 return data_type_manager_->state() == DataTypeManager::CONFIGURED; 1311 return data_type_manager_->state() == DataTypeManager::CONFIGURED;
1233 } 1312 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/profile_sync_service_autofill_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698