Index: components/signin/core/browser/signin_manager_base.cc |
diff --git a/components/signin/core/browser/signin_manager_base.cc b/components/signin/core/browser/signin_manager_base.cc |
index 8d6f3096cb95b86231557acfa8c1c478d3d8824b..7b20d5cd59de47a85e758965816d16f880f2b00d 100644 |
--- a/components/signin/core/browser/signin_manager_base.cc |
+++ b/components/signin/core/browser/signin_manager_base.cc |
@@ -41,16 +41,8 @@ void SigninManagerBase::Initialize(PrefService* local_state) { |
std::string user = |
client_->GetPrefs()->GetString(prefs::kGoogleServicesUsername); |
- if (!user.empty()) { |
-#if defined(OS_IOS) |
- // Prior to M38, Chrome on iOS did not normalize the email before setting |
- // it in SigninManager. |AccountReconcilor| expects the authenticated email |
- // to be normalized as it used as an account identifier and is compared |
- // to the accounts available in the cookies. |
- user = gaia::CanonicalizeEmail(gaia::SanitizeEmail(user)); |
-#endif |
+ if (!user.empty()) |
SetAuthenticatedUsername(user); |
- } |
} |
bool SigninManagerBase::IsInitialized() const { return initialized_; } |
@@ -64,7 +56,7 @@ const std::string& SigninManagerBase::GetAuthenticatedUsername() const { |
} |
const std::string& SigninManagerBase::GetAuthenticatedAccountId() const { |
- return GetAuthenticatedUsername(); |
+ return authenticated_account_id_; |
} |
void SigninManagerBase::SetAuthenticatedUsername(const std::string& username) { |
@@ -91,6 +83,12 @@ void SigninManagerBase::SetAuthenticatedUsername(const std::string& username) { |
DCHECK(pref_username.empty() || gaia::AreEmailsSame(username, pref_username)) |
<< "username: " << username << "; pref_username: " << pref_username; |
authenticated_username_ = username; |
+ |
+ // Some tests don't use a real email address for the username. To support |
+ // these cases, don't try to canonicalize these strings. |
+ authenticated_account_id_ = (username.find('@') == std::string::npos) |
+ ? username |
guohui
2014/10/07 04:06:03
nits: i think the chromium code style is to have o
Roger Tawa OOO till Jul 10th
2014/10/07 21:38:30
Done.
|
+ : gaia::CanonicalizeEmail(gaia::SanitizeEmail(username)); |
client_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, username); |
NotifyDiagnosticsObservers(USERNAME, username); |
@@ -100,12 +98,13 @@ void SigninManagerBase::SetAuthenticatedUsername(const std::string& username) { |
client_->GetPrefs()->SetString(prefs::kGoogleServicesLastUsername, username); |
} |
-void SigninManagerBase::clear_authenticated_username() { |
+void SigninManagerBase::ClearAuthenticatedUsername() { |
authenticated_username_.clear(); |
+ authenticated_account_id_.clear(); |
} |
bool SigninManagerBase::IsAuthenticated() const { |
- return !GetAuthenticatedAccountId().empty(); |
+ return !authenticated_account_id_.empty(); |
} |
bool SigninManagerBase::AuthInProgress() const { |