| Index: chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| index 7ac9edf8140ab7d15404166d59c4aaa6aea3d7a9..db3a1acdbedfa9edcbfe5dfc2fe6cff78be8dce9 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| @@ -25,10 +25,8 @@ namespace {
|
|
|
| const char kJsScreenPath[] = "login.GaiaSigninScreen";
|
|
|
| -// Updates params dictionary passed to the auth extension with related
|
| -// preferences from CrosSettings.
|
| -void UpdateAuthParamsFromSettings(base::DictionaryValue* params,
|
| - const CrosSettings* cros_settings) {
|
| +void UpdateAuthParams(base::DictionaryValue* params, bool has_users) {
|
| + CrosSettings* cros_settings = CrosSettings::Get();
|
| bool allow_new_user = true;
|
| cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
|
| bool allow_guest = true;
|
| @@ -36,20 +34,12 @@ void UpdateAuthParamsFromSettings(base::DictionaryValue* params,
|
| // Account creation depends on Guest sign-in (http://crosbug.com/24570).
|
| params->SetBoolean("createAccount", allow_new_user && allow_guest);
|
| params->SetBoolean("guestSignin", allow_guest);
|
| -}
|
| -
|
| -void UpdateAuthParams(base::DictionaryValue* params, bool has_users) {
|
| - UpdateAuthParamsFromSettings(params, CrosSettings::Get());
|
|
|
| // Allow locally managed user creation only if:
|
| // 1. Enterprise managed device > is allowed by policy.
|
| // 2. Consumer device > owner exists.
|
| // 3. New users are allowed by owner.
|
| -
|
| - CrosSettings* cros_settings = CrosSettings::Get();
|
| - bool allow_new_user = false;
|
| - cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
|
| -
|
| + // 4. Supervised users are allowed by owner.
|
| bool managed_users_allowed =
|
| UserManager::Get()->AreLocallyManagedUsersAllowed();
|
| bool managed_users_can_create = true;
|
| @@ -58,7 +48,7 @@ void UpdateAuthParams(base::DictionaryValue* params, bool has_users) {
|
| managed_users_can_create = false;
|
| message_id = IDS_CREATE_LOCALLY_MANAGED_USER_NO_MANAGER_TEXT;
|
| }
|
| - if (!allow_new_user) {
|
| + if (!allow_new_user || !managed_users_allowed) {
|
| managed_users_can_create = false;
|
| message_id = IDS_CREATE_LOCALLY_MANAGED_USER_CREATION_RESTRICTED_TEXT;
|
| }
|
|
|