| 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..befe6d4690b73c6bd8100f8d6dd0b3c221dd245f 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,16 @@ IdentityProvider* FakeServerInvalidationService::GetIdentityProvider() {
|
| return &identity_provider_;
|
| }
|
|
|
| +void FakeServerInvalidationService::EnableSelfNotifications() {
|
| + self_notify_ = true;
|
| +}
|
| +
|
| +void FakeServerInvalidationService::DisableSelfNotifications() {
|
| + self_notify_ = false;
|
| +}
|
| +
|
| void FakeServerInvalidationService::OnCommit(
|
| + const std::string& committer_id,
|
| syncer::ModelTypeSet committed_model_types) {
|
| syncer::ObjectIdSet object_ids = syncer::ModelTypeSetToObjectIdSet(
|
| committed_model_types);
|
| @@ -79,7 +89,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);
|
| }
|
|
|