| Index: chrome/browser/chromeos/extensions/users_private/users_private_api.cc
|
| diff --git a/chrome/browser/chromeos/extensions/users_private/users_private_api.cc b/chrome/browser/chromeos/extensions/users_private/users_private_api.cc
|
| index df92a3c216bec1f5a1a600c745f6199746439460..351fae073de763d6c783ce5e503a93a2df67a54b 100644
|
| --- a/chrome/browser/chromeos/extensions/users_private/users_private_api.cc
|
| +++ b/chrome/browser/chromeos/extensions/users_private/users_private_api.cc
|
| @@ -98,17 +98,25 @@ UsersPrivateGetWhitelistedUsersFunction::Run() {
|
|
|
| // Now populate the list of User objects for returning to the JS.
|
| for (size_t i = 0; i < email_list->GetSize(); ++i) {
|
| - api::users_private::User user;
|
| - email_list->GetString(i, &user.email);
|
| - AccountId account_id = AccountId::FromUserEmail(user.email);
|
| - user.name = base::UTF16ToUTF8(user_manager->GetUserDisplayName(account_id));
|
| - if (user.name.empty()) {
|
| - // User is not associated with a gaia account.
|
| - user.name = user_manager->GetUserDisplayEmail(account_id);
|
| + std::string email;
|
| + email_list->GetString(i, &email);
|
| + AccountId account_id = AccountId::FromUserEmail(email);
|
| + const user_manager::User* user = user_manager->FindUser(account_id);
|
| + api::users_private::User api_user;
|
| + if (user) {
|
| + api_user.email = user->GetDisplayEmail();
|
| + api_user.name = base::UTF16ToUTF8(user->GetDisplayName());
|
| + api_user.is_owner =
|
| + user->GetAccountId() == user_manager->GetOwnerAccountId();
|
| + api_user.is_supervised = user->IsSupervised();
|
| + } else {
|
| + // User is unknown (i.e. not on device).
|
| + api_user.email = email;
|
| + api_user.name = email;
|
| + api_user.is_owner = false;
|
| + api_user.is_supervised = false;
|
| }
|
| - user.is_owner = chromeos::ProfileHelper::IsOwnerProfile(profile) &&
|
| - user.email == profile->GetProfileUserName();
|
| - user_list->Append(user.ToValue());
|
| + user_list->Append(api_user.ToValue());
|
| }
|
|
|
| return RespondNow(OneArgument(std::move(user_list)));
|
|
|