summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/profile_sync_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/sync/profile_sync_service.cc')
-rw-r--r--chrome/browser/sync/profile_sync_service.cc13
1 files changed, 4 insertions, 9 deletions
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index 84af84f..26f089f8 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -555,16 +555,11 @@ void ProfileSyncService::OnUnrecoverableError(
void ProfileSyncService::OnBackendInitialized(
const WeakHandle<JsBackend>& js_backend, bool success) {
- if (HasSyncSetupCompleted()) {
- UMA_HISTOGRAM_BOOLEAN("Sync.FirstBackendInitializeSuccess", success);
- } else {
- UMA_HISTOGRAM_BOOLEAN("Sync.RestoreBackendInitializeSuccess", success);
- }
-
if (!success) {
- // Something went unexpectedly wrong. Play it safe: nuke our current state
- // and prepare ourselves to try again later.
- DisableForUser();
+ // If backend initialization failed, abort. We only want to blow away
+ // state (DBs, etc) if this was a first-time scenario that failed.
+ wizard_.Step(SyncSetupWizard::FATAL_ERROR);
+ Shutdown(!HasSyncSetupCompleted());
return;
}