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 eea91d8d8d9c4903b45c190364c34d9df81c5409..797690ac7d6904c61b5c0fd899b20f569897568e 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -80,8 +80,6 @@ |
#include "ash/wm/lock_state_controller.h" |
#endif |
-using content::BrowserThread; |
- |
namespace { |
// Max number of users to show. |
@@ -1293,10 +1291,20 @@ void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail( |
void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts( |
const std::string& user_id, |
const std::string& locale) { |
+ GetKeyboardLayoutsForLocale( |
+ base::Bind(&SigninScreenHandler::SendPublicSessionKeyboardLayouts, |
+ weak_factory_.GetWeakPtr(), |
+ user_id), |
+ locale); |
+} |
+ |
+void SigninScreenHandler::SendPublicSessionKeyboardLayouts( |
+ const std::string& user_id, |
+ scoped_ptr<base::ListValue> keyboard_layouts) { |
web_ui()->CallJavascriptFunction( |
"login.AccountPickerScreen.setPublicSessionKeyboardLayouts", |
base::StringValue(user_id), |
- *GetKeyboardLayoutsForLocale(locale).release()); |
+ *keyboard_layouts); |
} |
void SigninScreenHandler::HandleLaunchKioskApp(const std::string& app_id, |