Chromium Code Reviews| Index: sync/engine/download.cc |
| diff --git a/sync/engine/download.cc b/sync/engine/download.cc |
| index 2bc7f7a0a9d35be4e85e68ce60420826057f5458..4712857c8956bd2ee475b777f5877f69bd735f85 100644 |
| --- a/sync/engine/download.cc |
| +++ b/sync/engine/download.cc |
| @@ -234,6 +234,7 @@ void BuildNormalDownloadUpdatesImpl( |
| // Set the new and improved version of source, too. |
| get_updates->set_get_updates_origin(sync_pb::SyncEnums::GU_TRIGGER); |
| + get_updates->set_is_retry(nudge_tracker.IsRetryRequired()); |
|
rlarocque
2014/01/06 23:00:33
This is good, but I think this flag should also be
haitaol1
2014/01/07 19:03:37
origin == RETRY already indicates it's a retry GU,
rlarocque
2014/01/07 19:43:41
This would make the logic to detect retry GUs hard
haitaol1
2014/01/08 19:06:38
Done.
|
| // Fill in the notification hints. |
| for (int i = 0; i < get_updates->from_progress_marker_size(); ++i) { |
| @@ -294,26 +295,32 @@ void BuildDownloadUpdatesForConfigureImpl( |
| get_updates->set_get_updates_origin(origin); |
| } |
| -void BuildDownloadUpdatesForPoll( |
| +void BuildSupplementDownloadUpdates( |
| SyncSession* session, |
| bool create_mobile_bookmarks_folder, |
| ModelTypeSet request_types, |
| + sync_pb::SyncEnums::GetUpdatesOrigin gu_origin, |
| sync_pb::ClientToServerMessage* client_to_server_message) { |
| - DVLOG(1) << "Polling for types " |
| + DVLOG(1) << "Polling/Retrying for types " |
| << ModelTypeSetToString(request_types); |
| + DCHECK(gu_origin == sync_pb::SyncEnums::PERIODIC || |
| + gu_origin == sync_pb::SyncEnums::RETRY); |
| + |
| InitDownloadUpdatesContext( |
| session, |
| create_mobile_bookmarks_folder, |
| client_to_server_message); |
| - BuildDownloadUpdatesForPollImpl( |
| + BuildSupplementDownloadUpdatesImpl( |
| Intersection(request_types, ProtocolTypes()), |
| + gu_origin, |
| session->context()->update_handler_map(), |
| client_to_server_message->mutable_get_updates()); |
| } |
| -void BuildDownloadUpdatesForPollImpl( |
| +void BuildSupplementDownloadUpdatesImpl( |
|
rlarocque
2014/01/06 23:00:33
I realize this is a bit subjective, but I think th
haitaol1
2014/01/07 19:03:37
Done.
|
| ModelTypeSet proto_request_types, |
| + sync_pb::SyncEnums::GetUpdatesOrigin gu_origin, |
| UpdateHandlerMap* update_handler_map, |
| sync_pb::GetUpdatesMessage* get_updates) { |
| DCHECK(!proto_request_types.Empty()); |
| @@ -323,12 +330,16 @@ void BuildDownloadUpdatesForPollImpl( |
| update_handler_map, |
| get_updates); |
| - // Set legacy GetUpdatesMessage.GetUpdatesCallerInfo information. |
| - get_updates->mutable_caller_info()->set_source( |
| - sync_pb::GetUpdatesCallerInfo::PERIODIC); |
| - |
| - // Set the new and improved version of source, too. |
| - get_updates->set_get_updates_origin(sync_pb::SyncEnums::PERIODIC); |
| + // Set the new and improved version of source as well as the legacy |
| + // GetUpdatesMessage.GetUpdatesCallerInfo information. |
| + get_updates->set_get_updates_origin(gu_origin); |
| + if (gu_origin == sync_pb::SyncEnums::PERIODIC) { |
| + get_updates->mutable_caller_info()->set_source( |
| + sync_pb::GetUpdatesCallerInfo::PERIODIC); |
| + } else { |
| + get_updates->mutable_caller_info()->set_source( |
| + sync_pb::GetUpdatesCallerInfo::RETRY); |
| + } |
| } |
| SyncerError ExecuteDownloadUpdates( |