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

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: Fix bugs. 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
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..a88e3a48c9dda24081998d7780c6d747b68c59cb 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()),
Nikita (slow) 2015/04/22 16:46:52 As discussed, let's store this device ID only to a
Alexander Alekseev 2015/04/22 17:58:07 Done.
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,18 @@ void GaiaScreenHandler::HandleToggleEasyBootstrap() {
LoadAuthExtension(kForceReload, kSilentLoad, kNoOfflineUI);
}
+void GaiaScreenHandler::HandleAttemptLogin(const std::string& email) {
+ std::string device_id =
+ user_manager::UserManager::Get()->GetKnownUserDeviceId(
+ gaia::CanonicalizeEmail(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 +935,13 @@ void GaiaScreenHandler::LoadAuthExtension(bool force,
context.has_users = !Delegate()->GetUsers().empty();
}
+ if (!context.email.empty()) {
+ context.device_id = user_manager::UserManager::Get()->GetKnownUserDeviceId(
+ gaia::CanonicalizeEmail(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();
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698