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

Side by Side Diff: chrome/browser/chromeos/extensions/users_private/users_private_api.cc

Issue 2840313002: MD Settings: user list fixes (Closed)
Patch Set: Fix closure Created 3 years, 7 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
« no previous file with comments | « no previous file | chrome/browser/resources/settings/people_page/compiled_resources2.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/extensions/users_private/users_private_api.h" 5 #include "chrome/browser/chromeos/extensions/users_private/users_private_api.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 } 91 }
92 92
93 if (chromeos::OwnerSettingsServiceChromeOS* service = 93 if (chromeos::OwnerSettingsServiceChromeOS* service =
94 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( 94 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext(
95 profile)) { 95 profile)) {
96 service->Set(chromeos::kAccountsPrefUsers, *email_list.get()); 96 service->Set(chromeos::kAccountsPrefUsers, *email_list.get());
97 } 97 }
98 98
99 // Now populate the list of User objects for returning to the JS. 99 // Now populate the list of User objects for returning to the JS.
100 for (size_t i = 0; i < email_list->GetSize(); ++i) { 100 for (size_t i = 0; i < email_list->GetSize(); ++i) {
101 api::users_private::User user; 101 std::string email;
102 email_list->GetString(i, &user.email); 102 email_list->GetString(i, &email);
103 AccountId account_id = AccountId::FromUserEmail(user.email); 103 AccountId account_id = AccountId::FromUserEmail(email);
104 user.name = base::UTF16ToUTF8(user_manager->GetUserDisplayName(account_id)); 104 const user_manager::User* user = user_manager->FindUser(account_id);
105 if (user.name.empty()) { 105 api::users_private::User api_user;
106 // User is not associated with a gaia account. 106 if (user) {
107 user.name = user_manager->GetUserDisplayEmail(account_id); 107 api_user.email = user->GetDisplayEmail();
108 api_user.name = base::UTF16ToUTF8(user->GetDisplayName());
109 api_user.is_owner =
110 user->GetAccountId() == user_manager->GetOwnerAccountId();
111 api_user.is_supervised = user->IsSupervised();
112 } else {
113 // User is unknown (i.e. not on device).
114 api_user.email = email;
115 api_user.name = email;
116 api_user.is_owner = false;
117 api_user.is_supervised = false;
108 } 118 }
109 user.is_owner = chromeos::ProfileHelper::IsOwnerProfile(profile) && 119 user_list->Append(api_user.ToValue());
110 user.email == profile->GetProfileUserName();
111 user_list->Append(user.ToValue());
112 } 120 }
113 121
114 return RespondNow(OneArgument(std::move(user_list))); 122 return RespondNow(OneArgument(std::move(user_list)));
115 } 123 }
116 124
117 //////////////////////////////////////////////////////////////////////////////// 125 ////////////////////////////////////////////////////////////////////////////////
118 // UsersPrivateAddWhitelistedUserFunction 126 // UsersPrivateAddWhitelistedUserFunction
119 127
120 UsersPrivateAddWhitelistedUserFunction::UsersPrivateAddWhitelistedUserFunction() 128 UsersPrivateAddWhitelistedUserFunction::UsersPrivateAddWhitelistedUserFunction()
121 : chrome_details_(this) { 129 : chrome_details_(this) {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 227
220 ExtensionFunction::ResponseAction 228 ExtensionFunction::ResponseAction
221 UsersPrivateIsWhitelistManagedFunction::Run() { 229 UsersPrivateIsWhitelistManagedFunction::Run() {
222 bool is_managed = g_browser_process->platform_part() 230 bool is_managed = g_browser_process->platform_part()
223 ->browser_policy_connector_chromeos() 231 ->browser_policy_connector_chromeos()
224 ->IsEnterpriseManaged(); 232 ->IsEnterpriseManaged();
225 return RespondNow(OneArgument(base::MakeUnique<base::Value>(is_managed))); 233 return RespondNow(OneArgument(base::MakeUnique<base::Value>(is_managed)));
226 } 234 }
227 235
228 } // namespace extensions 236 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/resources/settings/people_page/compiled_resources2.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698