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 d1ccfa6da360abe49b22f99ad8fca6bc6dbfd64c..ddc22157a8dedd7042ea3aab5dbb37da4716cbee 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/bind.h" |
+#include "base/bind_helpers.h" |
#include "base/debug/trace_event.h" |
#include "base/location.h" |
#include "base/logging.h" |
@@ -46,6 +47,7 @@ |
#include "chrome/browser/io_thread.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/signin/easy_unlock_service.h" |
+#include "chrome/browser/ui/webui/chromeos/login/authenticated_user_email_retriever.h" |
#include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h" |
#include "chrome/browser/ui/webui/chromeos/login/l10n_util.h" |
#include "chrome/browser/ui/webui/chromeos/login/native_window_delegate.h" |
@@ -71,6 +73,7 @@ |
#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/web_contents.h" |
#include "google_apis/gaia/gaia_auth_util.h" |
+#include "net/url_request/url_request_context_getter.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
#include "ui/base/webui/web_ui_util.h" |
@@ -774,6 +777,8 @@ |
&SigninScreenHandler::HandleUpdateOfflineLogin); |
AddCallback("focusPod", &SigninScreenHandler::HandleFocusPod); |
AddCallback("hardlockPod", &SigninScreenHandler::HandleHardlockPod); |
+ AddCallback("retrieveAuthenticatedUserEmail", |
+ &SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail); |
AddCallback("getPublicSessionKeyboardLayouts", |
&SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts); |
AddCallback("cancelConsumerManagementEnrollment", |
@@ -1380,6 +1385,17 @@ |
service->SetHardlockState(EasyUnlockScreenlockStateHandler::USER_HARDLOCK); |
} |
+void SigninScreenHandler::HandleRetrieveAuthenticatedUserEmail( |
+ double attempt_token) { |
+ // TODO(antrim) : move GaiaSigninScreen dependency to GaiaSigninScreen. |
+ email_retriever_.reset(new AuthenticatedUserEmailRetriever( |
+ base::Bind(&SigninScreenHandler::CallJS<double, std::string>, |
+ base::Unretained(this), |
+ "login.GaiaSigninScreen.setAuthenticatedUserEmail", |
+ attempt_token), |
+ Profile::FromWebUI(web_ui())->GetRequestContext())); |
+} |
+ |
void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts( |
const std::string& user_id, |
const std::string& locale) { |