Index: chrome/browser/sync/profile_sync_service_harness.cc |
diff --git a/chrome/browser/sync/profile_sync_service_harness.cc b/chrome/browser/sync/profile_sync_service_harness.cc |
index 44ef947912620356f72220f2f5ce7b58de5ccbd2..d2fb640cb77d0fde11ff636d7c3f41ad9ec997c6 100644 |
--- a/chrome/browser/sync/profile_sync_service_harness.cc |
+++ b/chrome/browser/sync/profile_sync_service_harness.cc |
@@ -319,6 +319,14 @@ bool ProfileSyncServiceHarness::RunStateChangeMachine() { |
} |
break; |
} |
+ case WAITING_FOR_SYNC_DISABLED: { |
+ VLOG(1) << GetClientInfoString("WAITING_FOR_SYNC_DISABLED"); |
+ if (service()->HasSyncSetupCompleted() == false) { |
+ // Sync has been disabled. |
+ SignalStateCompleteWithNextState(SYNC_DISABLED); |
+ } |
+ break; |
+ } |
case SERVER_UNREACHABLE: { |
VLOG(1) << GetClientInfoString("SERVER_UNREACHABLE"); |
if (GetStatus().server_reachable) { |
@@ -461,6 +469,14 @@ bool ProfileSyncServiceHarness::AwaitSyncCycleCompletion( |
} |
} |
+bool ProfileSyncServiceHarness::AwaitSyncDisabled(const std::string& reason) { |
+ DCHECK(service()->HasSyncSetupCompleted()); |
+ DCHECK_NE(wait_state_, SYNC_DISABLED); |
+ wait_state_ = WAITING_FOR_SYNC_DISABLED; |
+ AwaitStatusChangeWithTimeout(kLiveSyncOperationTimeoutMs, reason); |
+ return wait_state_ == SYNC_DISABLED; |
+} |
+ |
bool ProfileSyncServiceHarness::AwaitMutualSyncCycleCompletion( |
ProfileSyncServiceHarness* partner) { |
VLOG(1) << GetClientInfoString("AwaitMutualSyncCycleCompletion"); |