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 4244531ea65f7589fc516e3401560e76928109b1..8d019957bf86ddafea71be1fe09bd358c884e64d 100644 |
| --- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc |
| @@ -5,6 +5,7 @@ |
| #include "chrome/browser/ui/webui/signin/user_manager_screen_handler.h" |
| #include "base/bind.h" |
| +#include "base/prefs/pref_service.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "base/value_conversions.h" |
| #include "base/values.h" |
| @@ -21,6 +22,7 @@ |
| #include "chrome/browser/ui/browser_dialogs.h" |
| #include "chrome/browser/ui/browser_finder.h" |
| #include "chrome/browser/ui/singleton_tabs.h" |
| +#include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "content/public/browser/web_contents.h" |
| #include "content/public/browser/web_ui.h" |
| @@ -143,6 +145,12 @@ extensions::ScreenlockPrivateEventRouter* GetScreenlockRouter( |
| profile); |
| } |
| +bool IsGuestModeEnabled() { |
| + PrefService* service = g_browser_process->local_state(); |
| + DCHECK(service); |
| + return service->GetBoolean(prefs::kBrowserGuestModeEnabled); |
| +} |
| + |
| } // namespace |
| // ProfileUpdateObserver ------------------------------------------------------ |
| @@ -370,9 +378,16 @@ void UserManagerScreenHandler::HandleRemoveUser(const base::ListValue* args) { |
| } |
| void UserManagerScreenHandler::HandleLaunchGuest(const base::ListValue* args) { |
| - profiles::SwitchToGuestProfile(desktop_type_, |
| - base::Bind(&OnSwitchToProfileComplete)); |
| - ProfileMetrics::LogProfileSwitchUser(ProfileMetrics::SWITCH_PROFILE_GUEST); |
| + if (IsGuestModeEnabled()) { |
| + profiles::SwitchToGuestProfile(desktop_type_, |
| + base::Bind(&OnSwitchToProfileComplete)); |
| + ProfileMetrics::LogProfileSwitchUser(ProfileMetrics::SWITCH_PROFILE_GUEST); |
| + } else { |
| + // The third parameter sent to login.AccountPickerScreen.loadUsers at the |
|
Joao da Silva
2014/07/15 14:39:09
Now it's the 2nd parameter :-)
Mike Lerman
2014/07/17 15:21:52
True!
Making the comment more generic since I'm ch
|
| + // end of SendUsersList() should have prevented the UI from allowing the |
| + // user from launching guest mode. |
| + NOTREACHED(); |
| + } |
| } |
| void UserManagerScreenHandler::HandleLaunchUser(const base::ListValue* args) { |
| @@ -624,7 +639,7 @@ void UserManagerScreenHandler::SendUserList() { |
| } |
| web_ui()->CallJavascriptFunction("login.AccountPickerScreen.loadUsers", |
| - users_list, base::FundamentalValue(true)); |
| + users_list, base::FundamentalValue(IsGuestModeEnabled())); |
| } |
| void UserManagerScreenHandler::ReportAuthenticationResult( |