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

Unified Diff: chrome/browser/chromeos/login/existing_user_controller.cc

Issue 1138143002: Pass Device ID in the oauth2/token request. Keep Device ID in local state on Chrome OS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final version. Created 5 years, 7 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/chromeos/login/existing_user_controller.cc
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
index 54a6820cbac13b39200f5b28d2bd910d0a33ada9..686ea1e0005be38f3defb75e67f63eb279707415 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -10,6 +10,7 @@
#include "base/bind_helpers.h"
#include "base/callback.h"
#include "base/command_line.h"
+#include "base/guid.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
@@ -89,6 +90,8 @@ namespace {
const char kCreateAccountURL[] =
"https://accounts.google.com/NewAccount?service=mail";
+const char kEphemeralUserDeviceIDPrefix[] = "t_";
+
// Delay for transferring the auth cache to the system profile.
const long int kAuthCacheTransferDelayMs = 2000;
@@ -1119,7 +1122,23 @@ void ExistingUserController::ContinueLoginIfDeviceNotDisabled(
continuation.Run();
}
-void ExistingUserController::DoCompleteLogin(const UserContext& user_context) {
+void ExistingUserController::DoCompleteLogin(
+ const UserContext& user_context_wo_device_id) {
achuithb 2015/05/12 23:25:01 Maybe call this user_context, and use uc for the s
dzhioev (left Google) 2015/05/13 00:25:17 'user_context' variable is used 5-6 times in this
+ UserContext user_context = user_context_wo_device_id;
+ std::string known_device_id =
achuithb 2015/05/12 23:25:01 I'd suggest merging the variables known_device_id
dzhioev (left Google) 2015/05/13 00:25:17 Done.
+ user_manager::UserManager::Get()->GetKnownUserDeviceId(
+ user_context.GetUserID());
+ if (known_device_id.empty()) {
+ std::string new_device_id = base::GenerateGUID();
+ if (ChromeUserManager::Get()->AreEphemeralUsersEnabled() &&
+ user_context.GetUserID() != ChromeUserManager::Get()->GetOwnerEmail()) {
+ new_device_id = kEphemeralUserDeviceIDPrefix + new_device_id;
+ }
+ user_context.SetDeviceId(new_device_id);
+ } else {
+ user_context.SetDeviceId(known_device_id);
+ }
+
PerformPreLoginActions(user_context);
if (!time_init_.is_null()) {

Powered by Google App Engine
This is Rietveld 408576698