| Index: sync/syncable/model_type.cc
|
| diff --git a/sync/syncable/model_type.cc b/sync/syncable/model_type.cc
|
| index a6ee40957e0b5bbc3bdf51838dc1d89d7e1f2abb..1b0bee44cc32ecc7731da35ca4b6b8444b71661a 100644
|
| --- a/sync/syncable/model_type.cc
|
| +++ b/sync/syncable/model_type.cc
|
| @@ -85,6 +85,9 @@ void AddDefaultFieldValue(ModelType datatype,
|
| case EXPERIMENTS:
|
| specifics->mutable_experiments();
|
| break;
|
| + case PRIORITY_PREFERENCES:
|
| + specifics->mutable_priority_preference();
|
| + break;
|
| default:
|
| NOTREACHED() << "No known extension for model type.";
|
| }
|
| @@ -156,6 +159,9 @@ int GetSpecificsFieldNumberFromModelType(ModelType model_type) {
|
| case EXPERIMENTS:
|
| return sync_pb::EntitySpecifics::kExperimentsFieldNumber;
|
| break;
|
| + case PRIORITY_PREFERENCES:
|
| + return sync_pb::EntitySpecifics::kPriorityPreferenceFieldNumber;
|
| + break;
|
| default:
|
| NOTREACHED() << "No known extension for model type.";
|
| return 0;
|
| @@ -260,6 +266,9 @@ ModelType GetModelTypeFromSpecifics(const sync_pb::EntitySpecifics& specifics) {
|
| if (specifics.has_experiments())
|
| return EXPERIMENTS;
|
|
|
| + if (specifics.has_priority_preference())
|
| + return PRIORITY_PREFERENCES;
|
| +
|
| return UNSPECIFIED;
|
| }
|
|
|
| @@ -290,6 +299,9 @@ ModelTypeSet ControlTypes() {
|
| set.Put(ModelTypeFromInt(i));
|
| }
|
|
|
| + // TODO(albertb): Re-enable this when the server supports it.
|
| + set.Remove(PRIORITY_PREFERENCES);
|
| +
|
| return set;
|
| }
|
|
|
| @@ -344,6 +356,8 @@ const char* ModelTypeToString(ModelType model_type) {
|
| return "Device Info";
|
| case EXPERIMENTS:
|
| return "Experiments";
|
| + case PRIORITY_PREFERENCES:
|
| + return "Priority Preferences";
|
| default:
|
| break;
|
| }
|
| @@ -417,6 +431,8 @@ ModelType ModelTypeFromString(const std::string& model_type_string) {
|
| return DEVICE_INFO;
|
| else if (model_type_string == "Experiments")
|
| return EXPERIMENTS;
|
| + else if (model_type_string == "Priority Preferences")
|
| + return PRIORITY_PREFERENCES;
|
| else
|
| NOTREACHED() << "No known model type corresponding to "
|
| << model_type_string << ".";
|
| @@ -493,6 +509,8 @@ std::string ModelTypeToRootTag(ModelType type) {
|
| return "google_chrome_device_info";
|
| case EXPERIMENTS:
|
| return "google_chrome_experiments";
|
| + case PRIORITY_PREFERENCES:
|
| + return "google_chrome_priority_preferences";
|
| default:
|
| break;
|
| }
|
| @@ -523,6 +541,7 @@ const char kHistoryDeleteDirectiveNotificationType[] =
|
| const char kSyncedNotificationType[] = "SYNCED_NOTIFICATION";
|
| const char kDeviceInfoNotificationType[] = "DEVICE_INFO";
|
| const char kExperimentsNotificationType[] = "EXPERIMENTS";
|
| +const char kPriorityPreferenceNotificationType[] = "PRIORITY_PREFERENCE";
|
| } // namespace
|
|
|
| bool RealModelTypeToNotificationType(ModelType model_type,
|
| @@ -583,6 +602,8 @@ bool RealModelTypeToNotificationType(ModelType model_type,
|
| case EXPERIMENTS:
|
| *notification_type = kExperimentsNotificationType;
|
| return true;
|
| + case PRIORITY_PREFERENCES:
|
| + *notification_type = kPriorityPreferenceNotificationType;
|
| default:
|
| break;
|
| }
|
| @@ -644,6 +665,9 @@ bool NotificationTypeToRealModelType(const std::string& notification_type,
|
| } else if (notification_type == kDeviceInfoNotificationType) {
|
| *model_type = DEVICE_INFO;;
|
| return true;
|
| + } else if (notification_type == kPriorityPreferenceNotificationType) {
|
| + *model_type = PRIORITY_PREFERENCES;
|
| + return true;
|
| }
|
| *model_type = UNSPECIFIED;
|
| return false;
|
|
|