Index: sync/engine/syncer.cc |
diff --git a/sync/engine/syncer.cc b/sync/engine/syncer.cc |
index 13e1f7926184994fc9e573b90c916207969c3496..e75c1c691c3a0c2a18bf54787901e46117cfd581 100644 |
--- a/sync/engine/syncer.cc |
+++ b/sync/engine/syncer.cc |
@@ -57,7 +57,7 @@ bool Syncer::NormalSyncShare(ModelTypeSet request_types, |
SyncSession* session) { |
HandleCycleBegin(session); |
VLOG(1) << "Downloading types " << ModelTypeSetToString(request_types); |
- if (nudge_tracker.IsGetUpdatesRequired() || |
+ if (nudge_tracker.IsGetUpdatesRequired(base::TimeTicks::Now()) || |
session->context()->ShouldFetchUpdatesBeforeCommit()) { |
if (!DownloadAndApplyUpdates( |
request_types, |
@@ -109,6 +109,20 @@ bool Syncer::PollSyncShare(ModelTypeSet request_types, |
return HandleCycleEnd(session, sync_pb::GetUpdatesCallerInfo::PERIODIC); |
} |
+bool Syncer::RetrySyncShare(ModelTypeSet request_types, |
+ SyncSession* session) { |
+ HandleCycleBegin(session); |
+ VLOG(1) << "Retrying types " << ModelTypeSetToString(request_types); |
+ DownloadAndApplyUpdates( |
+ request_types, |
+ session, |
+ base::Bind(&download::BuildDownloadUpdatesForRetry, |
+ session, |
+ kCreateMobileBookmarksFolder, |
+ request_types)); |
+ return HandleCycleEnd(session, sync_pb::GetUpdatesCallerInfo::RETRY); |
+} |
+ |
void Syncer::ApplyUpdates(SyncSession* session) { |
TRACE_EVENT0("sync", "ApplyUpdates"); |