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

Side by Side Diff: chrome/browser/chromeos/settings/device_settings_provider.cc

Issue 17546004: Added policy for disabling locally managed users. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge conflict resolved. Created 7 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/settings/device_settings_provider.h" 5 #include "chrome/browser/chromeos/settings/device_settings_provider.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 29 matching lines...) Expand all
40 // List of settings handled by the DeviceSettingsProvider. 40 // List of settings handled by the DeviceSettingsProvider.
41 const char* kKnownSettings[] = { 41 const char* kKnownSettings[] = {
42 kAccountsPrefAllowGuest, 42 kAccountsPrefAllowGuest,
43 kAccountsPrefAllowNewUser, 43 kAccountsPrefAllowNewUser,
44 kAccountsPrefDeviceLocalAccounts, 44 kAccountsPrefDeviceLocalAccounts,
45 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, 45 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled,
46 kAccountsPrefDeviceLocalAccountAutoLoginDelay, 46 kAccountsPrefDeviceLocalAccountAutoLoginDelay,
47 kAccountsPrefDeviceLocalAccountAutoLoginId, 47 kAccountsPrefDeviceLocalAccountAutoLoginId,
48 kAccountsPrefEphemeralUsersEnabled, 48 kAccountsPrefEphemeralUsersEnabled,
49 kAccountsPrefShowUserNamesOnSignIn, 49 kAccountsPrefShowUserNamesOnSignIn,
50 kAccountsPrefSupervisedUsersEnabled,
50 kAccountsPrefUsers, 51 kAccountsPrefUsers,
51 kAllowRedeemChromeOsRegistrationOffers, 52 kAllowRedeemChromeOsRegistrationOffers,
52 kAllowedConnectionTypesForUpdate, 53 kAllowedConnectionTypesForUpdate,
53 kAppPack, 54 kAppPack,
54 kDeviceAttestationEnabled, 55 kDeviceAttestationEnabled,
55 kDeviceOwner, 56 kDeviceOwner,
56 kIdleLogoutTimeout, 57 kIdleLogoutTimeout,
57 kIdleLogoutWarningDuration, 58 kIdleLogoutWarningDuration,
58 kPolicyMissingMitigationMode, 59 kPolicyMissingMitigationMode,
59 kReleaseChannel, 60 kReleaseChannel,
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 for (base::ListValue::const_iterator i = flags->begin(); 360 for (base::ListValue::const_iterator i = flags->begin();
360 i != flags->end(); ++i) { 361 i != flags->end(); ++i) {
361 std::string flag; 362 std::string flag;
362 if ((*i)->GetAsString(&flag)) 363 if ((*i)->GetAsString(&flag))
363 flags_proto->add_flags(flag); 364 flags_proto->add_flags(flag);
364 } 365 }
365 } 366 }
366 } else { 367 } else {
367 // The remaining settings don't support Set(), since they are not 368 // The remaining settings don't support Set(), since they are not
368 // intended to be customizable by the user: 369 // intended to be customizable by the user:
370 // kAccountsPrefSupervisedUsersEnabled
369 // kAppPack 371 // kAppPack
370 // kDeviceAttestationEnabled 372 // kDeviceAttestationEnabled
371 // kDeviceOwner 373 // kDeviceOwner
372 // kIdleLogoutTimeout 374 // kIdleLogoutTimeout
373 // kIdleLogoutWarningDuration 375 // kIdleLogoutWarningDuration
374 // kReleaseChannelDelegated 376 // kReleaseChannelDelegated
375 // kReportDeviceVersionInfo
376 // kReportDeviceActivityTimes 377 // kReportDeviceActivityTimes
377 // kReportDeviceBootMode 378 // kReportDeviceBootMode
378 // kReportDeviceLocation 379 // kReportDeviceLocation
380 // kReportDeviceVersionInfo
379 // kScreenSaverExtensionId 381 // kScreenSaverExtensionId
380 // kScreenSaverTimeout 382 // kScreenSaverTimeout
381 // kStartUpUrls 383 // kStartUpUrls
382 // kSystemTimezonePolicy 384 // kSystemTimezonePolicy
383 // kVariationsRestrictParameter 385 // kVariationsRestrictParameter
384 386
385 LOG(FATAL) << "Device setting " << prop << " is read-only."; 387 LOG(FATAL) << "Device setting " << prop << " is read-only.";
386 } 388 }
387 389
388 em::PolicyData data; 390 em::PolicyData data;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 !policy.has_show_user_names() || 443 !policy.has_show_user_names() ||
442 !policy.show_user_names().has_show_user_names() || 444 !policy.show_user_names().has_show_user_names() ||
443 policy.show_user_names().show_user_names()); 445 policy.show_user_names().show_user_names());
444 446
445 new_values_cache->SetBoolean( 447 new_values_cache->SetBoolean(
446 kAccountsPrefEphemeralUsersEnabled, 448 kAccountsPrefEphemeralUsersEnabled,
447 policy.has_ephemeral_users_enabled() && 449 policy.has_ephemeral_users_enabled() &&
448 policy.ephemeral_users_enabled().has_ephemeral_users_enabled() && 450 policy.ephemeral_users_enabled().has_ephemeral_users_enabled() &&
449 policy.ephemeral_users_enabled().ephemeral_users_enabled()); 451 policy.ephemeral_users_enabled().ephemeral_users_enabled());
450 452
453 new_values_cache->SetBoolean(
454 kAccountsPrefSupervisedUsersEnabled,
455 policy.has_supervised_users_settings() &&
456 policy.supervised_users_settings().supervised_users_enabled());
457
451 base::ListValue* list = new base::ListValue(); 458 base::ListValue* list = new base::ListValue();
452 const em::UserWhitelistProto& whitelist_proto = policy.user_whitelist(); 459 const em::UserWhitelistProto& whitelist_proto = policy.user_whitelist();
453 const RepeatedPtrField<std::string>& whitelist = 460 const RepeatedPtrField<std::string>& whitelist =
454 whitelist_proto.user_whitelist(); 461 whitelist_proto.user_whitelist();
455 for (RepeatedPtrField<std::string>::const_iterator it = whitelist.begin(); 462 for (RepeatedPtrField<std::string>::const_iterator it = whitelist.begin();
456 it != whitelist.end(); ++it) { 463 it != whitelist.end(); ++it) {
457 list->Append(new base::StringValue(*it)); 464 list->Append(new base::StringValue(*it));
458 } 465 }
459 new_values_cache->SetValue(kAccountsPrefUsers, list); 466 new_values_cache->SetValue(kAccountsPrefUsers, list);
460 467
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 void DeviceSettingsProvider::AttemptMigration() { 952 void DeviceSettingsProvider::AttemptMigration() {
946 if (device_settings_service_->HasPrivateOwnerKey()) { 953 if (device_settings_service_->HasPrivateOwnerKey()) {
947 PrefValueMap::const_iterator i; 954 PrefValueMap::const_iterator i;
948 for (i = migration_values_.begin(); i != migration_values_.end(); ++i) 955 for (i = migration_values_.begin(); i != migration_values_.end(); ++i)
949 DoSet(i->first, *i->second); 956 DoSet(i->first, *i->second);
950 migration_values_.Clear(); 957 migration_values_.Clear();
951 } 958 }
952 } 959 }
953 960
954 } // namespace chromeos 961 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698