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 5b683c2a13a90d02942a73160d1a5239d707ad1e..5283fe742b98112d115bf0665e4662ed39637950 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -851,6 +851,10 @@ void SigninScreenHandler::RegisterMessages() { |
&SigninScreenHandler::HandleShowLoadingTimeoutError); |
AddCallback("updateOfflineLogin", |
&SigninScreenHandler::HandleUpdateOfflineLogin); |
+ |
+ // 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) { |
@@ -1622,6 +1626,10 @@ void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { |
offline_login_active_ = offline_login_active; |
} |
+void SigninScreenHandler::HandleLaunchKioskApp(const std::string& app_id) { |
+ delegate_->LaunchKioskApp(app_id); |
+} |
+ |
void SigninScreenHandler::StartClearingDnsCache() { |
if (dns_clear_task_running_ || !g_browser_process->io_thread()) |
return; |