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

Unified Diff: components/user_manager/user_manager.cc

Issue 1463753002: ChromeOS: This CL fixes bug in UserManager::GetKnownUserAccountId . (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review. Created 5 years, 1 month 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 | « components/user_manager/user_manager.h ('k') | components/user_manager/user_manager_base.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/user_manager/user_manager.cc
diff --git a/components/user_manager/user_manager.cc b/components/user_manager/user_manager.cc
index 3cf3f267993afb3721fe6531127a583634d6c657..869b36644c38bf5c0295492efaefa76708dff868 100644
--- a/components/user_manager/user_manager.cc
+++ b/components/user_manager/user_manager.cc
@@ -5,6 +5,8 @@
#include "components/user_manager/user_manager.h"
#include "base/logging.h"
+#include "chromeos/login/user_names.h"
+#include "components/signin/core/account_id/account_id.h"
namespace user_manager {
@@ -85,4 +87,27 @@ UserManager* UserManager::SetForTesting(UserManager* user_manager) {
return previous_instance;
}
+// static
+AccountId UserManager::GetKnownUserAccountId(const std::string& user_email,
+ const std::string& gaia_id) {
+ // In tests empty accounts are possible.
+ if (user_email.empty() && gaia_id.empty())
+ return EmptyAccountId();
+
+ if (user_email == chromeos::login::kStubUser)
+ return chromeos::login::StubAccountId();
+
+ if (user_email == chromeos::login::kGuestUserName)
+ return chromeos::login::GuestAccountId();
+
+ UserManager* user_manager = Get();
+ if (user_manager)
+ return user_manager->GetKnownUserAccountIdImpl(user_email, gaia_id);
+
+ // This is fallback for tests.
+ return (gaia_id.empty()
+ ? AccountId::FromUserEmail(user_email)
+ : AccountId::FromUserEmailGaiaId(user_email, gaia_id));
+}
+
} // namespace user_manager
« no previous file with comments | « components/user_manager/user_manager.h ('k') | components/user_manager/user_manager_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698