Chromium Code Reviews| Index: chrome/browser/sync/engine/download_updates_command.cc |
| diff --git a/chrome/browser/sync/engine/download_updates_command.cc b/chrome/browser/sync/engine/download_updates_command.cc |
| index 7677989210cb691c5fe38a06dea474419a67a0e1..f42df83e00c57b9ea3769b7368a9a0cc067524e5 100644 |
| --- a/chrome/browser/sync/engine/download_updates_command.cc |
| +++ b/chrome/browser/sync/engine/download_updates_command.cc |
| @@ -16,6 +16,8 @@ |
| using syncable::ScopedDirLookup; |
| +using sync_pb::DebugInfo; |
| + |
| namespace browser_sync { |
| using sessions::StatusController; |
| using sessions::SyncSession; |
| @@ -83,6 +85,8 @@ void DownloadUpdatesCommand::ExecuteImpl(SyncSession* session) { |
| SyncerProtoUtil::AddRequestBirthday(dir, &client_to_server_message); |
| + AppendClientDebugInfoIfNeeded(session, &client_to_server_message); |
|
tim (not reviewing)
2011/10/13 16:04:14
This method should take a DebugInfo*, not ClientTo
lipalani1
2011/10/13 21:39:18
Done.
|
| + |
| bool ok = SyncerProtoUtil::PostClientToServerMessage( |
| client_to_server_message, |
| &update_response, |
| @@ -126,4 +130,22 @@ void DownloadUpdatesCommand::SetRequestedTypes( |
| DCHECK_LT(0, requested_type_count) << "Doing GetUpdates with empty filter."; |
| } |
| +void DownloadUpdatesCommand::AppendClientDebugInfoIfNeeded( |
| + sessions::SyncSession* session, |
| + sync_pb::ClientToServerMessage* client_to_server_message) { |
| + // We want to send the debug info only once per sync cycle. Check if it has |
| + // already been sent. |
| + if (!session->status_controller()->debug_info_sent()) { |
|
tim (not reviewing)
2011/10/13 16:04:14
The getter should track this. If we're building t
tim (not reviewing)
2011/10/13 16:08:22
It occurred to me that maybe you were mimicing wha
lipalani1
2011/10/13 21:39:18
Keeping the getter as the data only object. After
lipalani1
2011/10/13 21:39:18
Done.
|
| + VLOG(1) << "Sending client debug info ..."; |
| + DebugInfo* debug_info = client_to_server_message->mutable_debug_info(); |
| + // could be null in some unit tests. |
| + if (session->context()->debug_info_getter()) { |
| + session->context()->debug_info_getter()->GetAndClearDebugInfo( |
| + debug_info); |
| + } |
| + session->status_controller()->set_debug_info_sent(true); |
| + } |
| +} |
| + |
| + |
| } // namespace browser_sync |