summaryrefslogtreecommitdiffstats
path: root/sync/syncable
diff options
context:
space:
mode:
authorbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-19 03:28:07 +0000
committerbauerb@chromium.org <bauerb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-19 03:28:07 +0000
commitde002cb39af0edd9512e9ee4df11b18e719b3d23 (patch)
treeb3d1277834fd4be89da5dc27880b8c43c454bb1b /sync/syncable
parentd37601c8c9096c4f185067b3e5f54d1ae001108b (diff)
downloadchromium_src-de002cb39af0edd9512e9ee4df11b18e719b3d23.zip
chromium_src-de002cb39af0edd9512e9ee4df11b18e719b3d23.tar.gz
chromium_src-de002cb39af0edd9512e9ee4df11b18e719b3d23.tar.bz2
Add Sync datatype for shared managed user settings.
BUG=316168 Review URL: https://codereview.chromium.org/76333002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241779 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/syncable')
-rw-r--r--sync/syncable/model_type.cc27
-rw-r--r--sync/syncable/nigori_util.cc4
2 files changed, 29 insertions, 2 deletions
diff --git a/sync/syncable/model_type.cc b/sync/syncable/model_type.cc
index fa33118..ecc62fe 100644
--- a/sync/syncable/model_type.cc
+++ b/sync/syncable/model_type.cc
@@ -110,6 +110,9 @@ void AddDefaultFieldValue(ModelType datatype,
case MANAGED_USERS:
specifics->mutable_managed_user();
break;
+ case MANAGED_USER_SHARED_SETTINGS:
+ specifics->mutable_managed_user_shared_setting();
+ break;
case ARTICLES:
specifics->mutable_article();
break;
@@ -206,6 +209,8 @@ int GetSpecificsFieldNumberFromModelType(ModelType model_type) {
return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber;
case MANAGED_USERS:
return sync_pb::EntitySpecifics::kManagedUserFieldNumber;
+ case MANAGED_USER_SHARED_SETTINGS:
+ return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber;
case ARTICLES:
return sync_pb::EntitySpecifics::kArticleFieldNumber;
default:
@@ -330,6 +335,9 @@ ModelType GetModelTypeFromSpecifics(const sync_pb::EntitySpecifics& specifics) {
if (specifics.has_managed_user())
return MANAGED_USERS;
+ if (specifics.has_managed_user_shared_setting())
+ return MANAGED_USER_SHARED_SETTINGS;
+
if (specifics.has_article())
return ARTICLES;
@@ -386,6 +394,9 @@ ModelTypeSet EncryptableUserTypes() {
encryptable_user_types.Remove(MANAGED_USER_SETTINGS);
// Managed users are not encrypted since they are managed server-side.
encryptable_user_types.Remove(MANAGED_USERS);
+ // Managed user shared settings are not encrypted since they are managed
+ // server-side and shared between manager and supervised user.
+ encryptable_user_types.Remove(MANAGED_USER_SHARED_SETTINGS);
// 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.
@@ -500,6 +511,8 @@ const char* ModelTypeToString(ModelType model_type) {
return "Managed User Settings";
case MANAGED_USERS:
return "Managed Users";
+ case MANAGED_USER_SHARED_SETTINGS:
+ return "Managed User Shared Settings";
case ARTICLES:
return "Articles";
case PROXY_TABS:
@@ -577,6 +590,8 @@ int ModelTypeToHistogramInt(ModelType model_type) {
return 28;
case APP_LIST:
return 29;
+ case MANAGED_USER_SHARED_SETTINGS:
+ return 30;
// Silence a compiler warning.
case MODEL_TYPE_COUNT:
return 0;
@@ -664,6 +679,8 @@ ModelType ModelTypeFromString(const std::string& model_type_string) {
return MANAGED_USER_SETTINGS;
else if (model_type_string == "Managed Users")
return MANAGED_USERS;
+ else if (model_type_string == "Managed User Shared Settings")
+ return MANAGED_USER_SHARED_SETTINGS;
else if (model_type_string == "Articles")
return ARTICLES;
else if (model_type_string == "Tabs")
@@ -760,6 +777,8 @@ std::string ModelTypeToRootTag(ModelType type) {
return "google_chrome_managed_user_settings";
case MANAGED_USERS:
return "google_chrome_managed_users";
+ case MANAGED_USER_SHARED_SETTINGS:
+ return "google_chrome_managed_user_shared_settings";
case ARTICLES:
return "google_chrome_articles";
case PROXY_TABS:
@@ -802,6 +821,8 @@ const char kFaviconImageNotificationType[] = "FAVICON_IMAGE";
const char kFaviconTrackingNotificationType[] = "FAVICON_TRACKING";
const char kManagedUserSettingNotificationType[] = "MANAGED_USER_SETTING";
const char kManagedUserNotificationType[] = "MANAGED_USER";
+const char kManagedUserSharedSettingNotificationType[] =
+ "MANAGED_USER_SHARED_SETTING";
const char kArticleNotificationType[] = "ARTICLE";
} // namespace
@@ -886,6 +907,9 @@ bool RealModelTypeToNotificationType(ModelType model_type,
case MANAGED_USERS:
*notification_type = kManagedUserNotificationType;
return true;
+ case MANAGED_USER_SHARED_SETTINGS:
+ *notification_type = kManagedUserSharedSettingNotificationType;
+ return true;
case ARTICLES:
*notification_type = kArticleNotificationType;
return true;
@@ -976,6 +1000,9 @@ bool NotificationTypeToRealModelType(const std::string& notification_type,
} else if (notification_type == kManagedUserNotificationType) {
*model_type = MANAGED_USERS;
return true;
+ } else if (notification_type == kManagedUserSharedSettingNotificationType) {
+ *model_type = MANAGED_USER_SHARED_SETTINGS;
+ return true;
} else if (notification_type == kArticleNotificationType) {
*model_type = ARTICLES;
return true;
diff --git a/sync/syncable/nigori_util.cc b/sync/syncable/nigori_util.cc
index 107a68f..af0545e 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(30 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
+ COMPILE_ASSERT(31 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
nigori->set_encrypt_bookmarks(
encrypted_types.Has(BOOKMARKS));
nigori->set_encrypt_preferences(
@@ -278,7 +278,7 @@ ModelTypeSet GetEncryptedTypesFromNigori(
return ModelTypeSet::All();
ModelTypeSet encrypted_types;
- COMPILE_ASSERT(30 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
+ COMPILE_ASSERT(31 == MODEL_TYPE_COUNT, UpdateEncryptedTypes);
if (nigori.encrypt_bookmarks())
encrypted_types.Put(BOOKMARKS);
if (nigori.encrypt_preferences())