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