Chromium Code Reviews| Index: chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
| diff --git a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
| index e5048d3470c25cc04d2a7d089e33b6e7b4e7a07f..429d05e74548aa94c03d55ce7e7a64f3004ab1c1 100644 |
| --- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
| @@ -148,6 +148,12 @@ bool IsGuestModeEnabled() { |
| return service->GetBoolean(prefs::kBrowserGuestModeEnabled); |
| } |
| +bool IsAddPersonEnabled() { |
|
Evan Stade
2014/09/02 18:18:18
wasn't this already added in some previous cl
Mike Lerman
2014/09/04 14:37:08
The IsGuestModeEnabled (function directly above) w
|
| + PrefService* service = g_browser_process->local_state(); |
| + DCHECK(service); |
| + return service->GetBoolean(prefs::kBrowserAddPersonEnabled); |
| +} |
| + |
| } // namespace |
| // ProfileUpdateObserver ------------------------------------------------------ |
| @@ -289,7 +295,8 @@ void UserManagerScreenHandler::Unlock(const std::string& user_email) { |
| void UserManagerScreenHandler::HandleInitialize(const base::ListValue* args) { |
| SendUserList(); |
| web_ui()->CallJavascriptFunction("cr.ui.Oobe.showUserManagerScreen", |
| - base::FundamentalValue(IsGuestModeEnabled())); |
| + base::FundamentalValue(IsGuestModeEnabled()), |
| + base::FundamentalValue(IsAddPersonEnabled())); |
| desktop_type_ = chrome::GetHostDesktopTypeForNativeView( |
| web_ui()->GetWebContents()->GetNativeView()); |
| @@ -297,9 +304,15 @@ void UserManagerScreenHandler::HandleInitialize(const base::ListValue* args) { |
| } |
| void UserManagerScreenHandler::HandleAddUser(const base::ListValue* args) { |
| - profiles::CreateAndSwitchToNewProfile(desktop_type_, |
| - base::Bind(&OnSwitchToProfileComplete), |
| - ProfileMetrics::ADD_NEW_USER_MANAGER); |
| + if (!IsAddPersonEnabled()) { |
| + // The UI should have prevented the user from adding a user. |
| + NOTREACHED(); |
| + return; |
| + } |
| + profiles::CreateAndSwitchToNewProfile( |
| + desktop_type_, |
| + base::Bind(&OnSwitchToProfileComplete), |
| + ProfileMetrics::ADD_NEW_USER_MANAGER); |
| } |
| void UserManagerScreenHandler::HandleAuthenticatedLaunchUser( |