| Index: chrome/browser/chromeos/login/screens/user_selection_screen.cc
|
| diff --git a/chrome/browser/chromeos/login/screens/user_selection_screen.cc b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
|
| index f29b334ca31ebb89fdb5c01fe252a0b129720a0b..a2bc1c7c94edbd12cdb2b242bd5941d9a9854627 100644
|
| --- a/chrome/browser/chromeos/login/screens/user_selection_screen.cc
|
| +++ b/chrome/browser/chromeos/login/screens/user_selection_screen.cc
|
| @@ -84,11 +84,19 @@ void UserSelectionScreen::FillUserDictionary(
|
| if (is_signin_to_add) {
|
| MultiProfileUserController* multi_profile_user_controller =
|
| UserManager::Get()->GetMultiProfileUserController();
|
| - std::string behavior =
|
| - multi_profile_user_controller->GetCachedValue(user_id);
|
| - user_dict->SetBoolean(kKeyMultiProfilesAllowed,
|
| - multi_profile_user_controller->IsUserAllowedInSession(
|
| - user_id) == MultiProfileUserController::ALLOWED);
|
| + MultiProfileUserController::UserAllowedInSessionReason isUserAllowedReason;
|
| + bool isUserAllowed = multi_profile_user_controller->IsUserAllowedInSession(
|
| + user_id, &isUserAllowedReason);
|
| + user_dict->SetBoolean(kKeyMultiProfilesAllowed, isUserAllowed);
|
| +
|
| + std::string behavior;
|
| + switch (isUserAllowedReason) {
|
| + case MultiProfileUserController::NOT_ALLOWED_OWNER_AS_SECONDARY:
|
| + behavior = MultiProfileUserController::kBehaviorOwnerPrimaryOnly;
|
| + break;
|
| + default:
|
| + behavior = multi_profile_user_controller->GetCachedValue(user_id);
|
| + }
|
| user_dict->SetString(kKeyMultiProfilesPolicy, behavior);
|
| } else {
|
| user_dict->SetBoolean(kKeyMultiProfilesAllowed, true);
|
|
|