summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 20:24:33 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 20:24:33 +0000
commitc225af5747884ca89d97b9ee9ab013b29eb0592d (patch)
treeefbd1aa50d9765f42dc144b1c57ad824703fb582
parentc86d9dcf3ef10b443454d9b47b6c098e82804e39 (diff)
downloadchromium_src-c225af5747884ca89d97b9ee9ab013b29eb0592d.zip
chromium_src-c225af5747884ca89d97b9ee9ab013b29eb0592d.tar.gz
chromium_src-c225af5747884ca89d97b9ee9ab013b29eb0592d.tar.bz2
Put local accounts device setting behind --enable-local-accounts
BUG=chromium:152917 TEST=Public accounts ignored if --enable-local-accounts is not present Review URL: https://chromiumcodereview.appspot.com/11443037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171828 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/settings/device_settings_provider.cc17
1 files changed, 11 insertions, 6 deletions
diff --git a/chrome/browser/chromeos/settings/device_settings_provider.cc b/chrome/browser/chromeos/settings/device_settings_provider.cc
index 5fdfef7..c9c30dc 100644
--- a/chrome/browser/chromeos/settings/device_settings_provider.cc
+++ b/chrome/browser/chromeos/settings/device_settings_provider.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/callback.h"
+#include "base/command_line.h"
#include "base/file_util.h"
#include "base/logging.h"
#include "base/string_util.h"
@@ -23,6 +24,7 @@
#include "chrome/browser/policy/cloud_policy_constants.h"
#include "chrome/browser/policy/proto/device_management_backend.pb.h"
#include "chrome/browser/ui/options/options_util.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/installer/util/google_update_settings.h"
using google::protobuf::RepeatedPtrField;
@@ -380,12 +382,15 @@ void DeviceSettingsProvider::DecodeLoginPolicies(
new_values_cache->SetValue(kAccountsPrefUsers, list);
base::ListValue* account_list = new base::ListValue();
- const RepeatedPtrField<em::DeviceLocalAccountInfoProto>& accounts =
- policy.device_local_accounts().account();
- RepeatedPtrField<em::DeviceLocalAccountInfoProto>::const_iterator entry;
- for (entry = accounts.begin(); entry != accounts.end(); ++entry) {
- if (entry->has_id())
- account_list->AppendString(entry->id());
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(switches::kEnableLocalAccounts)) {
+ const RepeatedPtrField<em::DeviceLocalAccountInfoProto>& accounts =
+ policy.device_local_accounts().account();
+ RepeatedPtrField<em::DeviceLocalAccountInfoProto>::const_iterator entry;
+ for (entry = accounts.begin(); entry != accounts.end(); ++entry) {
+ if (entry->has_id())
+ account_list->AppendString(entry->id());
+ }
}
new_values_cache->SetValue(kAccountsPrefDeviceLocalAccounts, account_list);
}