Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3969)

Unified Diff: chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc

Issue 1063753004: Use HTML messages to inform GAIA about deviceId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
index bffd9ef2b8a95f44bcb4a4519612dbcec09a2fde..e771305e5032b032e125a337ea12ef738bc55a4f 100644
--- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -176,8 +176,10 @@ GaiaScreenHandler::GaiaScreenHandler(
test_expects_complete_login_(false),
use_easy_bootstrap_(false),
signin_screen_handler_(NULL),
+ temporary_device_id_(base::GenerateGUID()),
weak_factory_(this) {
DCHECK(network_state_informer_.get());
+ DCHECK(!temporary_device_id_.empty());
}
GaiaScreenHandler::~GaiaScreenHandler() {
@@ -416,6 +418,7 @@ void GaiaScreenHandler::RegisterMessages() {
&GaiaScreenHandler::HandleToggleWebviewSignin);
AddCallback("toggleEasyBootstrap",
&GaiaScreenHandler::HandleToggleEasyBootstrap);
+ AddCallback("attemptLogin", &GaiaScreenHandler::HandleAttemptLogin);
}
void GaiaScreenHandler::HandleFrameLoadingCompleted(int status) {
@@ -578,6 +581,16 @@ void GaiaScreenHandler::HandleToggleEasyBootstrap() {
LoadAuthExtension(kForceReload, kSilentLoad, kNoOfflineUI);
}
+void GaiaScreenHandler::HandleAttemptLogin(const std::string& email) {
+ std::string device_id =
+ user_manager::UserManager::Get()->GetKnownUserDeviceId(email);
+ if (!device_id.empty() && StartupUtils::IsWebviewSigninEnabled()) {
+ base::DictionaryValue params;
+ params.SetString("deviceId", device_id);
+ CallJS("updateDeviceId", params);
+ }
+}
+
void GaiaScreenHandler::HandleGaiaUIReady() {
if (focus_stolen_) {
// Set focus to the Gaia page.
@@ -920,9 +933,13 @@ void GaiaScreenHandler::LoadAuthExtension(bool force,
context.has_users = !Delegate()->GetUsers().empty();
}
+ if (!context.email.empty()) {
+ context.device_id =
+ user_manager::UserManager::Get()->GetKnownUserDeviceId(context.email);
+ }
+
if (context.device_id.empty()) {
- context.device_id = base::GenerateGUID();
- DCHECK(!context.device_id.empty());
+ context.device_id = temporary_device_id_;
}
context.session_is_ephemeral =
ChromeUserManager::Get()->AreEphemeralUsersEnabled();

Powered by Google App Engine
This is Rietveld 408576698