diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-12 03:10:08 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-12 03:10:08 +0000 |
commit | c56ab902b31a85347910c5f975508862832a57d5 (patch) | |
tree | f348e1e5fa9df866264339bb1452654c4ce2f950 /chrome/browser/invalidation | |
parent | d56228dfe042da4946a7ca52e6e3bdada257963e (diff) | |
download | chromium_src-c56ab902b31a85347910c5f975508862832a57d5.zip chromium_src-c56ab902b31a85347910c5f975508862832a57d5.tar.gz chromium_src-c56ab902b31a85347910c5f975508862832a57d5.tar.bz2 |
Use simpler types in invalidation notifications
Change the detail type of NOTIFICATION_SYNC_REFRESH_LOCAL notifications
from ModelTypeInvaliationMap to ModelTypeSet. The map was unnecessary
because these notifications never include a payload.
Change the detail types of NOTIFICATION_SYNC_REFRESH_REMOTE
notifications from ModelTypeSet to ObjectIdInvalidationMap. This will
allow the Android invalidator to forward invalidations that are not
associated with sync types.
TBR=jhawkins
BUG=224161
Review URL: https://chromiumcodereview.appspot.com/18405002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211301 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/invalidation')
3 files changed, 6 insertions, 16 deletions
diff --git a/chrome/browser/invalidation/invalidation_service_android.cc b/chrome/browser/invalidation/invalidation_service_android.cc index 7336d36..06cf3e7 100644 --- a/chrome/browser/invalidation/invalidation_service_android.cc +++ b/chrome/browser/invalidation/invalidation_service_android.cc @@ -63,16 +63,10 @@ void InvalidationServiceAndroid::Observe( DCHECK(CalledOnValidThread()); 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> + content::Details<const syncer::ObjectIdInvalidationMap> state_details(details); - const syncer::ModelTypeInvalidationMap& model_type_invalidation_map = + const syncer::ObjectIdInvalidationMap object_invalidation_map = *(state_details.ptr()); - syncer::ObjectIdInvalidationMap object_invalidation_map = - ModelTypeInvalidationMapToObjectIdInvalidationMap( - model_type_invalidation_map); // An empty map implies that we should invalidate all. const syncer::ObjectIdInvalidationMap& effective_invalidation_map = diff --git a/chrome/browser/invalidation/invalidation_service_android_unittest.cc b/chrome/browser/invalidation/invalidation_service_android_unittest.cc index c766d79..af9de1d 100644 --- a/chrome/browser/invalidation/invalidation_service_android_unittest.cc +++ b/chrome/browser/invalidation/invalidation_service_android_unittest.cc @@ -41,13 +41,11 @@ class InvalidationServiceAndroidTestDelegate { void TriggerOnIncomingInvalidation( const syncer::ObjectIdInvalidationMap& invalidation_map) { - syncer::ModelTypeInvalidationMap model_invalidation_map = - ObjectIdInvalidationMapToModelTypeInvalidationMap(invalidation_map); content::NotificationService::current()->Notify( chrome::NOTIFICATION_SYNC_REFRESH_REMOTE, content::Source<Profile>(profile_.get()), - content::Details<const syncer::ModelTypeInvalidationMap>( - &model_invalidation_map)); + content::Details<const syncer::ObjectIdInvalidationMap>( + &invalidation_map)); } scoped_ptr<TestingProfile> profile_; diff --git a/chrome/browser/invalidation/invalidation_service_test_template.h b/chrome/browser/invalidation/invalidation_service_test_template.h index baad132..85a467c 100644 --- a/chrome/browser/invalidation/invalidation_service_test_template.h +++ b/chrome/browser/invalidation/invalidation_service_test_template.h @@ -84,14 +84,12 @@ template <typename InvalidatorTestDelegate> class InvalidationServiceTest : public testing::Test { protected: - // Note: The IDs defined below must be valid. Otherwise they won't make it - // through the round-trip to ModelTypeInvalidationMap and back that the - // AndroidInvalidation test requires. InvalidationServiceTest() : id1(ipc::invalidation::ObjectSource::CHROME_SYNC, "BOOKMARK"), id2(ipc::invalidation::ObjectSource::CHROME_SYNC, "PREFERENCE"), id3(ipc::invalidation::ObjectSource::CHROME_SYNC, "AUTOFILL"), - id4(ipc::invalidation::ObjectSource::CHROME_SYNC, "EXPERIMENTS") { + id4(ipc::invalidation::ObjectSource::CHROME_PUSH_MESSAGING, + "PUSH_MESSAGE") { } invalidation::InvalidationService* |