Index: chrome/browser/sync/profile_sync_service.cc |
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc |
index 69bc581d9abeccfa8233afa56100ae147dc40ac7..7c2cf7514ab1cf0529b63248a5dbd54bf2a5af3e 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -1467,8 +1467,7 @@ void ProfileSyncService::OnConfigureDone( |
configure_status_ = result.status; |
if (backend_mode_ != SYNC) { |
- if (configure_status_ == DataTypeManager::OK || |
- configure_status_ == DataTypeManager::PARTIAL_SUCCESS) { |
+ if (configure_status_ == DataTypeManager::OK) { |
StartSyncingWithServer(); |
} else if (!expect_sync_configuration_aborted_) { |
DVLOG(1) << "Backup/rollback backend failed to configure."; |
@@ -1479,8 +1478,7 @@ void ProfileSyncService::OnConfigureDone( |
} |
if (!sync_configure_start_time_.is_null()) { |
- if (result.status == DataTypeManager::OK || |
- result.status == DataTypeManager::PARTIAL_SUCCESS) { |
+ if (result.status == DataTypeManager::OK) { |
base::Time sync_configure_stop_time = base::Time::Now(); |
base::TimeDelta delta = sync_configure_stop_time - |
sync_configure_start_time_; |
@@ -1504,8 +1502,7 @@ void ProfileSyncService::OnConfigureDone( |
// The possible status values: |
// ABORT - Configuration was aborted. This is not an error, if |
// initiated by user. |
- // OK - Everything succeeded. |
- // PARTIAL_SUCCESS - Some datatypes failed to start. |
+ // OK - Some or all types succeeded. |
// Everything else is an UnrecoverableError. So treat it as such. |
// First handle the abort case. |
@@ -1517,18 +1514,18 @@ void ProfileSyncService::OnConfigureDone( |
} |
// Handle unrecoverable error. |
- if (configure_status_ != DataTypeManager::OK && |
- configure_status_ != DataTypeManager::PARTIAL_SUCCESS) { |
+ if (configure_status_ != DataTypeManager::OK) { |
// Something catastrophic had happened. We should only have one |
// error representing it. |
- DCHECK_EQ(result.failed_data_types.size(), |
- static_cast<unsigned int>(1)); |
- syncer::SyncError error = result.failed_data_types.begin()->second; |
+ syncer::SyncError error = |
+ failed_data_types_handler_.GetUnrecoverableError(); |
DCHECK(error.IsSet()); |
std::string message = |
"Sync configuration failed with status " + |
DataTypeManager::ConfigureStatusToString(configure_status_) + |
- " during " + syncer::ModelTypeToString(error.model_type()) + |
+ " caused by " + |
+ syncer::ModelTypeSetToString( |
+ failed_data_types_handler_.GetUnrecoverableErrorTypes()) + |
": " + error.message(); |
LOG(ERROR) << "ProfileSyncService error: " << message; |
OnInternalUnrecoverableError(error.location(), |