diff options
author | zelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-17 02:31:35 +0000 |
---|---|---|
committer | zelidrag@chromium.org <zelidrag@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-17 02:31:35 +0000 |
commit | 46b66a0ffa66c7f5e87ce9b43292a574a9585fd9 (patch) | |
tree | bcc2d637bd19c7c14330a459de514c802226e140 | |
parent | 91f2a42fb10242f9f9311a4c42a978c2d8dedd1d (diff) | |
download | chromium_src-46b66a0ffa66c7f5e87ce9b43292a574a9585fd9.zip chromium_src-46b66a0ffa66c7f5e87ce9b43292a574a9585fd9.tar.gz chromium_src-46b66a0ffa66c7f5e87ce9b43292a574a9585fd9.tar.bz2 |
Merge 177114
> Fixed OAuth2 policy fetching retry logic.
>
> BUG=169999
> TEST=desktopui_ScreenLocker (ChromeOS BVT)
>
>
> Review URL: https://chromiumcodereview.appspot.com/11969010
TBR=zelidrag@chromium.org
Review URL: https://codereview.chromium.org/11970028
git-svn-id: svn://svn.chromium.org/chrome/branches/1364/src@177317 0039d316-1c4b-4281-b951-d872f2087c98
-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_; |