Index: chrome/browser/invalidation/invalidation_service_android.cc |
diff --git a/chrome/browser/invalidation/invalidation_service_android.cc b/chrome/browser/invalidation/invalidation_service_android.cc |
index b12f1237388bc1cb7879037c64cfd7d49f717e54..7e03cc2bc5d1ff363ad305ba162dc2b53cae8a28 100644 |
--- a/chrome/browser/invalidation/invalidation_service_android.cc |
+++ b/chrome/browser/invalidation/invalidation_service_android.cc |
@@ -5,13 +5,18 @@ |
#include "chrome/browser/invalidation/invalidation_service_android.h" |
#include "chrome/browser/chrome_notification_types.h" |
+#include "chrome/browser/invalidation/invalidation_controller_android.h" |
#include "content/public/browser/notification_service.h" |
namespace invalidation { |
-InvalidationServiceAndroid::InvalidationServiceAndroid(Profile* profile) |
- : invalidator_state_(syncer::INVALIDATIONS_ENABLED) { |
+InvalidationServiceAndroid::InvalidationServiceAndroid( |
+ Profile* profile, |
+ InvalidationControllerAndroid* invalidation_controller) |
+ : invalidator_state_(syncer::INVALIDATIONS_ENABLED), |
+ invalidation_controller_(invalidation_controller) { |
DCHECK(CalledOnValidThread()); |
+ DCHECK(invalidation_controller); |
registrar_.Add(this, chrome::NOTIFICATION_SYNC_REFRESH_REMOTE, |
content::Source<Profile>(profile)); |
} |
@@ -29,6 +34,8 @@ void InvalidationServiceAndroid::UpdateRegisteredInvalidationIds( |
const syncer::ObjectIdSet& ids) { |
DCHECK(CalledOnValidThread()); |
invalidator_registrar_.UpdateRegisteredIds(handler, ids); |
+ invalidation_controller_->SetRegisteredObjectIds( |
+ invalidator_registrar_.GetAllRegisteredIds()); |
} |
void InvalidationServiceAndroid::UnregisterInvalidationHandler( |