| Index: components/sync_driver/failed_data_types_handler.cc
|
| diff --git a/components/sync_driver/failed_data_types_handler.cc b/components/sync_driver/failed_data_types_handler.cc
|
| deleted file mode 100644
|
| index 8ee9c1dea6531b27a649af9be3d10e0a18255ff1..0000000000000000000000000000000000000000
|
| --- a/components/sync_driver/failed_data_types_handler.cc
|
| +++ /dev/null
|
| @@ -1,157 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/sync_driver/data_type_manager.h"
|
| -#include "components/sync_driver/failed_data_types_handler.h"
|
| -
|
| -namespace sync_driver {
|
| -
|
| -namespace {
|
| -
|
| -syncer::ModelTypeSet GetTypesFromErrorMap(
|
| - const FailedDataTypesHandler::TypeErrorMap& errors) {
|
| - syncer::ModelTypeSet result;
|
| - for (FailedDataTypesHandler::TypeErrorMap::const_iterator it = errors.begin();
|
| - it != errors.end(); ++it) {
|
| - DCHECK(!result.Has(it->first));
|
| - result.Put(it->first);
|
| - }
|
| - return result;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -FailedDataTypesHandler::FailedDataTypesHandler() {
|
| -}
|
| -
|
| -FailedDataTypesHandler::~FailedDataTypesHandler() {
|
| -}
|
| -
|
| -bool FailedDataTypesHandler::UpdateFailedDataTypes(const TypeErrorMap& errors) {
|
| - 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();
|
| - switch (failure_type) {
|
| - case syncer::SyncError::UNSET:
|
| - NOTREACHED();
|
| - break;
|
| - case syncer::SyncError::UNRECOVERABLE_ERROR:
|
| - unrecoverable_errors_.insert(*iter);
|
| - break;
|
| - case syncer::SyncError::DATATYPE_ERROR:
|
| - case syncer::SyncError::DATATYPE_POLICY_ERROR:
|
| - data_type_errors_.insert(*iter);
|
| - break;
|
| - case syncer::SyncError::CRYPTO_ERROR:
|
| - crypto_errors_.insert(*iter);
|
| - break;
|
| - case syncer::SyncError::PERSISTENCE_ERROR:
|
| - persistence_errors_.insert(*iter);
|
| - break;
|
| - case syncer::SyncError::UNREADY_ERROR:
|
| - unready_errors_.insert(*iter);
|
| - break;
|
| - }
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -void FailedDataTypesHandler::Reset() {
|
| - unrecoverable_errors_.clear();
|
| - data_type_errors_.clear();
|
| - crypto_errors_.clear();
|
| - persistence_errors_.clear();
|
| - unready_errors_.clear();
|
| -}
|
| -
|
| -void FailedDataTypesHandler::ResetCryptoErrors() {
|
| - crypto_errors_.clear();
|
| -}
|
| -
|
| -void FailedDataTypesHandler::ResetPersistenceErrorsFrom(
|
| - syncer::ModelTypeSet purged_types) {
|
| - for (syncer::ModelTypeSet::Iterator iter = purged_types.First(); iter.Good();
|
| - iter.Inc()) {
|
| - persistence_errors_.erase(iter.Get());
|
| - }
|
| -}
|
| -
|
| -bool FailedDataTypesHandler::ResetDataTypeErrorFor(syncer::ModelType type) {
|
| - return data_type_errors_.erase(type) > 0;
|
| -}
|
| -
|
| -bool FailedDataTypesHandler::ResetUnreadyErrorFor(syncer::ModelType type) {
|
| - return unready_errors_.erase(type) > 0;
|
| -}
|
| -
|
| -FailedDataTypesHandler::TypeErrorMap FailedDataTypesHandler::GetAllErrors()
|
| - const {
|
| - TypeErrorMap result;
|
| - 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;
|
| -}
|
| -
|
| -syncer::ModelTypeSet FailedDataTypesHandler::GetFailedTypes() const {
|
| - syncer::ModelTypeSet result = GetFatalErrorTypes();
|
| - result.PutAll(GetCryptoErrorTypes());
|
| - result.PutAll(GetUnreadyErrorTypes());
|
| - return result;
|
| -}
|
| -
|
| -syncer::ModelTypeSet FailedDataTypesHandler::GetFatalErrorTypes()
|
| - const {
|
| - syncer::ModelTypeSet result;
|
| - result.PutAll(GetTypesFromErrorMap(data_type_errors_));
|
| - result.PutAll(GetTypesFromErrorMap(unrecoverable_errors_));
|
| - return result;
|
| -}
|
| -
|
| -syncer::ModelTypeSet FailedDataTypesHandler::GetCryptoErrorTypes() const {
|
| - syncer::ModelTypeSet result = GetTypesFromErrorMap(crypto_errors_);
|
| - return result;
|
| -}
|
| -
|
| -syncer::ModelTypeSet FailedDataTypesHandler::GetPersistenceErrorTypes() const {
|
| - syncer::ModelTypeSet result = GetTypesFromErrorMap(persistence_errors_);
|
| - return result;
|
| -}
|
| -
|
| -syncer::ModelTypeSet FailedDataTypesHandler::GetUnreadyErrorTypes() const {
|
| - syncer::ModelTypeSet result = GetTypesFromErrorMap(unready_errors_);
|
| - 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() ||
|
| - !data_type_errors_.empty() ||
|
| - !crypto_errors_.empty();
|
| -}
|
| -
|
| -} // namespace sync_driver
|
|
|