| Index: sync/notifier/sync_invalidation_listener.cc
|
| diff --git a/sync/notifier/sync_invalidation_listener.cc b/sync/notifier/sync_invalidation_listener.cc
|
| index ddb9e3518402af0d6a678de75ec77b7b8687f106..ed07f2070b7fdc4398758deacd2565c5d69f27ad 100644
|
| --- a/sync/notifier/sync_invalidation_listener.cc
|
| +++ b/sync/notifier/sync_invalidation_listener.cc
|
| @@ -205,7 +205,7 @@ void SyncInvalidationListener::Invalidate(
|
|
|
| ObjectIdSet ids;
|
| ids.insert(id);
|
| - PrepareInvalidation(ids, payload, client, ack_handle);
|
| + PrepareInvalidation(ids, invalidation.version(), payload, client, ack_handle);
|
| }
|
|
|
| void SyncInvalidationListener::InvalidateUnknownVersion(
|
| @@ -218,7 +218,12 @@ void SyncInvalidationListener::InvalidateUnknownVersion(
|
|
|
| ObjectIdSet ids;
|
| ids.insert(object_id);
|
| - PrepareInvalidation(ids, std::string(), client, ack_handle);
|
| + PrepareInvalidation(
|
| + ids,
|
| + Invalidation::kUnknownVersion,
|
| + std::string(),
|
| + client,
|
| + ack_handle);
|
| }
|
|
|
| // This should behave as if we got an invalidation with version
|
| @@ -230,11 +235,17 @@ void SyncInvalidationListener::InvalidateAll(
|
| DCHECK_EQ(client, invalidation_client_.get());
|
| DVLOG(1) << "InvalidateAll";
|
|
|
| - PrepareInvalidation(registered_ids_, std::string(), client, ack_handle);
|
| + PrepareInvalidation(
|
| + registered_ids_,
|
| + Invalidation::kUnknownVersion,
|
| + std::string(),
|
| + client,
|
| + ack_handle);
|
| }
|
|
|
| void SyncInvalidationListener::PrepareInvalidation(
|
| const ObjectIdSet& ids,
|
| + int64 version,
|
| const std::string& payload,
|
| invalidation::InvalidationClient* client,
|
| const invalidation::AckHandle& ack_handle) {
|
| @@ -250,6 +261,7 @@ void SyncInvalidationListener::PrepareInvalidation(
|
| base::Bind(&SyncInvalidationListener::EmitInvalidation,
|
| weak_ptr_factory_.GetWeakPtr(),
|
| ids,
|
| + version,
|
| payload,
|
| client,
|
| ack_handle));
|
| @@ -257,13 +269,14 @@ void SyncInvalidationListener::PrepareInvalidation(
|
|
|
| void SyncInvalidationListener::EmitInvalidation(
|
| const ObjectIdSet& ids,
|
| + int64 version,
|
| const std::string& payload,
|
| invalidation::InvalidationClient* client,
|
| const invalidation::AckHandle& ack_handle,
|
| const AckHandleMap& local_ack_handles) {
|
| DCHECK(CalledOnValidThread());
|
| ObjectIdInvalidationMap invalidation_map =
|
| - ObjectIdSetToInvalidationMap(ids, payload);
|
| + ObjectIdSetToInvalidationMap(ids, version, payload);
|
| for (AckHandleMap::const_iterator it = local_ack_handles.begin();
|
| it != local_ack_handles.end(); ++it) {
|
| // Update in-memory copy of the invalidation state.
|
| @@ -280,6 +293,7 @@ void SyncInvalidationListener::OnTimeout(const ObjectIdSet& ids) {
|
| for (ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) {
|
| Invalidation invalidation;
|
| invalidation.ack_handle = invalidation_state_map_[*it].expected;
|
| + invalidation.version = invalidation_state_map_[*it].version;
|
| invalidation.payload = invalidation_state_map_[*it].payload;
|
| invalidation_map.insert(std::make_pair(*it, invalidation));
|
| }
|
|
|