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

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

Issue 465113002: Revert 288557 "[Sync] Use OnSingleDataTypeUnrecoverableError for..." (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/generic_change_processor.cc
===================================================================
--- trunk/src/components/sync_driver/generic_change_processor.cc (revision 289111)
+++ trunk/src/components/sync_driver/generic_change_processor.cc (working copy)
@@ -144,13 +144,10 @@
// Need to load specifics from node.
syncer::ReadNode read_node(trans);
if (read_node.InitByIdLookup(it->id) != syncer::BaseNode::INIT_OK) {
- syncer::SyncError error(
+ error_handler()->OnSingleDatatypeUnrecoverableError(
FROM_HERE,
- syncer::SyncError::DATATYPE_ERROR,
"Failed to look up data for received change with id " +
- base::Int64ToString(it->id),
- syncer::GetModelTypeFromSpecifics(it->specifics));
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ base::Int64ToString(it->id));
return;
}
syncer_changes_.push_back(syncer::SyncChange(
@@ -171,14 +168,17 @@
syncer::SyncError::DATATYPE_ERROR,
"Local service destroyed.",
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(error.location(),
+ error.message());
return;
}
syncer::SyncError error = local_service_->ProcessSyncChanges(FROM_HERE,
syncer_changes_);
syncer_changes_.clear();
- if (error.IsSet())
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ if (error.IsSet()) {
+ error_handler()->OnSingleDatatypeUnrecoverableError(
+ error.location(), error.message());
+ }
}
syncer::SyncDataList GenericChangeProcessor::GetAllSyncData(
@@ -285,8 +285,9 @@
namespace {
+// TODO(isherman): Investigating http://crbug.com/121592
// WARNING: this code is sensitive to compiler optimizations. Be careful
-// modifying any code around an OnSingleDataTypeUnrecoverableError call, else
+// modifying any code around an OnSingleDatatypeUnrecoverableError call, else
// the compiler attempts to merge it with other calls, losing useful information
// in breakpad uploads.
syncer::SyncError LogLookupFailure(
@@ -302,21 +303,24 @@
error_prefix +
"could not find entry matching the lookup criteria.",
type);
- error_handler->OnSingleDataTypeUnrecoverableError(error);
+ error_handler->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Delete: Bad entry.";
return error;
}
case syncer::BaseNode::INIT_FAILED_ENTRY_IS_DEL: {
syncer::SyncError error;
error.Reset(from_here, error_prefix + "entry is already deleted.", type);
- error_handler->OnSingleDataTypeUnrecoverableError(error);
+ error_handler->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Delete: Deleted entry.";
return error;
}
case syncer::BaseNode::INIT_FAILED_DECRYPT_IF_NECESSARY: {
syncer::SyncError error;
error.Reset(from_here, error_prefix + "unable to decrypt", type);
- error_handler->OnSingleDataTypeUnrecoverableError(error);
+ error_handler->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Delete: Undecryptable entry.";
return error;
}
@@ -325,7 +329,8 @@
error.Reset(from_here,
error_prefix + "a precondition was not met for calling init.",
type);
- error_handler->OnSingleDataTypeUnrecoverableError(error);
+ error_handler->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Delete: Failed precondition.";
return error;
}
@@ -333,7 +338,8 @@
syncer::SyncError error;
// Should have listed all the possible error cases above.
error.Reset(from_here, error_prefix + "unknown error", type);
- error_handler->OnSingleDataTypeUnrecoverableError(error);
+ error_handler->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Delete: Unknown error.";
return error;
}
@@ -355,7 +361,8 @@
"Failed to delete " + type_str + " node. Local data, empty tag. " +
change.location().ToString(),
type);
- error_handler->OnSingleDataTypeUnrecoverableError(error);
+ error_handler->OnSingleDatatypeUnrecoverableError(error.location(),
+ error.message());
NOTREACHED();
return error;
}
@@ -457,7 +464,8 @@
"Received unset SyncChange in the change processor, " +
change.location().ToString(),
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
NOTREACHED();
LOG(ERROR) << "Unset sync change.";
return error;
@@ -472,7 +480,7 @@
}
// WARNING: this code is sensitive to compiler optimizations. Be careful
-// modifying any code around an OnSingleDataTypeUnrecoverableError call, else
+// modifying any code around an OnSingleDatatypeUnrecoverableError call, else
// the compiler attempts to merge it with other calls, losing useful information
// in breakpad uploads.
syncer::SyncError GenericChangeProcessor::HandleActionAdd(
@@ -492,7 +500,8 @@
syncer::SyncError::DATATYPE_ERROR,
"Failed to look up root node for type " + type_str,
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
NOTREACHED();
LOG(ERROR) << "Create: no root node.";
return error;
@@ -507,21 +516,24 @@
case syncer::WriteNode::INIT_FAILED_EMPTY_TAG: {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "empty tag", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Create: Empty tag.";
return error;
}
case syncer::WriteNode::INIT_FAILED_ENTRY_ALREADY_EXISTS: {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "entry already exists", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Create: Entry exists.";
return error;
}
case syncer::WriteNode::INIT_FAILED_COULD_NOT_CREATE_ENTRY: {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "failed to create entry", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Create: Could not create entry.";
return error;
}
@@ -529,14 +541,16 @@
syncer::SyncError error;
error.Reset(
FROM_HERE, error_prefix + "failed to set predecessor", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Create: Bad predecessor.";
return error;
}
default: {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "unknown error", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Create: Unknown error.";
return error;
}
@@ -561,7 +575,7 @@
return syncer::SyncError();
}
// WARNING: this code is sensitive to compiler optimizations. Be careful
-// modifying any code around an OnSingleDataTypeUnrecoverableError call, else
+// modifying any code around an OnSingleDatatypeUnrecoverableError call, else
// the compiler attempts to merge it with other calls, losing useful information
// in breakpad uploads.
syncer::SyncError GenericChangeProcessor::HandleActionUpdate(
@@ -583,19 +597,22 @@
if (result == syncer::BaseNode::INIT_FAILED_PRECONDITION) {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "empty tag", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: Empty tag.";
return error;
} else if (result == syncer::BaseNode::INIT_FAILED_ENTRY_NOT_GOOD) {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "bad entry", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: bad entry.";
return error;
} else if (result == syncer::BaseNode::INIT_FAILED_ENTRY_IS_DEL) {
syncer::SyncError error;
error.Reset(FROM_HERE, error_prefix + "deleted entry", type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: deleted entry.";
return error;
} else {
@@ -613,7 +630,8 @@
"nigori mismatch for " +
type_str + ".",
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: encr case 1.";
return error;
} else if (agreement && can_decrypt) {
@@ -623,7 +641,8 @@
"and the nigori matches (?!) for " +
type_str + ".",
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: encr case 2.";
return error;
} else if (agreement) {
@@ -633,7 +652,8 @@
"the nigori matches for " +
type_str + ".",
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: encr case 3.";
return error;
} else {
@@ -643,7 +663,8 @@
"(?!) and nigori mismatch for " +
type_str + ".",
type);
- error_handler()->OnSingleDataTypeUnrecoverableError(error);
+ error_handler()->OnSingleDatatypeUnrecoverableError(FROM_HERE,
+ error.message());
LOG(ERROR) << "Update: encr case 4.";
return error;
}

Powered by Google App Engine
This is Rietveld 408576698