Index: sync/syncable/model_type.cc |
diff --git a/sync/syncable/model_type.cc b/sync/syncable/model_type.cc |
index 1674206c294344cf2a13bbfdb6d3ea1370721fa6..e4993a47017f3a739a07d1a522438e1bea6be43f 100644 |
--- a/sync/syncable/model_type.cc |
+++ b/sync/syncable/model_type.cc |
@@ -73,6 +73,9 @@ void AddDefaultFieldValue(ModelType datatype, |
case APP_NOTIFICATIONS: |
specifics->mutable_app_notification(); |
break; |
+ case DEVICE_INFO: |
+ specifics->mutable_device_info(); |
+ break; |
default: |
NOTREACHED() << "No known extension for model type."; |
} |
@@ -135,6 +138,9 @@ int GetSpecificsFieldNumberFromModelType(ModelType model_type) { |
case APP_NOTIFICATIONS: |
return sync_pb::EntitySpecifics::kAppNotificationFieldNumber; |
break; |
+ case DEVICE_INFO: |
+ return sync_pb::EntitySpecifics::kDeviceInfoFieldNumber; |
+ break; |
default: |
NOTREACHED() << "No known extension for model type."; |
return 0; |
@@ -227,6 +233,9 @@ ModelType GetModelTypeFromSpecifics(const sync_pb::EntitySpecifics& specifics) { |
if (specifics.has_app_notification()) |
return APP_NOTIFICATIONS; |
+ if (specifics.has_device_info()) |
+ return DEVICE_INFO; |
+ |
return UNSPECIFIED; |
} |
@@ -247,6 +256,10 @@ ModelTypeSet ControlTypes() { |
for (int i = FIRST_CONTROL_MODEL_TYPE; i <= LAST_CONTROL_MODEL_TYPE; ++i) { |
set.Put(ModelTypeFromInt(i)); |
} |
+ |
+ // TODO(rlarocque): Re-enable this when the server supports it. |
+ set.Remove(DEVICE_INFO); |
+ |
return set; |
} |
@@ -293,6 +306,8 @@ const char* ModelTypeToString(ModelType model_type) { |
return "Extension settings"; |
case APP_NOTIFICATIONS: |
return "App Notifications"; |
+ case DEVICE_INFO: |
+ return "Device Info"; |
default: |
break; |
} |
@@ -358,6 +373,8 @@ ModelType ModelTypeFromString(const std::string& model_type_string) { |
return EXTENSION_SETTINGS; |
else if (model_type_string == "App Notifications") |
return APP_NOTIFICATIONS; |
+ else if (model_type_string == "Device Info") |
+ return DEVICE_INFO; |
else |
NOTREACHED() << "No known model type corresponding to " |
<< model_type_string << "."; |
@@ -426,6 +443,8 @@ std::string ModelTypeToRootTag(ModelType type) { |
return "google_chrome_extension_settings"; |
case APP_NOTIFICATIONS: |
return "google_chrome_app_notifications"; |
+ case DEVICE_INFO: |
+ return "google_chrome_device_info"; |
default: |
break; |
} |
@@ -451,6 +470,7 @@ const char kSearchEngineNotificationType[] = "SEARCH_ENGINE"; |
const char kSessionNotificationType[] = "SESSION"; |
const char kAutofillProfileNotificationType[] = "AUTOFILL_PROFILE"; |
const char kAppNotificationNotificationType[] = "APP_NOTIFICATION"; |
+const char kDeviceInfoNotificationType[] = "DEVICE_INFO"; |
} // namespace |
bool RealModelTypeToNotificationType(ModelType model_type, |
@@ -501,6 +521,9 @@ bool RealModelTypeToNotificationType(ModelType model_type, |
case APP_NOTIFICATIONS: |
*notification_type = kAppNotificationNotificationType; |
return true; |
+ case DEVICE_INFO: |
+ *notification_type = kDeviceInfoNotificationType; |
+ return true; |
default: |
break; |
} |
@@ -555,6 +578,9 @@ bool NotificationTypeToRealModelType(const std::string& notification_type, |
} else if (notification_type == kAppNotificationNotificationType) { |
*model_type = APP_NOTIFICATIONS; |
return true; |
+ } else if (notification_type == kDeviceInfoNotificationType) { |
+ *model_type = DEVICE_INFO;; |
+ return true; |
} else { |
*model_type = UNSPECIFIED; |
return false; |