Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5694)

Unified Diff: chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.h

Issue 1143323005: Refactor AO2TS to make it easier to componentize. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address final comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.h
diff --git a/components/signin/core/browser/mutable_profile_oauth2_token_service.h b/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.h
similarity index 67%
rename from components/signin/core/browser/mutable_profile_oauth2_token_service.h
rename to chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.h
index 611a716dc2d827886d574f425d638fce9e13d472..e5295e61390f3558b780664bebf6a063016fc59a 100644
--- a/components/signin/core/browser/mutable_profile_oauth2_token_service.h
+++ b/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.h
@@ -1,9 +1,9 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
+// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef COMPONENTS_SIGNIN_CORE_BROWSER_MUTABLE_PROFILE_OAUTH2_TOKEN_SERVICE_H_
-#define COMPONENTS_SIGNIN_CORE_BROWSER_MUTABLE_PROFILE_OAUTH2_TOKEN_SERVICE_H_
+#ifndef CHROME_BROWSER_SIGNIN_MUTABLE_PROFILE_OAUTH2_TOKEN_SERVICE_DELEGATE_H_
+#define CHROME_BROWSER_SIGNIN_MUTABLE_PROFILE_OAUTH2_TOKEN_SERVICE_DELEGATE_H_
#include "base/memory/scoped_vector.h"
#include "base/threading/thread_checker.h"
@@ -13,30 +13,46 @@
#include "components/webdata/common/web_data_service_consumer.h"
#include "net/base/backoff_entry.h"
-// A specialization of ProfileOAuth2TokenService that can can mutate its OAuth2
-// tokens.
-//
-// Note: This class is just a placeholder for now. Methods used to mutate
-// the tokens are currently being migrated from ProfileOAuth2TokenService.
-class MutableProfileOAuth2TokenService : public ProfileOAuth2TokenService,
- public WebDataServiceConsumer {
+class MutableProfileOAuth2TokenServiceDelegate
+ : public OAuth2TokenServiceDelegate,
+ public WebDataServiceConsumer {
public:
- // ProfileOAuth2TokenService overrides.
- void Shutdown() override;
+ MutableProfileOAuth2TokenServiceDelegate(
+ SigninClient* client,
+ SigninErrorController* signin_error_controller);
+ ~MutableProfileOAuth2TokenServiceDelegate() override;
+
+ // OAuth2TokenServiceDelegate overrides.
+ OAuth2AccessTokenFetcher* CreateAccessTokenFetcher(
+ const std::string& account_id,
+ net::URLRequestContextGetter* getter,
+ OAuth2AccessTokenConsumer* consumer) override;
+
+ // Updates the internal cache of the result from the most-recently-completed
+ // auth request (used for reporting errors to the user).
+ void UpdateAuthError(const std::string& account_id,
+ const GoogleServiceAuthError& error) override;
+
+ bool RefreshTokenIsAvailable(const std::string& account_id) const override;
std::vector<std::string> GetAccounts() override;
+ net::URLRequestContextGetter* GetRequestContext() const override;
- // The below three methods should be called only on the thread on which this
- // object was created.
void LoadCredentials(const std::string& primary_account_id) override;
void UpdateCredentials(const std::string& account_id,
const std::string& refresh_token) override;
void RevokeAllCredentials() override;
- bool RefreshTokenIsAvailable(const std::string& account_id) const override;
// Revokes credentials related to |account_id|.
- void RevokeCredentials(const std::string& account_id);
+ void RevokeCredentials(const std::string& account_id) override;
+
+ // Overridden from OAuth2TokenServiceDelegate.
+ void Shutdown() override;
+
+ private:
+ friend class MutableProfileOAuth2TokenServiceDelegateTest;
+
+ class RevokeServerRefreshToken;
- protected:
class AccountInfo : public SigninErrorController::AuthStatusProvider {
public:
AccountInfo(SigninErrorController* signin_error_controller,
@@ -45,9 +61,7 @@ class MutableProfileOAuth2TokenService : public ProfileOAuth2TokenService,
~AccountInfo() override;
const std::string& refresh_token() const { return refresh_token_; }
- void set_refresh_token(const std::string& token) {
- refresh_token_ = token;
- }
+ void set_refresh_token(const std::string& token) { refresh_token_ = token; }
void SetLastAuthError(const GoogleServiceAuthError& error);
@@ -64,51 +78,22 @@ class MutableProfileOAuth2TokenService : public ProfileOAuth2TokenService,
DISALLOW_COPY_AND_ASSIGN(AccountInfo);
};
- // Maps the |account_id| of accounts known to ProfileOAuth2TokenService
- // to information about the account.
- typedef std::map<std::string, linked_ptr<AccountInfo> > AccountInfoMap;
-
- friend class ProfileOAuth2TokenServiceFactory;
- friend class MutableProfileOAuth2TokenServiceTest;
-
- MutableProfileOAuth2TokenService();
- ~MutableProfileOAuth2TokenService() override;
-
- // OAuth2TokenService implementation.
- OAuth2AccessTokenFetcher* CreateAccessTokenFetcher(
- const std::string& account_id,
- net::URLRequestContextGetter* getter,
- OAuth2AccessTokenConsumer* consumer) override;
- net::URLRequestContextGetter* GetRequestContext() override;
-
- // Updates the internal cache of the result from the most-recently-completed
- // auth request (used for reporting errors to the user).
- void UpdateAuthError(const std::string& account_id,
- const GoogleServiceAuthError& error) override;
-
- virtual std::string GetRefreshToken(const std::string& account_id) const;
-
- bool HasPersistentError(const std::string& account_id);
-
- AccountInfoMap& refresh_tokens() { return refresh_tokens_; }
-
- private:
- class RevokeServerRefreshToken;
-
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
- TokenServiceUpdateClearsCache);
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
PersistenceDBUpgrade);
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
- PersistenceLoadCredentials);
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
- CanonicalizeAccountId);
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
FetchPersistentError);
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
+ PersistenceLoadCredentials);
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
+ GetAccounts);
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
RetryBackoff);
- FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceTest,
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
+ CanonicalizeAccountId);
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
CanonAndNonCanonAccountId);
+ FRIEND_TEST_ALL_PREFIXES(MutableProfileOAuth2TokenServiceDelegateTest,
+ ShutdownService);
// WebDataServiceConsumer implementation:
void OnWebDataServiceRequestDone(WebDataServiceBase::Handle handle,
@@ -133,6 +118,11 @@ class MutableProfileOAuth2TokenService : public ProfileOAuth2TokenService,
// Cancels any outstanding fetch for tokens from the web database.
void CancelWebTokenFetch();
+ std::string GetRefreshToken(const std::string& account_id) const;
+
+ // Maps the |account_id| of accounts known to ProfileOAuth2TokenService
+ // to information about the account.
+ typedef std::map<std::string, linked_ptr<AccountInfo>> AccountInfoMap;
// In memory refresh token store mapping account_id to refresh_token.
AccountInfoMap refresh_tokens_;
@@ -154,7 +144,9 @@ class MutableProfileOAuth2TokenService : public ProfileOAuth2TokenService,
net::BackoffEntry backoff_entry_;
GoogleServiceAuthError backoff_error_;
- DISALLOW_COPY_AND_ASSIGN(MutableProfileOAuth2TokenService);
-};
+ SigninClient* client_;
+ SigninErrorController* signin_error_controller_;
-#endif // COMPONENTS_SIGNIN_CORE_BROWSER_MUTABLE_PROFILE_OAUTH2_TOKEN_SERVICE_H_
+ DISALLOW_COPY_AND_ASSIGN(MutableProfileOAuth2TokenServiceDelegate);
+};
+#endif

Powered by Google App Engine
This is Rietveld 408576698