| Index: chrome/browser/sync/engine/clear_data_command.cc
|
| diff --git a/chrome/browser/sync/engine/clear_data_command.cc b/chrome/browser/sync/engine/clear_data_command.cc
|
| index ebb95d85d5aafc9be091a898472882351f08ac3b..3b9d048978981d73fd9f135330bceb4ebbd2b27b 100644
|
| --- a/chrome/browser/sync/engine/clear_data_command.cc
|
| +++ b/chrome/browser/sync/engine/clear_data_command.cc
|
| @@ -26,7 +26,7 @@ using syncable::MODEL_TYPE_COUNT;
|
| ClearDataCommand::ClearDataCommand() {}
|
| ClearDataCommand::~ClearDataCommand() {}
|
|
|
| -void ClearDataCommand::ExecuteImpl(SyncSession* session) {
|
| +SyncerError ClearDataCommand::ExecuteImpl(SyncSession* session) {
|
| ClientToServerMessage client_to_server_message;
|
| ClientToServerResponse client_to_server_response;
|
|
|
| @@ -40,14 +40,14 @@ void ClearDataCommand::ExecuteImpl(SyncSession* session) {
|
| session->context()->account_name());
|
| if (!dir.good()) {
|
| LOG(ERROR) << "Scoped dir lookup failed!";
|
| - return;
|
| + return DIRECTORY_LOOKUP_FAILED;
|
| }
|
|
|
| SyncerProtoUtil::AddRequestBirthday(dir, &client_to_server_message);
|
|
|
| DVLOG(1) << "Clearing server data";
|
|
|
| - bool ok = SyncerProtoUtil::PostClientToServerMessage(
|
| + SyncerError result = SyncerProtoUtil::PostClientToServerMessage(
|
| client_to_server_message,
|
| &client_to_server_response,
|
| session);
|
| @@ -55,8 +55,12 @@ void ClearDataCommand::ExecuteImpl(SyncSession* session) {
|
| DVLOG(1) << SyncerProtoUtil::ClientToServerResponseDebugString(
|
| client_to_server_response);
|
|
|
| + // FIXME(rlarocque): This code is wrong. The response error codes it checks
|
| + // have been obsoleted. The only reason it hasn't caused problems is that it
|
| + // is unreachable. We should do something to clean up this mess.
|
| + //
|
| // Clear pending indicates that the server has received our clear message
|
| - if (!ok || !client_to_server_response.has_error_code() ||
|
| + if (result != NO_ERROR || !client_to_server_response.has_error_code() ||
|
| client_to_server_response.error_code() !=
|
| sync_pb::ClientToServerResponse::SUCCESS) {
|
| // On failure, subsequent requests to the server will cause it to attempt
|
| @@ -67,7 +71,7 @@ void ClearDataCommand::ExecuteImpl(SyncSession* session) {
|
|
|
| LOG(ERROR) << "Error posting ClearData.";
|
|
|
| - return;
|
| + return result;
|
| }
|
|
|
| SyncEngineEvent event(SyncEngineEvent::CLEAR_SERVER_DATA_SUCCEEDED);
|
| @@ -76,6 +80,7 @@ void ClearDataCommand::ExecuteImpl(SyncSession* session) {
|
| session->delegate()->OnShouldStopSyncingPermanently();
|
|
|
| DVLOG(1) << "ClearData succeeded.";
|
| + return NO_ERROR;
|
| }
|
|
|
| } // namespace browser_sync
|
|
|