OLD | NEW |
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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 if (gaia::ExtractDomainName(whitelisted_user) == | 78 if (gaia::ExtractDomainName(whitelisted_user) == |
79 user_manager::kSupervisedUserDomain) { | 79 user_manager::kSupervisedUserDomain) { |
80 email_list->Remove(i, NULL); | 80 email_list->Remove(i, NULL); |
81 --i; | 81 --i; |
82 } | 82 } |
83 } | 83 } |
84 | 84 |
85 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); | 85 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); |
86 const user_manager::UserList& users = user_manager->GetUsers(); | 86 const user_manager::UserList& users = user_manager->GetUsers(); |
87 for (const auto* user : users) { | 87 for (const auto* user : users) { |
88 email_list->AppendIfNotPresent(base::MakeUnique<base::StringValue>( | 88 email_list->AppendIfNotPresent( |
89 user->GetAccountId().GetUserEmail())); | 89 base::MakeUnique<base::Value>(user->GetAccountId().GetUserEmail())); |
90 } | 90 } |
91 | 91 |
92 if (chromeos::OwnerSettingsServiceChromeOS* service = | 92 if (chromeos::OwnerSettingsServiceChromeOS* service = |
93 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( | 93 chromeos::OwnerSettingsServiceChromeOSFactory::GetForBrowserContext( |
94 profile)) { | 94 profile)) { |
95 service->Set(chromeos::kAccountsPrefUsers, *email_list.get()); | 95 service->Set(chromeos::kAccountsPrefUsers, *email_list.get()); |
96 } | 96 } |
97 | 97 |
98 // Now populate the list of User objects for returning to the JS. | 98 // Now populate the list of User objects for returning to the JS. |
99 for (size_t i = 0; i < email_list->GetSize(); ++i) { | 99 for (size_t i = 0; i < email_list->GetSize(); ++i) { |
(...skipping 30 matching lines...) Expand all Loading... |
130 if (!chromeos::ProfileHelper::IsOwnerProfile(chrome_details_.GetProfile())) { | 130 if (!chromeos::ProfileHelper::IsOwnerProfile(chrome_details_.GetProfile())) { |
131 return RespondNow(OneArgument(base::MakeUnique<base::Value>(false))); | 131 return RespondNow(OneArgument(base::MakeUnique<base::Value>(false))); |
132 } | 132 } |
133 | 133 |
134 std::string username = gaia::CanonicalizeEmail(parameters->email); | 134 std::string username = gaia::CanonicalizeEmail(parameters->email); |
135 if (chromeos::CrosSettings::Get()->FindEmailInList( | 135 if (chromeos::CrosSettings::Get()->FindEmailInList( |
136 chromeos::kAccountsPrefUsers, username, NULL)) { | 136 chromeos::kAccountsPrefUsers, username, NULL)) { |
137 return RespondNow(OneArgument(base::MakeUnique<base::Value>(false))); | 137 return RespondNow(OneArgument(base::MakeUnique<base::Value>(false))); |
138 } | 138 } |
139 | 139 |
140 base::StringValue username_value(username); | 140 base::Value username_value(username); |
141 | 141 |
142 UsersPrivateDelegate* delegate = | 142 UsersPrivateDelegate* delegate = |
143 UsersPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 143 UsersPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
144 PrefsUtil* prefs_util = delegate->GetPrefsUtil(); | 144 PrefsUtil* prefs_util = delegate->GetPrefsUtil(); |
145 bool added = prefs_util->AppendToListCrosSetting(chromeos::kAccountsPrefUsers, | 145 bool added = prefs_util->AppendToListCrosSetting(chromeos::kAccountsPrefUsers, |
146 username_value); | 146 username_value); |
147 return RespondNow(OneArgument(base::MakeUnique<base::Value>(added))); | 147 return RespondNow(OneArgument(base::MakeUnique<base::Value>(added))); |
148 } | 148 } |
149 | 149 |
150 //////////////////////////////////////////////////////////////////////////////// | 150 //////////////////////////////////////////////////////////////////////////////// |
(...skipping 13 matching lines...) Expand all Loading... |
164 std::unique_ptr<api::users_private::RemoveWhitelistedUser::Params> | 164 std::unique_ptr<api::users_private::RemoveWhitelistedUser::Params> |
165 parameters = | 165 parameters = |
166 api::users_private::RemoveWhitelistedUser::Params::Create(*args_); | 166 api::users_private::RemoveWhitelistedUser::Params::Create(*args_); |
167 EXTENSION_FUNCTION_VALIDATE(parameters.get()); | 167 EXTENSION_FUNCTION_VALIDATE(parameters.get()); |
168 | 168 |
169 // Non-owners should not be able to remove users. | 169 // Non-owners should not be able to remove users. |
170 if (!chromeos::ProfileHelper::IsOwnerProfile(chrome_details_.GetProfile())) { | 170 if (!chromeos::ProfileHelper::IsOwnerProfile(chrome_details_.GetProfile())) { |
171 return RespondNow(OneArgument(base::MakeUnique<base::Value>(false))); | 171 return RespondNow(OneArgument(base::MakeUnique<base::Value>(false))); |
172 } | 172 } |
173 | 173 |
174 base::StringValue canonical_email(gaia::CanonicalizeEmail(parameters->email)); | 174 base::Value canonical_email(gaia::CanonicalizeEmail(parameters->email)); |
175 | 175 |
176 UsersPrivateDelegate* delegate = | 176 UsersPrivateDelegate* delegate = |
177 UsersPrivateDelegateFactory::GetForBrowserContext(browser_context()); | 177 UsersPrivateDelegateFactory::GetForBrowserContext(browser_context()); |
178 PrefsUtil* prefs_util = delegate->GetPrefsUtil(); | 178 PrefsUtil* prefs_util = delegate->GetPrefsUtil(); |
179 bool removed = prefs_util->RemoveFromListCrosSetting( | 179 bool removed = prefs_util->RemoveFromListCrosSetting( |
180 chromeos::kAccountsPrefUsers, canonical_email); | 180 chromeos::kAccountsPrefUsers, canonical_email); |
181 user_manager::UserManager::Get()->RemoveUser( | 181 user_manager::UserManager::Get()->RemoveUser( |
182 AccountId::FromUserEmail(parameters->email), NULL); | 182 AccountId::FromUserEmail(parameters->email), NULL); |
183 return RespondNow(OneArgument(base::MakeUnique<base::Value>(removed))); | 183 return RespondNow(OneArgument(base::MakeUnique<base::Value>(removed))); |
184 } | 184 } |
(...skipping 29 matching lines...) Expand all Loading... |
214 | 214 |
215 ExtensionFunction::ResponseAction | 215 ExtensionFunction::ResponseAction |
216 UsersPrivateIsWhitelistManagedFunction::Run() { | 216 UsersPrivateIsWhitelistManagedFunction::Run() { |
217 bool is_managed = g_browser_process->platform_part() | 217 bool is_managed = g_browser_process->platform_part() |
218 ->browser_policy_connector_chromeos() | 218 ->browser_policy_connector_chromeos() |
219 ->IsEnterpriseManaged(); | 219 ->IsEnterpriseManaged(); |
220 return RespondNow(OneArgument(base::MakeUnique<base::Value>(is_managed))); | 220 return RespondNow(OneArgument(base::MakeUnique<base::Value>(is_managed))); |
221 } | 221 } |
222 | 222 |
223 } // namespace extensions | 223 } // namespace extensions |
OLD | NEW |