| 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 485016214c0ad4f49680b449844dc7de05dd1cd4..c8104f767934026b1f38cad2b6f9dca25e9876b5 100644
|
| --- a/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc
|
| @@ -144,6 +144,12 @@ extensions::ScreenlockPrivateEventRouter* GetScreenlockRouter(
|
| profile);
|
| }
|
|
|
| +bool IsGuestModeEnabled() {
|
| + PrefService* service = g_browser_process->local_state();
|
| + DCHECK(service);
|
| + return service->GetBoolean(prefs::kBrowserGuestModeEnabled);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // ProfileUpdateObserver ------------------------------------------------------
|
| @@ -280,7 +286,8 @@ void UserManagerScreenHandler::Unlock(const std::string& user_email) {
|
|
|
| void UserManagerScreenHandler::HandleInitialize(const base::ListValue* args) {
|
| SendUserList();
|
| - web_ui()->CallJavascriptFunction("cr.ui.Oobe.showUserManagerScreen");
|
| + web_ui()->CallJavascriptFunction("cr.ui.Oobe.showUserManagerScreen",
|
| + base::FundamentalValue(IsGuestModeEnabled()));
|
| desktop_type_ = chrome::GetHostDesktopTypeForNativeView(
|
| web_ui()->GetWebContents()->GetNativeView());
|
|
|
| @@ -368,9 +375,15 @@ 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 UI should have prevented the user from allowing the selection of
|
| + // guest mode.
|
| + NOTREACHED();
|
| + }
|
| }
|
|
|
| void UserManagerScreenHandler::HandleLaunchUser(const base::ListValue* args) {
|
| @@ -624,7 +637,7 @@ void UserManagerScreenHandler::SendUserList() {
|
| }
|
|
|
| web_ui()->CallJavascriptFunction("login.AccountPickerScreen.loadUsers",
|
| - users_list, base::FundamentalValue(true));
|
| + users_list, base::FundamentalValue(IsGuestModeEnabled()));
|
| }
|
|
|
| void UserManagerScreenHandler::ReportAuthenticationResult(
|
|
|