| 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
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a3dd9550ab0f23afe26320c6585e0a1e4a3d571d
|
| --- /dev/null
|
| +++ b/chrome/browser/sync/test/integration/fake_server_invalidation_service.cc
|
| @@ -0,0 +1,87 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/sync/test/integration/fake_server_invalidation_service.h"
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/macros.h"
|
| +#include "chrome/browser/invalidation/invalidation_service_util.h"
|
| +#include "sync/internal_api/public/base/invalidation.h"
|
| +#include "sync/internal_api/public/base/model_type.h"
|
| +#include "sync/notifier/object_id_invalidation_map.h"
|
| +#
|
| +
|
| +namespace fake_server {
|
| +
|
| +FakeServerInvalidationService::FakeServerInvalidationService()
|
| + : client_id_(invalidation::GenerateInvalidatorClientId()),
|
| + identity_provider_(&token_service_) {
|
| + invalidator_registrar_.UpdateInvalidatorState(syncer::INVALIDATIONS_ENABLED);
|
| +}
|
| +
|
| +FakeServerInvalidationService::~FakeServerInvalidationService() {
|
| +}
|
| +
|
| +// static
|
| +KeyedService* FakeServerInvalidationService::Build(
|
| + content::BrowserContext* context) {
|
| + return new FakeServerInvalidationService();
|
| +}
|
| +
|
| +void FakeServerInvalidationService::RegisterInvalidationHandler(
|
| + syncer::InvalidationHandler* handler) {
|
| + invalidator_registrar_.RegisterHandler(handler);
|
| +}
|
| +
|
| +void FakeServerInvalidationService::UpdateRegisteredInvalidationIds(
|
| + syncer::InvalidationHandler* handler,
|
| + const syncer::ObjectIdSet& ids) {
|
| + invalidator_registrar_.UpdateRegisteredIds(handler, ids);
|
| +}
|
| +
|
| +void FakeServerInvalidationService::UnregisterInvalidationHandler(
|
| + syncer::InvalidationHandler* handler) {
|
| + invalidator_registrar_.UnregisterHandler(handler);
|
| +}
|
| +
|
| +syncer::InvalidatorState FakeServerInvalidationService::GetInvalidatorState()
|
| + const {
|
| + return invalidator_registrar_.GetInvalidatorState();
|
| +}
|
| +
|
| +std::string FakeServerInvalidationService::GetInvalidatorClientId() const {
|
| + return client_id_;
|
| +}
|
| +
|
| +invalidation::InvalidationLogger*
|
| +FakeServerInvalidationService::GetInvalidationLogger() {
|
| + return NULL;
|
| +}
|
| +
|
| +void FakeServerInvalidationService::RequestDetailedStatus(
|
| + base::Callback<void(const base::DictionaryValue&)> caller) const {
|
| + base::DictionaryValue value;
|
| + caller.Run(value);
|
| +}
|
| +
|
| +IdentityProvider* FakeServerInvalidationService::GetIdentityProvider() {
|
| + return &identity_provider_;
|
| +}
|
| +
|
| +void FakeServerInvalidationService::OnCommit(
|
| + syncer::ModelTypeSet committed_model_types) {
|
| + syncer::ObjectIdSet object_ids = syncer::ModelTypeSetToObjectIdSet(
|
| + committed_model_types);
|
| + syncer::ObjectIdInvalidationMap invalidation_map;
|
| + for (syncer::ObjectIdSet::const_iterator it = object_ids.begin();
|
| + 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));
|
| + }
|
| + invalidator_registrar_.DispatchInvalidationsToHandlers(invalidation_map);
|
| +}
|
| +
|
| +} // namespace fake_server
|
|
|