summaryrefslogtreecommitdiffstats
path: root/sync/syncable
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 09:20:39 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-24 09:20:39 +0000
commit42e89030ac3293414aa3c3e71994015a2f7d76f8 (patch)
treec92f871031fd5afc2b40ee6cb317e582b2cbaa84 /sync/syncable
parentd5e04ce616faf38eaae56c9c49f802aa672405ec (diff)
downloadchromium_src-42e89030ac3293414aa3c3e71994015a2f7d76f8.zip
chromium_src-42e89030ac3293414aa3c3e71994015a2f7d76f8.tar.gz
chromium_src-42e89030ac3293414aa3c3e71994015a2f7d76f8.tar.bz2
Add Sync data type for managed users.
TBR=atwilson@chromium.org BUG=228833 Review URL: https://chromiumcodereview.appspot.com/15177003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202026 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/syncable')
-rw-r--r--sync/syncable/model_type.cc25
-rw-r--r--sync/syncable/nigori_util.cc4
2 files changed, 27 insertions, 2 deletions
diff --git a/sync/syncable/model_type.cc b/sync/syncable/model_type.cc
index 140d7ab..22ea71e 100644
--- a/sync/syncable/model_type.cc
+++ b/sync/syncable/model_type.cc
@@ -104,6 +104,9 @@ void AddDefaultFieldValue(ModelType datatype,
case MANAGED_USER_SETTINGS:
specifics->mutable_managed_user_setting();
break;
+ case MANAGED_USERS:
+ specifics->mutable_managed_user();
+ break;
default:
NOTREACHED() << "No known extension for model type.";
}
@@ -192,6 +195,8 @@ int GetSpecificsFieldNumberFromModelType(ModelType model_type) {
return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber;
case MANAGED_USER_SETTINGS:
return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber;
+ case MANAGED_USERS:
+ return sync_pb::EntitySpecifics::kManagedUserFieldNumber;
default:
NOTREACHED() << "No known extension for model type.";
return 0;
@@ -311,6 +316,9 @@ ModelType GetModelTypeFromSpecifics(const sync_pb::EntitySpecifics& specifics) {
if (specifics.has_managed_user_setting())
return MANAGED_USER_SETTINGS;
+ if (specifics.has_managed_user())
+ return MANAGED_USERS;
+
return UNSPECIFIED;
}
@@ -362,6 +370,8 @@ ModelTypeSet EncryptableUserTypes() {
encryptable_user_types.RemoveAll(PriorityUserTypes());
// Managed user settings are not encrypted since they are set server-side.
encryptable_user_types.Remove(MANAGED_USER_SETTINGS);
+ // Managed users are not encrypted since they are managed server-side.
+ encryptable_user_types.Remove(MANAGED_USERS);
// Proxy types have no sync representation and are therefore not encrypted.
// Note however that proxy types map to one or more protocol types, which
// may or may not be encrypted themselves.
@@ -452,6 +462,8 @@ const char* ModelTypeToString(ModelType model_type) {
return "Favicon Tracking";
case MANAGED_USER_SETTINGS:
return "Managed User Settings";
+ case MANAGED_USERS:
+ return "Managed Users";
case PROXY_TABS:
return "Tabs";
default:
@@ -521,6 +533,8 @@ int ModelTypeToHistogramInt(ModelType model_type) {
return 25;
case MANAGED_USER_SETTINGS:
return 26;
+ case MANAGED_USERS:
+ return 27;
// Silence a compiler warning.
case MODEL_TYPE_COUNT:
return 0;
@@ -604,6 +618,8 @@ ModelType ModelTypeFromString(const std::string& model_type_string) {
return FAVICON_TRACKING;
else if (model_type_string == "Managed User Settings")
return MANAGED_USER_SETTINGS;
+ else if (model_type_string == "Managed Users")
+ return MANAGED_USERS;
else if (model_type_string == "Tabs")
return PROXY_TABS;
else
@@ -694,6 +710,8 @@ std::string ModelTypeToRootTag(ModelType type) {
return "google_chrome_favicon_tracking";
case MANAGED_USER_SETTINGS:
return "google_chrome_managed_user_settings";
+ case MANAGED_USERS:
+ return "google_chrome_managed_users";
case PROXY_TABS:
return std::string();
default:
@@ -732,6 +750,7 @@ const char kDictionaryNotificationType[] = "DICTIONARY";
const char kFaviconImageNotificationType[] = "FAVICON_IMAGE";
const char kFaviconTrackingNotificationType[] = "FAVICON_TRACKING";
const char kManagedUserSettingNotificationType[] = "MANAGED_USER_SETTING";
+const char kManagedUserNotificationType[] = "MANAGED_USER";
} // namespace
bool RealModelTypeToNotificationType(ModelType model_type,
@@ -809,6 +828,9 @@ bool RealModelTypeToNotificationType(ModelType model_type,
case MANAGED_USER_SETTINGS:
*notification_type = kManagedUserSettingNotificationType;
return true;
+ case MANAGED_USERS:
+ *notification_type = kManagedUserNotificationType;
+ return true;
default:
break;
}
@@ -890,6 +912,9 @@ bool NotificationTypeToRealModelType(const std::string& notification_type,
} else if (notification_type == kManagedUserSettingNotificationType) {
*model_type = MANAGED_USER_SETTINGS;
return true;
+ } else if (notification_type == kManagedUserNotificationType) {
+ *model_type = MANAGED_USERS;
+ return true;
}
*model_type = UNSPECIFIED;
return false;
diff --git a/sync/syncable/nigori_util.cc b/sync/syncable/nigori_util.cc
index 5c88316..3e456dd 100644
--- a/sync/syncable/nigori_util.cc
+++ b/sync/syncable/nigori_util.cc
@@ -242,7 +242,7 @@ void UpdateNigoriFromEncryptedTypes(ModelTypeSet encrypted_types,
bool encrypt_everything,
sync_pb::NigoriSpecifics* nigori) {
nigori->set_encrypt_everything(encrypt_everything);
- COMPILE_ASSERT(27 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
+ COMPILE_ASSERT(28 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
nigori->set_encrypt_bookmarks(
encrypted_types.Has(BOOKMARKS));
nigori->set_encrypt_preferences(
@@ -276,7 +276,7 @@ ModelTypeSet GetEncryptedTypesFromNigori(
return ModelTypeSet::All();
ModelTypeSet encrypted_types;
- COMPILE_ASSERT(27 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
+ COMPILE_ASSERT(28 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
if (nigori.encrypt_bookmarks())
encrypted_types.Put(BOOKMARKS);
if (nigori.encrypt_preferences())