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 |