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

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

Issue 228553002: Preference dis/allowing supervised users creation is now available as owner setting, not only as de… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Logic for default settings moved to device_settings_provider. Created 6 years, 8 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/logging.h" 10 #include "base/logging.h"
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 else 208 else
209 NOTREACHED(); 209 NOTREACHED();
210 } else if (prop == kAccountsPrefAllowGuest) { 210 } else if (prop == kAccountsPrefAllowGuest) {
211 em::GuestModeEnabledProto* guest = 211 em::GuestModeEnabledProto* guest =
212 device_settings_.mutable_guest_mode_enabled(); 212 device_settings_.mutable_guest_mode_enabled();
213 bool guest_value; 213 bool guest_value;
214 if (value->GetAsBoolean(&guest_value)) 214 if (value->GetAsBoolean(&guest_value))
215 guest->set_guest_mode_enabled(guest_value); 215 guest->set_guest_mode_enabled(guest_value);
216 else 216 else
217 NOTREACHED(); 217 NOTREACHED();
218 } else if (prop == kAccountsPrefSupervisedUsersEnabled) {
219 em::SupervisedUsersSettingsProto* supervised =
220 device_settings_.mutable_supervised_users_settings();
221 bool supervised_value;
222 if (value->GetAsBoolean(&supervised_value))
223 supervised->set_supervised_users_enabled(supervised_value);
224 else
225 NOTREACHED();
218 } else if (prop == kAccountsPrefShowUserNamesOnSignIn) { 226 } else if (prop == kAccountsPrefShowUserNamesOnSignIn) {
219 em::ShowUserNamesOnSigninProto* show = 227 em::ShowUserNamesOnSigninProto* show =
220 device_settings_.mutable_show_user_names(); 228 device_settings_.mutable_show_user_names();
221 bool show_value; 229 bool show_value;
222 if (value->GetAsBoolean(&show_value)) 230 if (value->GetAsBoolean(&show_value))
223 show->set_show_user_names(show_value); 231 show->set_show_user_names(show_value);
224 else 232 else
225 NOTREACHED(); 233 NOTREACHED();
226 } else if (prop == kAccountsPrefDeviceLocalAccounts) { 234 } else if (prop == kAccountsPrefDeviceLocalAccounts) {
227 em::DeviceLocalAccountsProto* device_local_accounts = 235 em::DeviceLocalAccountsProto* device_local_accounts =
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 device_settings_.mutable_attestation_settings(); 387 device_settings_.mutable_attestation_settings();
380 bool setting_enabled; 388 bool setting_enabled;
381 if (value->GetAsBoolean(&setting_enabled)) { 389 if (value->GetAsBoolean(&setting_enabled)) {
382 attestation_settings->set_content_protection_enabled(setting_enabled); 390 attestation_settings->set_content_protection_enabled(setting_enabled);
383 } else { 391 } else {
384 NOTREACHED(); 392 NOTREACHED();
385 } 393 }
386 } else { 394 } else {
387 // The remaining settings don't support Set(), since they are not 395 // The remaining settings don't support Set(), since they are not
388 // intended to be customizable by the user: 396 // intended to be customizable by the user:
389 // kAccountsPrefSupervisedUsersEnabled
390 // kAppPack 397 // kAppPack
391 // kDeviceAttestationEnabled 398 // kDeviceAttestationEnabled
392 // kDeviceOwner 399 // kDeviceOwner
393 // kIdleLogoutTimeout 400 // kIdleLogoutTimeout
394 // kIdleLogoutWarningDuration 401 // kIdleLogoutWarningDuration
395 // kReleaseChannelDelegated 402 // kReleaseChannelDelegated
396 // kReportDeviceActivityTimes 403 // kReportDeviceActivityTimes
397 // kReportDeviceBootMode 404 // kReportDeviceBootMode
398 // kReportDeviceLocation 405 // kReportDeviceLocation
399 // kReportDeviceVersionInfo 406 // kReportDeviceVersionInfo
(...skipping 29 matching lines...) Expand all
429 } 436 }
430 } 437 }
431 438
432 void DeviceSettingsProvider::DecodeLoginPolicies( 439 void DeviceSettingsProvider::DecodeLoginPolicies(
433 const em::ChromeDeviceSettingsProto& policy, 440 const em::ChromeDeviceSettingsProto& policy,
434 PrefValueMap* new_values_cache) const { 441 PrefValueMap* new_values_cache) const {
435 // For all our boolean settings the following is applicable: 442 // For all our boolean settings the following is applicable:
436 // true is default permissive value and false is safe prohibitive value. 443 // true is default permissive value and false is safe prohibitive value.
437 // Exceptions: 444 // Exceptions:
438 // kAccountsPrefEphemeralUsersEnabled has a default value of false. 445 // kAccountsPrefEphemeralUsersEnabled has a default value of false.
446 // kAccountsPrefSupervisedUsersEnabled has a default value of false
447 // for enterprise devices and true for consumer devices.
439 if (policy.has_allow_new_users() && 448 if (policy.has_allow_new_users() &&
440 policy.allow_new_users().has_allow_new_users()) { 449 policy.allow_new_users().has_allow_new_users()) {
441 if (policy.allow_new_users().allow_new_users()) { 450 if (policy.allow_new_users().allow_new_users()) {
442 // New users allowed, user whitelist ignored. 451 // New users allowed, user whitelist ignored.
443 new_values_cache->SetBoolean(kAccountsPrefAllowNewUser, true); 452 new_values_cache->SetBoolean(kAccountsPrefAllowNewUser, true);
444 } else { 453 } else {
445 // New users not allowed, enforce user whitelist if present. 454 // New users not allowed, enforce user whitelist if present.
446 new_values_cache->SetBoolean(kAccountsPrefAllowNewUser, 455 new_values_cache->SetBoolean(kAccountsPrefAllowNewUser,
447 !policy.has_user_whitelist()); 456 !policy.has_user_whitelist());
448 } 457 }
449 } else { 458 } else {
450 // No configured allow-new-users value, enforce whitelist if non-empty. 459 // No configured allow-new-users value, enforce whitelist if non-empty.
451 new_values_cache->SetBoolean( 460 new_values_cache->SetBoolean(
452 kAccountsPrefAllowNewUser, 461 kAccountsPrefAllowNewUser,
453 policy.user_whitelist().user_whitelist_size() == 0); 462 policy.user_whitelist().user_whitelist_size() == 0);
454 } 463 }
455 464
456 new_values_cache->SetBoolean( 465 new_values_cache->SetBoolean(
457 kAccountsPrefAllowGuest, 466 kAccountsPrefAllowGuest,
458 !policy.has_guest_mode_enabled() || 467 !policy.has_guest_mode_enabled() ||
459 !policy.guest_mode_enabled().has_guest_mode_enabled() || 468 !policy.guest_mode_enabled().has_guest_mode_enabled() ||
460 policy.guest_mode_enabled().guest_mode_enabled()); 469 policy.guest_mode_enabled().guest_mode_enabled());
461 470
471 policy::BrowserPolicyConnectorChromeOS* connector =
472 g_browser_process->platform_part()->browser_policy_connector_chromeos();
473 bool supervised_users_enabled = false;
474 if (connector->IsEnterpriseManaged()) {
475 supervised_users_enabled =
476 policy.has_supervised_users_settings() &&
477 policy.supervised_users_settings().has_supervised_users_enabled() &&
478 policy.supervised_users_settings().supervised_users_enabled();
479 } else {
480 supervised_users_enabled =
481 !policy.has_supervised_users_settings() ||
482 !policy.supervised_users_settings().has_supervised_users_enabled() ||
483 policy.supervised_users_settings().supervised_users_enabled();
484 }
485 new_values_cache->SetBoolean(
486 kAccountsPrefSupervisedUsersEnabled, supervised_users_enabled);
pastarmovj 2014/04/15 08:54:28 There is some issue here - the code below will ove
merkulova 2014/04/15 09:23:58 Done.
487
488 new_values_cache->SetBoolean(
489 kAccountsPrefSupervisedUsersEnabled,
pastarmovj 2014/04/15 08:54:28 ...this here I mean.
merkulova 2014/04/15 09:23:58 Done.
490 !policy.has_supervised_users_settings() ||
491 !policy.supervised_users_settings().has_supervised_users_enabled() ||
492 policy.supervised_users_settings().supervised_users_enabled());
493
462 new_values_cache->SetBoolean( 494 new_values_cache->SetBoolean(
463 kAccountsPrefShowUserNamesOnSignIn, 495 kAccountsPrefShowUserNamesOnSignIn,
464 !policy.has_show_user_names() || 496 !policy.has_show_user_names() ||
465 !policy.show_user_names().has_show_user_names() || 497 !policy.show_user_names().has_show_user_names() ||
466 policy.show_user_names().show_user_names()); 498 policy.show_user_names().show_user_names());
467 499
468 new_values_cache->SetBoolean( 500 new_values_cache->SetBoolean(
469 kAccountsPrefEphemeralUsersEnabled, 501 kAccountsPrefEphemeralUsersEnabled,
470 policy.has_ephemeral_users_enabled() && 502 policy.has_ephemeral_users_enabled() &&
471 policy.ephemeral_users_enabled().has_ephemeral_users_enabled() && 503 policy.ephemeral_users_enabled().has_ephemeral_users_enabled() &&
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 void DeviceSettingsProvider::AttemptMigration() { 1004 void DeviceSettingsProvider::AttemptMigration() {
973 if (device_settings_service_->HasPrivateOwnerKey()) { 1005 if (device_settings_service_->HasPrivateOwnerKey()) {
974 PrefValueMap::const_iterator i; 1006 PrefValueMap::const_iterator i;
975 for (i = migration_values_.begin(); i != migration_values_.end(); ++i) 1007 for (i = migration_values_.begin(); i != migration_values_.end(); ++i)
976 DoSet(i->first, *i->second); 1008 DoSet(i->first, *i->second);
977 migration_values_.Clear(); 1009 migration_values_.Clear();
978 } 1010 }
979 } 1011 }
980 1012
981 } // namespace chromeos 1013 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/webui_screen_locker.cc ('k') | chrome/browser/chromeos/settings/stub_cros_settings_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698