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

Unified Diff: chrome/browser/sync/engine/clear_data_command.cc

Issue 9036003: Avoid useless SYNC_CYCLE_CONTINUATION sync cycle (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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: 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
« no previous file with comments | « chrome/browser/sync/engine/clear_data_command.h ('k') | chrome/browser/sync/engine/download_updates_command.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698