summaryrefslogtreecommitdiffstats
path: root/chrome/browser/invalidation
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-12 03:10:08 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-12 03:10:08 +0000
commitc56ab902b31a85347910c5f975508862832a57d5 (patch)
treef348e1e5fa9df866264339bb1452654c4ce2f950 /chrome/browser/invalidation
parentd56228dfe042da4946a7ca52e6e3bdada257963e (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/invalidation/invalidation_service_android.cc10
-rw-r--r--chrome/browser/invalidation/invalidation_service_android_unittest.cc6
-rw-r--r--chrome/browser/invalidation/invalidation_service_test_template.h6
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*