diff options
-rw-r--r-- | chrome/browser/chromeos/login/oauth2_policy_fetcher.cc | 17 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/oauth2_policy_fetcher.h | 8 |
2 files changed, 13 insertions, 12 deletions
diff --git a/chrome/browser/chromeos/login/oauth2_policy_fetcher.cc b/chrome/browser/chromeos/login/oauth2_policy_fetcher.cc index 77f9fa6..364c5ba 100644 --- a/chrome/browser/chromeos/login/oauth2_policy_fetcher.cc +++ b/chrome/browser/chromeos/login/oauth2_policy_fetcher.cc @@ -38,12 +38,8 @@ const char kServiceScopeChromeOSDeviceManagement[] = OAuth2PolicyFetcher::OAuth2PolicyFetcher( net::URLRequestContextGetter* auth_context_getter, net::URLRequestContextGetter* system_context_getter) - : refresh_token_fetcher_( - new GaiaAuthFetcher(this, - GaiaConstants::kChromeSource, - auth_context_getter)), - access_token_fetcher_( - new OAuth2AccessTokenFetcher(this, system_context_getter)), + : auth_context_getter_(auth_context_getter), + system_context_getter_(system_context_getter), retry_count_(0), failed_(false) { } @@ -51,8 +47,7 @@ OAuth2PolicyFetcher::OAuth2PolicyFetcher( OAuth2PolicyFetcher::OAuth2PolicyFetcher( net::URLRequestContextGetter* system_context_getter, const std::string& oauth2_refresh_token) - : access_token_fetcher_( - new OAuth2AccessTokenFetcher(this, system_context_getter)), + : system_context_getter_(system_context_getter), oauth2_refresh_token_(oauth2_refresh_token), retry_count_(0), failed_(false) { @@ -72,12 +67,18 @@ void OAuth2PolicyFetcher::Start() { void OAuth2PolicyFetcher::StartFetchingRefreshToken() { DCHECK(refresh_token_fetcher_.get()); + refresh_token_fetcher_.reset( + new GaiaAuthFetcher(this, + GaiaConstants::kChromeSource, + auth_context_getter_)); refresh_token_fetcher_->StartCookieForOAuthLoginTokenExchange(EmptyString()); } void OAuth2PolicyFetcher::StartFetchingAccessToken() { std::vector<std::string> scopes; scopes.push_back(kServiceScopeChromeOSDeviceManagement); + access_token_fetcher_.reset( + new OAuth2AccessTokenFetcher(this, system_context_getter_)); access_token_fetcher_->Start( GaiaUrls::GetInstance()->oauth2_chrome_client_id(), GaiaUrls::GetInstance()->oauth2_chrome_client_secret(), diff --git a/chrome/browser/chromeos/login/oauth2_policy_fetcher.h b/chrome/browser/chromeos/login/oauth2_policy_fetcher.h index 68688aa..2376fb3 100644 --- a/chrome/browser/chromeos/login/oauth2_policy_fetcher.h +++ b/chrome/browser/chromeos/login/oauth2_policy_fetcher.h @@ -10,18 +10,16 @@ #include "base/basictypes.h" #include "base/callback_forward.h" #include "base/compiler_specific.h" +#include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "google_apis/gaia/gaia_auth_consumer.h" #include "google_apis/gaia/oauth2_access_token_consumer.h" +#include "net/url_request/url_request_context_getter.h" class GaiaAuthFetcher; class OAuth2AccessTokenFetcher; -namespace net { -class URLRequestContextGetter; -} - namespace chromeos { // Fetches the OAuth2 token for the device management service. Since Profile @@ -90,6 +88,8 @@ class OAuth2PolicyFetcher : public base::SupportsWeakPtr<OAuth2PolicyFetcher>, void RetryOnError(const GoogleServiceAuthError& error, const base::Closure& task); + scoped_refptr<net::URLRequestContextGetter> auth_context_getter_; + scoped_refptr<net::URLRequestContextGetter> system_context_getter_; scoped_ptr<GaiaAuthFetcher> refresh_token_fetcher_; scoped_ptr<OAuth2AccessTokenFetcher> access_token_fetcher_; std::string policy_token_; |