| Index: chrome/browser/chromeos/login/session/user_session_manager.cc
|
| diff --git a/chrome/browser/chromeos/login/session/user_session_manager.cc b/chrome/browser/chromeos/login/session/user_session_manager.cc
|
| index 6764105fc11898247d7e7addb0e3142cf79850ff..b595ad809f3e4d39088f2c010e44a6d754cb309e 100644
|
| --- a/chrome/browser/chromeos/login/session/user_session_manager.cc
|
| +++ b/chrome/browser/chromeos/login/session/user_session_manager.cc
|
| @@ -34,6 +34,7 @@
|
| #include "chrome/browser/chromeos/login/chrome_restart_request.h"
|
| #include "chrome/browser/chromeos/login/demo_mode/demo_app_launcher.h"
|
| #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h"
|
| +#include "chrome/browser/chromeos/login/helper.h"
|
| #include "chrome/browser/chromeos/login/lock/screen_locker.h"
|
| #include "chrome/browser/chromeos/login/profile_auth_data.h"
|
| #include "chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.h"
|
| @@ -72,7 +73,6 @@
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/logging_chrome.h"
|
| #include "chrome/common/pref_names.h"
|
| -#include "chrome/common/url_constants.h"
|
| #include "chromeos/cert_loader.h"
|
| #include "chromeos/chromeos_switches.h"
|
| #include "chromeos/cryptohome/cryptohome_util.h"
|
| @@ -974,8 +974,8 @@ void UserSessionManager::UserProfileInitialized(Profile* profile,
|
| const bool transfer_auth_cookies_and_channel_ids_on_first_login =
|
| has_auth_cookies_;
|
| ProfileAuthData::Transfer(
|
| - authenticator_->authentication_context(),
|
| - profile,
|
| + GetAuthRequestContext(),
|
| + profile->GetRequestContext(),
|
| transfer_auth_cookies_and_channel_ids_on_first_login,
|
| transfer_saml_auth_cookies_on_subsequent_login,
|
| base::Bind(&UserSessionManager::CompleteProfileCreateAfterAuthTransfer,
|
| @@ -1204,27 +1204,10 @@ void UserSessionManager::RestoreAuthSessionImpl(
|
| OAuth2LoginManager* login_manager =
|
| OAuth2LoginManagerFactory::GetInstance()->GetForProfile(profile);
|
| login_manager->AddObserver(this);
|
| - net::URLRequestContextGetter* auth_request_context = NULL;
|
| -
|
| - if (StartupUtils::IsWebviewSigninEnabled()) {
|
| - // Webview uses different partition storage than iframe. We need to get
|
| - // cookies from the right storage for url request to get auth token into
|
| - // session.
|
| - GURL oobe_url(chrome::kChromeUIOobeURL);
|
| - GURL guest_url(std::string(content::kGuestScheme) +
|
| - url::kStandardSchemeSeparator + oobe_url.GetContent());
|
| - content::StoragePartition* partition =
|
| - content::BrowserContext::GetStoragePartitionForSite(
|
| - ProfileHelper::GetSigninProfile(), guest_url);
|
| - auth_request_context = partition->GetURLRequestContext();
|
| - } else if (authenticator_.get() && authenticator_->authentication_context()) {
|
| - auth_request_context =
|
| - authenticator_->authentication_context()->GetRequestContext();
|
| - }
|
|
|
| - login_manager->RestoreSession(auth_request_context, session_restore_strategy_,
|
| - user_context_.GetRefreshToken(),
|
| - user_context_.GetAuthCode());
|
| + login_manager->RestoreSession(
|
| + GetAuthRequestContext(), session_restore_strategy_,
|
| + user_context_.GetRefreshToken(), user_context_.GetAuthCode());
|
| }
|
|
|
| void UserSessionManager::InitRlzImpl(Profile* profile, bool disabled) {
|
| @@ -1411,6 +1394,22 @@ void UserSessionManager::UpdateEasyUnlockKeys(const UserContext& user_context) {
|
| user_context.GetUserID()));
|
| }
|
|
|
| +net::URLRequestContextGetter*
|
| +UserSessionManager::GetAuthRequestContext() const {
|
| + net::URLRequestContextGetter* auth_request_context = NULL;
|
| +
|
| + if (StartupUtils::IsWebviewSigninEnabled()) {
|
| + // Webview uses different partition storage than iframe. We need to get
|
| + // cookies from the right storage for url request to get auth token into
|
| + // session.
|
| + auth_request_context = login::GetSigninPartition()->GetURLRequestContext();
|
| + } else if (authenticator_.get() && authenticator_->authentication_context()) {
|
| + auth_request_context =
|
| + authenticator_->authentication_context()->GetRequestContext();
|
| + }
|
| + return auth_request_context;
|
| +}
|
| +
|
| void UserSessionManager::AttemptRestart(Profile* profile) {
|
| if (CheckEasyUnlockKeyOps(base::Bind(&UserSessionManager::AttemptRestart,
|
| AsWeakPtr(), profile))) {
|
|
|