Index: chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
diff --git a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
index 25dce577bab4195c74b0dca0db4b15ab9c30bd84..a805bd119831e59558d60c81b1b43f6a6812efff 100644 |
--- a/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
+++ b/chrome/browser/ui/webui/signin/inline_login_handler_impl.cc |
@@ -14,6 +14,7 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/signin/about_signin_internals_factory.h" |
#include "chrome/browser/signin/chrome_signin_client_factory.h" |
+#include "chrome/browser/signin/local_auth.h" |
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
#include "chrome/browser/signin/signin_manager_factory.h" |
#include "chrome/browser/sync/profile_sync_service.h" |
@@ -115,10 +116,19 @@ void InlineSigninHelper::OnSigninOAuthInformationAvailable( |
} |
AboutSigninInternals* about_signin_internals = |
- AboutSigninInternalsFactory::GetForProfile(profile_); |
+ AboutSigninInternalsFactory::GetForProfile(profile_); |
about_signin_internals->OnRefreshTokenReceived("Successful"); |
signin::Source source = signin::GetSourceForPromoURL(current_url_); |
+ |
+ std::string primary_email = |
+ SigninManagerFactory::GetForProfile(profile_)->GetAuthenticatedUsername(); |
+ if (gaia::AreEmailsSame(email, primary_email) && |
+ source == signin::SOURCE_REAUTH && |
+ switches::IsNewProfileManagement()) { |
+ chrome::SetLocalAuthCredentials(profile_, password_); |
+ } |
+ |
if (source == signin::SOURCE_AVATAR_BUBBLE_ADD_ACCOUNT || |
source == signin::SOURCE_REAUTH) { |
ProfileOAuth2TokenServiceFactory::GetForProfile(profile_)-> |