Index: ios/chrome/browser/sync/sync_setup_service.cc |
diff --git a/ios/chrome/browser/sync/sync_setup_service.cc b/ios/chrome/browser/sync/sync_setup_service.cc |
index de1d45f9306fc64a3ba14ec38c32f804bf8a13b3..25819e32d7c1c227b6424cffbe682b5732226673 100644 |
--- a/ios/chrome/browser/sync/sync_setup_service.cc |
+++ b/ios/chrome/browser/sync/sync_setup_service.cc |
@@ -58,7 +58,7 @@ bool SyncSetupService::IsDataTypeEnabled(syncer::ModelType datatype) const { |
void SyncSetupService::SetDataTypeEnabled(syncer::ModelType datatype, |
bool enabled) { |
- sync_service_->SetSetupInProgress(true); |
+ setup_handle_ = sync_service_->GetSetupInProgressHandle(); |
syncer::ModelTypeSet types = GetDataTypes(); |
if (enabled) |
types.Put(datatype); |
@@ -100,7 +100,7 @@ bool SyncSetupService::IsSyncingAllDataTypes() const { |
} |
void SyncSetupService::SetSyncingAllDataTypes(bool sync_all) { |
- sync_service_->SetSetupInProgress(true); |
+ setup_handle_ = sync_service_->GetSetupInProgressHandle(); |
if (sync_all && !IsSyncEnabled()) |
SetSyncEnabled(true); |
sync_service_->OnUserChoseDatatypes( |
@@ -171,7 +171,7 @@ void SyncSetupService::PrepareForFirstSyncSetup() { |
// |PrepareForFirstSyncSetup| should always be called while the user is signed |
// out. At that time, sync setup is not completed. |
DCHECK(!sync_service_->IsFirstSetupComplete()); |
- sync_service_->SetSetupInProgress(true); |
+ setup_handle_ = sync_service_->GetSetupInProgressHandle(); |
} |
void SyncSetupService::CommitChanges() { |
@@ -183,7 +183,7 @@ void SyncSetupService::CommitChanges() { |
} |
} |
- sync_service_->SetSetupInProgress(false); |
+ setup_handle_.reset(); |
} |
bool SyncSetupService::HasUncommittedChanges() { |
@@ -192,7 +192,7 @@ bool SyncSetupService::HasUncommittedChanges() { |
void SyncSetupService::SetSyncEnabledWithoutChangingDatatypes( |
bool sync_enabled) { |
- sync_service_->SetSetupInProgress(true); |
+ setup_handle_ = sync_service_->GetSetupInProgressHandle(); |
if (sync_enabled) { |
sync_service_->RequestStart(); |
} else { |