Chromium Code Reviews| 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..c78414b9d7f62c2c86b71b5cd1963ad1371c8e31 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,11 @@ 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 : gaia::CanonicalizeEmail(gaia::SanitizeEmail(username)); |
|
Joao da Silva
2014/10/08 13:19:17
SanitizeEmail seems redundant here, given that it'
Roger Tawa OOO till Jul 10th
2014/10/08 19:47:29
Done.
|
| client_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, username); |
| NotifyDiagnosticsObservers(USERNAME, username); |
| @@ -100,12 +97,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 { |