summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/notifier
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 01:29:01 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-17 01:29:01 +0000
commit315cc09d944e53adab3d62c708bcaba9df446355 (patch)
treeb1e3ddda9edff19377501239d027a425402c1c6c /chrome/browser/sync/notifier
parent21129ec446e74966d3b1edbcdb37bbaf31c5fc40 (diff)
downloadchromium_src-315cc09d944e53adab3d62c708bcaba9df446355.zip
chromium_src-315cc09d944e53adab3d62c708bcaba9df446355.tar.gz
chromium_src-315cc09d944e53adab3d62c708bcaba9df446355.tar.bz2
Made server_notifier_thread listen to UNKNOWN data type.
This is a temporary workaround so that server-issued notifications work for new sync data types. BUG=none TEST=manual Review URL: http://codereview.chromium.org/3114012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56290 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/notifier')
-rw-r--r--chrome/browser/sync/notifier/chrome_invalidation_client.cc4
-rw-r--r--chrome/browser/sync/notifier/registration_manager.cc3
-rw-r--r--chrome/browser/sync/notifier/server_notifier_thread.cc9
3 files changed, 13 insertions, 3 deletions
diff --git a/chrome/browser/sync/notifier/chrome_invalidation_client.cc b/chrome/browser/sync/notifier/chrome_invalidation_client.cc
index f183e61..6701261 100644
--- a/chrome/browser/sync/notifier/chrome_invalidation_client.cc
+++ b/chrome/browser/sync/notifier/chrome_invalidation_client.cc
@@ -76,6 +76,10 @@ void ChromeInvalidationClient::RegisterTypes() {
i < syncable::MODEL_TYPE_COUNT; ++i) {
registration_manager_->RegisterType(syncable::ModelTypeFromInt(i));
}
+ // TODO(akalin): This is a hack to make new sync data types work
+ // with server-issued notifications. Remove this when it's not
+ // needed anymore.
+ registration_manager_->RegisterType(syncable::UNSPECIFIED);
}
void ChromeInvalidationClient::Invalidate(
diff --git a/chrome/browser/sync/notifier/registration_manager.cc b/chrome/browser/sync/notifier/registration_manager.cc
index 3895c91..ccadac4 100644
--- a/chrome/browser/sync/notifier/registration_manager.cc
+++ b/chrome/browser/sync/notifier/registration_manager.cc
@@ -60,8 +60,7 @@ void RegistrationManager::MarkRegistrationLost(
RegistrationStatusMap::iterator it =
registration_status_.find(model_type);
if (it == registration_status_.end()) {
- LOG(ERROR) << "Unknown model type: "
- << syncable::ModelTypeToString(model_type);
+ LOG(ERROR) << "Unknown model type: " << model_type;
return;
}
it->second = UNREGISTERED;
diff --git a/chrome/browser/sync/notifier/server_notifier_thread.cc b/chrome/browser/sync/notifier/server_notifier_thread.cc
index 19417f9..8b2aba3 100644
--- a/chrome/browser/sync/notifier/server_notifier_thread.cc
+++ b/chrome/browser/sync/notifier/server_notifier_thread.cc
@@ -55,7 +55,14 @@ void ServerNotifierThread::SendNotification(
void ServerNotifierThread::OnInvalidate(syncable::ModelType model_type) {
DCHECK_EQ(MessageLoop::current(), worker_message_loop());
- LOG(INFO) << "OnInvalidate: " << syncable::ModelTypeToString(model_type);
+ // TODO(akalin): This is a hack to make new sync data types work
+ // with server-issued notifications. Remove this when it's not
+ // needed anymore.
+ if (model_type == syncable::UNSPECIFIED) {
+ LOG(INFO) << "OnInvalidate: UNKNOWN";
+ } else {
+ LOG(INFO) << "OnInvalidate: " << syncable::ModelTypeToString(model_type);
+ }
// TODO(akalin): Signal notification only for the invalidated types.
parent_message_loop_->PostTask(
FROM_HERE,