Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3145)

Unified Diff: chrome/browser/sync/glue/android_invalidator_bridge.cc

Issue 15580002: Make use of InvalidationService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/android_invalidator_bridge.cc
diff --git a/chrome/browser/sync/glue/android_invalidator_bridge.cc b/chrome/browser/sync/glue/android_invalidator_bridge.cc
deleted file mode 100644
index 31cd87e32c9831aa6515514e03bbd2169f4fd4ac..0000000000000000000000000000000000000000
--- a/chrome/browser/sync/glue/android_invalidator_bridge.cc
+++ /dev/null
@@ -1,219 +0,0 @@
-// Copyright (c) 2012 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/glue/android_invalidator_bridge.h"
-
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/notification_service.h"
-#include "sync/internal_api/public/base/model_type.h"
-#include "sync/notifier/invalidation_handler.h"
-#include "sync/notifier/invalidator_registrar.h"
-
-using content::BrowserThread;
-
-namespace browser_sync {
-
-class AndroidInvalidatorBridge::Core
- : public base::RefCountedThreadSafe<Core> {
- public:
- // Created on UI thread.
- explicit Core(
- const scoped_refptr<base::SequencedTaskRunner>& sync_task_runner);
-
- // All member functions below must be called on the sync task runner.
-
- void InitializeOnSyncThread();
- void CleanupOnSyncThread();
-
- void RegisterHandler(syncer::InvalidationHandler* handler);
- void UpdateRegisteredIds(syncer::InvalidationHandler* handler,
- const syncer::ObjectIdSet& ids);
- void UnregisterHandler(syncer::InvalidationHandler* handler);
-
- void EmitInvalidation(
- const syncer::ObjectIdInvalidationMap& invalidation_map);
-
- bool IsHandlerRegisteredForTest(syncer::InvalidationHandler* handler) const;
- syncer::ObjectIdSet GetRegisteredIdsForTest(
- syncer::InvalidationHandler* handler) const;
-
- private:
- friend class base::RefCountedThreadSafe<Core>;
-
- // Destroyed on the UI thread or on |sync_task_runner_|.
- ~Core();
-
- const scoped_refptr<base::SequencedTaskRunner> sync_task_runner_;
-
- // Used only on |sync_task_runner_|.
- scoped_ptr<syncer::InvalidatorRegistrar> invalidator_registrar_;
-};
-
-AndroidInvalidatorBridge::Core::Core(
- const scoped_refptr<base::SequencedTaskRunner>& sync_task_runner)
- : sync_task_runner_(sync_task_runner) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(sync_task_runner_.get());
-}
-
-AndroidInvalidatorBridge::Core::~Core() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
- sync_task_runner_->RunsTasksOnCurrentThread());
- DCHECK(!invalidator_registrar_.get());
-}
-
-void AndroidInvalidatorBridge::Core::InitializeOnSyncThread() {
- invalidator_registrar_.reset(new syncer::InvalidatorRegistrar());
-}
-
-void AndroidInvalidatorBridge::Core::CleanupOnSyncThread() {
- invalidator_registrar_.reset();
-}
-
-void AndroidInvalidatorBridge::Core::RegisterHandler(
- syncer::InvalidationHandler* handler) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- invalidator_registrar_->RegisterHandler(handler);
-}
-
-void AndroidInvalidatorBridge::Core::UpdateRegisteredIds(
- syncer::InvalidationHandler* handler,
- const syncer::ObjectIdSet& ids) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- invalidator_registrar_->UpdateRegisteredIds(handler, ids);
-}
-
-void AndroidInvalidatorBridge::Core::UnregisterHandler(
- syncer::InvalidationHandler* handler) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- invalidator_registrar_->UnregisterHandler(handler);
-}
-
-void AndroidInvalidatorBridge::Core::EmitInvalidation(
- const syncer::ObjectIdInvalidationMap& invalidation_map) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- const syncer::ObjectIdInvalidationMap& effective_invalidation_map =
- invalidation_map.empty() ?
- ObjectIdSetToInvalidationMap(
- invalidator_registrar_->GetAllRegisteredIds(), std::string()) :
- invalidation_map;
-
- invalidator_registrar_->DispatchInvalidationsToHandlers(
- effective_invalidation_map);
-}
-
-bool AndroidInvalidatorBridge::Core::IsHandlerRegisteredForTest(
- syncer::InvalidationHandler* handler) const {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- return invalidator_registrar_->IsHandlerRegisteredForTest(handler);
-}
-
-syncer::ObjectIdSet
-AndroidInvalidatorBridge::Core::GetRegisteredIdsForTest(
- syncer::InvalidationHandler* handler) const {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- return invalidator_registrar_->GetRegisteredIds(handler);
-}
-
-AndroidInvalidatorBridge::AndroidInvalidatorBridge(
- const Profile* profile,
- const scoped_refptr<base::SequencedTaskRunner>& sync_task_runner)
- : sync_task_runner_(sync_task_runner),
- core_(new Core(sync_task_runner_)) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(profile);
- registrar_.Add(this, chrome::NOTIFICATION_SYNC_REFRESH_REMOTE,
- content::Source<Profile>(profile));
-
- if (!sync_task_runner_->PostTask(
- FROM_HERE, base::Bind(&Core::InitializeOnSyncThread, core_))) {
- NOTREACHED();
- }
-}
-
-AndroidInvalidatorBridge::~AndroidInvalidatorBridge() {}
-
-void AndroidInvalidatorBridge::StopForShutdown() {
- if (!sync_task_runner_->PostTask(
- FROM_HERE, base::Bind(&Core::CleanupOnSyncThread, core_))) {
- NOTREACHED();
- }
-}
-
-void AndroidInvalidatorBridge::RegisterHandler(
- syncer::InvalidationHandler* handler) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- core_->RegisterHandler(handler);
-}
-
-void AndroidInvalidatorBridge::UpdateRegisteredIds(
- syncer::InvalidationHandler* handler,
- const syncer::ObjectIdSet& ids) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- core_->UpdateRegisteredIds(handler, ids);
-}
-
-void AndroidInvalidatorBridge::UnregisterHandler(
- syncer::InvalidationHandler* handler) {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- core_->UnregisterHandler(handler);
-}
-
-void AndroidInvalidatorBridge::Acknowledge(
- const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) {
- // Do nothing.
-}
-
-syncer::InvalidatorState AndroidInvalidatorBridge::GetInvalidatorState() const {
- return syncer::INVALIDATIONS_ENABLED;
-}
-
-void AndroidInvalidatorBridge::UpdateCredentials(
- const std::string& email, const std::string& token) { }
-
-void AndroidInvalidatorBridge::SendInvalidation(
- const syncer::ObjectIdInvalidationMap& invalidation_map) { }
-
-bool AndroidInvalidatorBridge::IsHandlerRegisteredForTest(
- syncer::InvalidationHandler* handler) const {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- return core_->IsHandlerRegisteredForTest(handler);
-}
-
-syncer::ObjectIdSet AndroidInvalidatorBridge::GetRegisteredIdsForTest(
- syncer::InvalidationHandler* handler) const {
- DCHECK(sync_task_runner_->RunsTasksOnCurrentThread());
- return core_->GetRegisteredIdsForTest(handler);
-}
-
-void AndroidInvalidatorBridge::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK_EQ(type, chrome::NOTIFICATION_SYNC_REFRESH_REMOTE);
-
- // TODO(akalin): Use ObjectIdInvalidationMap here instead. We'll have to
- // make sure all emitters of the relevant notifications also use
- // ObjectIdInvalidationMap.
- content::Details<const syncer::ModelTypeInvalidationMap>
- state_details(details);
- const syncer::ModelTypeInvalidationMap& invalidation_map =
- *(state_details.ptr());
- if (!sync_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&Core::EmitInvalidation,
- core_,
- ModelTypeInvalidationMapToObjectIdInvalidationMap(
- invalidation_map)))) {
- NOTREACHED();
- }
-}
-
-} // namespace browser_sync
« no previous file with comments | « chrome/browser/sync/glue/android_invalidator_bridge.h ('k') | chrome/browser/sync/glue/android_invalidator_bridge_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698