| Index: sync/sessions/sync_session.cc
|
| diff --git a/sync/sessions/sync_session.cc b/sync/sessions/sync_session.cc
|
| index 7af4c50a1ed91425a76b1ddd551d917f1d54acf3..f4329785378060a7750b70ff5e38d6e74790236c 100644
|
| --- a/sync/sessions/sync_session.cc
|
| +++ b/sync/sessions/sync_session.cc
|
| @@ -241,17 +241,17 @@ std::set<ModelSafeGroup>
|
| namespace {
|
| // Return true if the command in question was attempted and did not complete
|
| // successfully.
|
| -//
|
| bool IsError(SyncerError error) {
|
| return error != UNSET && error != SYNCER_OK;
|
| }
|
|
|
| // Returns false iff one of the command results had an error.
|
| bool HadErrors(const ModelNeutralState& state) {
|
| + const bool get_key_error = IsError(state.last_get_key_result);
|
| const bool download_updates_error =
|
| IsError(state.last_download_updates_result);
|
| const bool commit_error = IsError(state.commit_result);
|
| - return download_updates_error || commit_error;
|
| + return get_key_error || download_updates_error || commit_error;
|
| }
|
| } // namespace
|
|
|
| @@ -261,7 +261,8 @@ bool SyncSession::Succeeded() const {
|
|
|
| bool SyncSession::SuccessfullyReachedServer() const {
|
| const ModelNeutralState& state = status_controller_->model_neutral_state();
|
| - bool reached_server = state.last_download_updates_result == SYNCER_OK;
|
| + bool reached_server = state.last_get_key_result == SYNCER_OK ||
|
| + state.last_download_updates_result == SYNCER_OK;
|
| // It's possible that we reached the server on one attempt, then had an error
|
| // on the next (or didn't perform some of the server-communicating commands).
|
| // We want to verify that, for all commands attempted, we successfully spoke
|
|
|