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

Unified Diff: trunk/src/components/sync_driver/failed_data_types_handler.cc

Issue 469803004: Revert 289115 "Revert 288464 "[Sync] Cleanup datatype configurat..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: trunk/src/components/sync_driver/failed_data_types_handler.cc
===================================================================
--- trunk/src/components/sync_driver/failed_data_types_handler.cc (revision 289352)
+++ trunk/src/components/sync_driver/failed_data_types_handler.cc (working copy)
@@ -32,6 +32,8 @@
if (errors.empty())
return false;
+ DVLOG(1) << "Setting " << errors.size() << " new failed types.";
+
for (TypeErrorMap::const_iterator iter = errors.begin(); iter != errors.end();
++iter) {
syncer::SyncError::ErrorType failure_type = iter->second.error_type();
@@ -91,11 +93,11 @@
FailedDataTypesHandler::TypeErrorMap FailedDataTypesHandler::GetAllErrors()
const {
TypeErrorMap result;
- result = unrecoverable_errors_;
result.insert(data_type_errors_.begin(), data_type_errors_.end());
result.insert(crypto_errors_.begin(), crypto_errors_.end());
result.insert(persistence_errors_.begin(), persistence_errors_.end());
result.insert(unready_errors_.begin(), unready_errors_.end());
+ result.insert(unrecoverable_errors_.begin(), unrecoverable_errors_.end());
return result;
}
@@ -108,8 +110,9 @@
syncer::ModelTypeSet FailedDataTypesHandler::GetFatalErrorTypes()
const {
- syncer::ModelTypeSet result = GetTypesFromErrorMap(unrecoverable_errors_);
+ syncer::ModelTypeSet result;
result.PutAll(GetTypesFromErrorMap(data_type_errors_));
+ result.PutAll(GetTypesFromErrorMap(unrecoverable_errors_));
return result;
}
@@ -128,10 +131,25 @@
return result;
}
+syncer::ModelTypeSet FailedDataTypesHandler::GetUnrecoverableErrorTypes()
+ const {
+ syncer::ModelTypeSet result = GetTypesFromErrorMap(unrecoverable_errors_);
+ return result;
+}
+
+syncer::SyncError FailedDataTypesHandler::GetUnrecoverableError() const {
+ // Just return the first one. It is assumed all the unrecoverable errors
+ // have the same cause. The others are just tracked to know which types
+ // were involved.
+ return (unrecoverable_errors_.empty()
+ ? syncer::SyncError()
+ : unrecoverable_errors_.begin()->second);
+}
+
bool FailedDataTypesHandler::AnyFailedDataType() const {
// Note: persistence errors are not failed types. They just trigger automatic
// unapply + getupdates, at which point they are associated like normal.
- return !unrecoverable_errors_.empty() ||
+ return unrecoverable_errors_.empty() ||
!data_type_errors_.empty() ||
!crypto_errors_.empty();
}

Powered by Google App Engine
This is Rietveld 408576698