Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Unified Diff: chrome/browser/policy/device_policy_decoder_chromeos.cc

Issue 11358113: Add device policy definition for local accounts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/device_policy_decoder_chromeos.cc
diff --git a/chrome/browser/policy/device_policy_decoder_chromeos.cc b/chrome/browser/policy/device_policy_decoder_chromeos.cc
index 0017d65d0e473ff7412f7cb8433c309373d28ad6..330756225997a1179312c16b138306282445301a 100644
--- a/chrome/browser/policy/device_policy_decoder_chromeos.cc
+++ b/chrome/browser/policy/device_policy_decoder_chromeos.cc
@@ -8,6 +8,7 @@
#include "base/logging.h"
#include "base/values.h"
+#include "chrome/browser/chromeos/settings/cros_settings_names.h"
#include "chrome/browser/policy/app_pack_updater.h"
#include "chrome/browser/policy/enterprise_install_attributes.h"
#include "chrome/browser/policy/policy_map.h"
@@ -346,6 +347,30 @@ void DecodeAutoUpdatePolicies(const em::ChromeDeviceSettingsProto& policy,
}
}
+void DecodeLocalAccountsPolicies(const em::ChromeDeviceSettingsProto& policy,
+ PolicyMap* policies) {
+ if (!policy.has_local_accounts())
+ return;
+
+ const em::LocalAccountsProto& local_accounts = policy.local_accounts();
+ if (local_accounts.local_account().size() > 0) {
+ ListValue* account_list = new ListValue();
+ RepeatedPtrField<em::LocalAccountDefinitionProto>::const_iterator entry;
+ for (entry = local_accounts.local_account().begin();
+ entry != local_accounts.local_account().end();
+ ++entry) {
+ DictionaryValue* account_dict = new DictionaryValue();
+ account_dict->SetString(chromeos::kLocalAccountId, entry->id());
+ account_dict->SetString(chromeos::kLocalAccountName, entry->name());
+ account_list->Append(account_dict);
+ }
+ policies->Set(key::kDeviceLocalAccounts,
+ POLICY_LEVEL_MANDATORY,
+ POLICY_SCOPE_MACHINE,
+ account_list);
+ }
+}
+
void DecodeGenericPolicies(const em::ChromeDeviceSettingsProto& policy,
PolicyMap* policies) {
if (policy.has_device_policy_refresh_rate()) {
@@ -408,6 +433,7 @@ void DecodeDevicePolicy(const em::ChromeDeviceSettingsProto& policy,
DecodeNetworkPolicies(policy, policies, install_attributes);
DecodeReportingPolicies(policy, policies);
DecodeAutoUpdatePolicies(policy, policies);
+ DecodeLocalAccountsPolicies(policy, policies);
DecodeGenericPolicies(policy, policies);
}

Powered by Google App Engine
This is Rietveld 408576698