| 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 |