Index: chrome/browser/sync/engine/syncer_end_command.cc |
diff --git a/chrome/browser/sync/engine/syncer_end_command.cc b/chrome/browser/sync/engine/syncer_end_command.cc |
index dcdfcc13633a0855a36028838d5884ff6883d62b..8f67841a42e55dd64b6eaeb7f18ebce7fdd77897 100644 |
--- a/chrome/browser/sync/engine/syncer_end_command.cc |
+++ b/chrome/browser/sync/engine/syncer_end_command.cc |
@@ -15,10 +15,12 @@ SyncerEndCommand::SyncerEndCommand() {} |
SyncerEndCommand::~SyncerEndCommand() {} |
void SyncerEndCommand::ExecuteImpl(sessions::SyncSession* session) { |
- sessions::StatusController* status(session->status_controller()); |
- status->set_syncing(false); |
- session->context()->set_previous_session_routing_info( |
- session->routing_info()); |
+ // Always send out a cycle ended notification, regardless of end-state. |
+ session->status_controller()->set_syncing(false); |
+ SyncEngineEvent event(SyncEngineEvent::SYNC_CYCLE_ENDED); |
+ sessions::SyncSessionSnapshot snapshot(session->TakeSnapshot()); |
+ event.snapshot = &snapshot; |
+ session->context()->NotifyListeners(event); |
session->context()->set_last_snapshot(session->TakeSnapshot()); |
} |