diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-25 01:47:46 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-25 01:47:46 +0000 |
commit | 1691f004283eca700aa101b784bdec5a8c3b24cb (patch) | |
tree | 51686e63df183d4ea60fb38be4400db97fedbf18 /chrome/browser/invalidation/invalidation_service_android.h | |
parent | 9f9309fbb4f1ff34330a9ba3879011cad09f05e5 (diff) | |
download | chromium_src-1691f004283eca700aa101b784bdec5a8c3b24cb.zip chromium_src-1691f004283eca700aa101b784bdec5a8c3b24cb.tar.gz chromium_src-1691f004283eca700aa101b784bdec5a8c3b24cb.tar.bz2 |
Revert 208315 "Make use of InvalidationService"
> Make use of InvalidationService
>
> The InvalidationService was introduced r199520. That commit added the
> InvalidationService interface and several implementations of it, but
> made no use of the new code. This commit builds on that work.
>
> Up until now, TICL invalidations were handled on the sync thread. The
> related objects were instantiated and owned by the SyncBackendHost and
> SyncManager. All requests to update the set of object registrations had
> to be passed to the sync thread. Components that wanted to receive
> invalidations but were not part of sync had to route their communication
> with the invalidations server through ProfileSyncService to get to the
> sync thread. Things were a bit different on Android, but the system
> still tried to pretend that invalidations were owned by the sync thread.
>
> The new InvalidationService implementation is a ProfileKeyedService that
> is mostly independent from sync. It still relies on sync to manage sign
> in and fetch the appropriate auth tokens. However, it's now much easier
> for components outside of sync to communication with the invalidations
> server.
>
> The new system allows us to remove a lot of invalidations-related code
> from the ProfileSyncService, SyncBackendHost and SyncManager. Sync is
> now just one of many clients of the InvalidationService. The
> SyncBackendHost is responsible for forwarding messages back and forth
> between the InvalidationService and the sync thread.
>
> TBR=sky,erg
> BUG=124137
>
> Review URL: https://chromiumcodereview.appspot.com/15580002
TBR=rlarocque@chromium.org
Review URL: https://codereview.chromium.org/17610004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208347 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/invalidation/invalidation_service_android.h')
-rw-r--r-- | chrome/browser/invalidation/invalidation_service_android.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/chrome/browser/invalidation/invalidation_service_android.h b/chrome/browser/invalidation/invalidation_service_android.h index 244b1e7..6daef6a 100644 --- a/chrome/browser/invalidation/invalidation_service_android.h +++ b/chrome/browser/invalidation/invalidation_service_android.h @@ -8,7 +8,7 @@ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/threading/non_thread_safe.h" -#include "chrome/browser/invalidation/invalidation_service.h" +#include "chrome/browser/invalidation/invalidation_frontend.h" #include "components/browser_context_keyed_service/browser_context_keyed_service.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/notification_registrar.h" @@ -24,7 +24,8 @@ namespace invalidation { // around Android's invalidations service. class InvalidationServiceAndroid : public base::NonThreadSafe, - public InvalidationService, + public BrowserContextKeyedService, + public InvalidationFrontend, public content::NotificationObserver { public: explicit InvalidationServiceAndroid(Profile* profile); @@ -46,7 +47,7 @@ class InvalidationServiceAndroid const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) OVERRIDE; virtual syncer::InvalidatorState GetInvalidatorState() const OVERRIDE; - virtual std::string GetInvalidatorClientId() const OVERRIDE; + virtual std::string GetInvalidatorClientId() const; // content::NotificationObserver implementation. virtual void Observe(int type, |