Index: chrome/browser/sync/test/integration/fake_server_invalidation_service.cc |
diff --git a/chrome/browser/sync/test/integration/fake_server_invalidation_service.cc b/chrome/browser/sync/test/integration/fake_server_invalidation_service.cc |
index 3569c79c97c60648471692494e19656c1d44b5ed..17c4b0bb30e49748033edf2e9f019f7c9dc977b1 100644 |
--- a/chrome/browser/sync/test/integration/fake_server_invalidation_service.cc |
+++ b/chrome/browser/sync/test/integration/fake_server_invalidation_service.cc |
@@ -17,6 +17,7 @@ namespace fake_server { |
FakeServerInvalidationService::FakeServerInvalidationService() |
: client_id_(invalidation::GenerateInvalidatorClientId()), |
+ self_notify_(true), |
identity_provider_(&token_service_) { |
invalidator_registrar_.UpdateInvalidatorState(syncer::INVALIDATIONS_ENABLED); |
} |
@@ -70,7 +71,12 @@ IdentityProvider* FakeServerInvalidationService::GetIdentityProvider() { |
return &identity_provider_; |
} |
+void FakeServerInvalidationService::SetSelfNotificationsEnabled(bool enabled) { |
+ self_notify_ = enabled; |
+} |
+ |
void FakeServerInvalidationService::OnCommit( |
+ const std::string& committer_id, |
syncer::ModelTypeSet committed_model_types) { |
syncer::ObjectIdSet object_ids = syncer::ModelTypeSetToObjectIdSet( |
committed_model_types); |
@@ -79,7 +85,10 @@ void FakeServerInvalidationService::OnCommit( |
it != object_ids.end(); ++it) { |
// TODO(pvalenzuela): Create more refined invalidations instead of |
// invalidating all items of a given type. |
- invalidation_map.Insert(syncer::Invalidation::InitUnknownVersion(*it)); |
+ |
+ if (self_notify_ || client_id_ != committer_id) { |
+ invalidation_map.Insert(syncer::Invalidation::InitUnknownVersion(*it)); |
+ } |
} |
invalidator_registrar_.DispatchInvalidationsToHandlers(invalidation_map); |
} |