| Index: chrome/browser/sync/engine/all_status.cc
|
| diff --git a/chrome/browser/sync/engine/all_status.cc b/chrome/browser/sync/engine/all_status.cc
|
| index 374c0d35a42050e0c8944af7675a2aae7e400956..f302488ab64b824d75134ef583f67d1897aedaa5 100644
|
| --- a/chrome/browser/sync/engine/all_status.cc
|
| +++ b/chrome/browser/sync/engine/all_status.cc
|
| @@ -17,7 +17,7 @@
|
| namespace browser_sync {
|
|
|
| AllStatus::AllStatus() {
|
| - status_.summary = sync_api::SyncManager::Status::OFFLINE;
|
| + status_.summary = sync_api::SyncManager::Status::UNINITIALIZED;
|
| status_.initial_sync_ended = true;
|
| status_.notifications_enabled = false;
|
| status_.cryptographer_ready = false;
|
| @@ -69,6 +69,7 @@ sync_api::SyncManager::Status AllStatus::CalcSyncing(
|
| // TODO(ncarter): Make this realtime by having the syncer_status
|
| // counter preserve its value across sessions. http://crbug.com/26339
|
| if (event.what_happened == SyncEngineEvent::SYNC_CYCLE_ENDED) {
|
| + ++status.sync_count;
|
| status.updates_received +=
|
| snapshot->syncer_status.num_updates_downloaded_total;
|
| status.tombstone_updates_received +=
|
| @@ -94,19 +95,19 @@ sync_api::SyncManager::Status AllStatus::CalcSyncing(
|
|
|
| void AllStatus::CalcStatusChanges() {
|
| const bool unsynced_changes = status_.unsynced_count > 0;
|
| - const bool online = status_.authenticated &&
|
| + const bool online = status_.sync_count > 0 && status_.authenticated &&
|
| status_.server_reachable && status_.server_up;
|
| if (online) {
|
| if (status_.syncing)
|
| status_.summary = sync_api::SyncManager::Status::SYNCING;
|
| else
|
| status_.summary = sync_api::SyncManager::Status::READY;
|
| - } else if (!status_.initial_sync_ended) {
|
| - status_.summary = sync_api::SyncManager::Status::OFFLINE_UNUSABLE;
|
| } else if (unsynced_changes) {
|
| status_.summary = sync_api::SyncManager::Status::OFFLINE_UNSYNCED;
|
| - } else {
|
| + } else if (status_.sync_count > 0) {
|
| status_.summary = sync_api::SyncManager::Status::OFFLINE;
|
| + } else {
|
| + status_.summary = sync_api::SyncManager::Status::UNINITIALIZED;
|
| }
|
| }
|
|
|
|
|