| Index: sync/syncable/model_type.cc
|
| diff --git a/sync/syncable/model_type.cc b/sync/syncable/model_type.cc
|
| index e4993a47017f3a739a07d1a522438e1bea6be43f..f4e23612227752077388b068cc4e3dfd633a70f7 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 HISTORY_DELETE_DIRECTIVES:
|
| + specifics->mutable_history_delete_directive();
|
| + break;
|
| case DEVICE_INFO:
|
| specifics->mutable_device_info();
|
| break;
|
| @@ -138,6 +141,8 @@ int GetSpecificsFieldNumberFromModelType(ModelType model_type) {
|
| case APP_NOTIFICATIONS:
|
| return sync_pb::EntitySpecifics::kAppNotificationFieldNumber;
|
| break;
|
| + case HISTORY_DELETE_DIRECTIVES:
|
| + return sync_pb::EntitySpecifics::kHistoryDeleteDirectiveFieldNumber;
|
| case DEVICE_INFO:
|
| return sync_pb::EntitySpecifics::kDeviceInfoFieldNumber;
|
| break;
|
| @@ -158,7 +163,7 @@ FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) {
|
| return out;
|
| }
|
|
|
| -// Note: keep this consistent with GetModelType in syncable.cc!
|
| +// Note: keep this consistent with GetModelType in entry.cc!
|
| ModelType GetModelType(const sync_pb::SyncEntity& sync_entity) {
|
| DCHECK(!IsRoot(sync_entity)); // Root shouldn't ever go over the wire.
|
|
|
| @@ -233,6 +238,9 @@ ModelType GetModelTypeFromSpecifics(const sync_pb::EntitySpecifics& specifics) {
|
| if (specifics.has_app_notification())
|
| return APP_NOTIFICATIONS;
|
|
|
| + if (specifics.has_history_delete_directive())
|
| + return HISTORY_DELETE_DIRECTIVES;
|
| +
|
| if (specifics.has_device_info())
|
| return DEVICE_INFO;
|
|
|
| @@ -251,6 +259,13 @@ ModelTypeSet UserTypes() {
|
| return set;
|
| }
|
|
|
| +ModelTypeSet EncryptableUserTypes() {
|
| + ModelTypeSet encryptable_user_types = UserTypes();
|
| + // We never encrypt history delete directives.
|
| + encryptable_user_types.Remove(HISTORY_DELETE_DIRECTIVES);
|
| + return encryptable_user_types;
|
| +}
|
| +
|
| ModelTypeSet ControlTypes() {
|
| ModelTypeSet set;
|
| for (int i = FIRST_CONTROL_MODEL_TYPE; i <= LAST_CONTROL_MODEL_TYPE; ++i) {
|
| @@ -306,6 +321,8 @@ const char* ModelTypeToString(ModelType model_type) {
|
| return "Extension settings";
|
| case APP_NOTIFICATIONS:
|
| return "App Notifications";
|
| + case HISTORY_DELETE_DIRECTIVES:
|
| + return "History Delete Directives";
|
| case DEVICE_INFO:
|
| return "Device Info";
|
| default:
|
| @@ -373,6 +390,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 == "History Delete Directives")
|
| + return HISTORY_DELETE_DIRECTIVES;
|
| else if (model_type_string == "Device Info")
|
| return DEVICE_INFO;
|
| else
|
| @@ -443,6 +462,8 @@ std::string ModelTypeToRootTag(ModelType type) {
|
| return "google_chrome_extension_settings";
|
| case APP_NOTIFICATIONS:
|
| return "google_chrome_app_notifications";
|
| + case HISTORY_DELETE_DIRECTIVES:
|
| + return "google_chrome_history_delete_directives";
|
| case DEVICE_INFO:
|
| return "google_chrome_device_info";
|
| default:
|
| @@ -470,6 +491,8 @@ const char kSearchEngineNotificationType[] = "SEARCH_ENGINE";
|
| const char kSessionNotificationType[] = "SESSION";
|
| const char kAutofillProfileNotificationType[] = "AUTOFILL_PROFILE";
|
| const char kAppNotificationNotificationType[] = "APP_NOTIFICATION";
|
| +const char kHistoryDeleteDirectiveNotificationType[] =
|
| + "HISTORY_DELETE_DIRECTIVE";
|
| const char kDeviceInfoNotificationType[] = "DEVICE_INFO";
|
| } // namespace
|
|
|
| @@ -521,6 +544,8 @@ bool RealModelTypeToNotificationType(ModelType model_type,
|
| case APP_NOTIFICATIONS:
|
| *notification_type = kAppNotificationNotificationType;
|
| return true;
|
| + case HISTORY_DELETE_DIRECTIVES:
|
| + *notification_type = kHistoryDeleteDirectiveNotificationType;
|
| case DEVICE_INFO:
|
| *notification_type = kDeviceInfoNotificationType;
|
| return true;
|
| @@ -578,13 +603,14 @@ bool NotificationTypeToRealModelType(const std::string& notification_type,
|
| } else if (notification_type == kAppNotificationNotificationType) {
|
| *model_type = APP_NOTIFICATIONS;
|
| return true;
|
| + } else if (notification_type == kHistoryDeleteDirectiveNotificationType) {
|
| + *model_type = HISTORY_DELETE_DIRECTIVES;
|
| } else if (notification_type == kDeviceInfoNotificationType) {
|
| *model_type = DEVICE_INFO;;
|
| return true;
|
| - } else {
|
| - *model_type = UNSPECIFIED;
|
| - return false;
|
| }
|
| + *model_type = UNSPECIFIED;
|
| + return false;
|
| }
|
|
|
| bool IsRealDataType(ModelType model_type) {
|
|
|