Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
index 40b2eeffe476b737f3cb2ffd836f865964759f4b..6192c72e166e1ddc6b7ad4984b648054a2bbc1fb 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -852,6 +852,10 @@ void SigninScreenHandler::RegisterMessages() { |
AddCallback("updateOfflineLogin", |
&SigninScreenHandler::HandleUpdateOfflineLogin); |
AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod); |
+ |
+ // This message is sent by the kiosk app menu, but is handled here |
+ // so we can tell the delegate to launch the app. |
+ AddCallback("launchKioskApp", &SigninScreenHandler::HandleLaunchKioskApp); |
} |
void SigninScreenHandler::RegisterPrefs(PrefRegistrySimple* registry) { |
@@ -1626,6 +1630,10 @@ void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { |
SetUserInputMethod(user_id); |
} |
+void SigninScreenHandler::HandleLaunchKioskApp(const std::string& app_id) { |
+ delegate_->LoginAsKioskApp(app_id); |
+} |
+ |
void SigninScreenHandler::StartClearingDnsCache() { |
if (dns_clear_task_running_ || !g_browser_process->io_thread()) |
return; |