Index: components/signin/ios/browser/profile_oauth2_token_service_ios.h |
diff --git a/components/signin/ios/browser/profile_oauth2_token_service_ios.h b/components/signin/ios/browser/profile_oauth2_token_service_ios.h |
deleted file mode 100644 |
index 944e2277ea18ff614cea153766928e876c82c83f..0000000000000000000000000000000000000000 |
--- a/components/signin/ios/browser/profile_oauth2_token_service_ios.h |
+++ /dev/null |
@@ -1,163 +0,0 @@ |
-// Copyright 2014 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_IOS_BROWSER_PROFILE_OAUTH2_TOKEN_SERVICE_IOS_H_ |
-#define COMPONENTS_SIGNIN_IOS_BROWSER_PROFILE_OAUTH2_TOKEN_SERVICE_IOS_H_ |
- |
-#include <string> |
- |
-#include "base/threading/thread_checker.h" |
-#include "components/signin/core/browser/profile_oauth2_token_service.h" |
-#include "components/signin/core/browser/signin_error_controller.h" |
- |
-class OAuth2AccessTokenFetcher; |
- |
-namespace ios{ |
-class ProfileOAuth2TokenServiceIOSProvider; |
-} |
- |
-// A specialization of ProfileOAuth2TokenService that will be returned by |
-// ProfileOAuth2TokenServiceFactory for OS_IOS when iOS authentication service |
-// is used to lookup OAuth2 tokens. |
-// |
-// See |ProfileOAuth2TokenService| for usage details. |
-// |
-// Note: Requests should be started from the UI thread. To start a |
-// request from aother thread, please use OAuth2TokenServiceRequest. |
-class ProfileOAuth2TokenServiceIOS : public ProfileOAuth2TokenService { |
- public: |
- // KeyedService |
- void Shutdown() override; |
- |
- // OAuth2TokenService |
- bool RefreshTokenIsAvailable(const std::string& account_id) const override; |
- |
- void InvalidateOAuth2Token(const std::string& account_id, |
- const std::string& client_id, |
- const ScopeSet& scopes, |
- const std::string& access_token) override; |
- |
- // ProfileOAuth2TokenService |
- void Initialize(SigninClient* client, |
- SigninErrorController* signin_error_controller) override; |
- void LoadCredentials(const std::string& primary_account_id) override; |
- std::vector<std::string> GetAccounts() override; |
- void UpdateAuthError(const std::string& account_id, |
- const GoogleServiceAuthError& error) override; |
- |
- // This method should not be called when using shared authentication. |
- void UpdateCredentials(const std::string& account_id, |
- const std::string& refresh_token) override; |
- |
- // Removes all credentials from this instance of |ProfileOAuth2TokenService|, |
- // however, it does not revoke the identities from the device. |
- // Subsequent calls to |RefreshTokenIsAvailable| will return |false|. |
- void RevokeAllCredentials() override; |
- |
- // Reloads accounts from the provider. Fires |OnRefreshTokenAvailable| for |
- // each new account. Fires |OnRefreshTokenRevoked| for each account that was |
- // removed. |
- // It expects that there is already a primary account id. |
- void ReloadCredentials(); |
- |
- // Sets the primary account and then reloads the accounts from the provider. |
- // Should be called when the user signs in to a new account. |
- // |primary_account_id| must not be an empty string. |
- void ReloadCredentials(const std::string& primary_account_id); |
- |
- // Sets the account that should be ignored by this token service. |
- // |ReloadCredentials| needs to be called for this change to be effective. |
- void ExcludeSecondaryAccount(const std::string& account_id); |
- void IncludeSecondaryAccount(const std::string& account_id); |
- void ExcludeSecondaryAccounts(const std::vector<std::string>& account_ids); |
- |
- // Excludes all secondary accounts. |ReloadCredentials| needs to be called for |
- // this change to be effective. |
- void ExcludeAllSecondaryAccounts(); |
- |
- protected: |
- friend class ProfileOAuth2TokenServiceFactory; |
- friend class ProfileOAuth2TokenServiceIOSTest; |
- FRIEND_TEST_ALL_PREFIXES(ProfileOAuth2TokenServiceIOSTest, |
- ExcludeSecondaryAccounts); |
- FRIEND_TEST_ALL_PREFIXES(ProfileOAuth2TokenServiceIOSTest, |
- LoadRevokeCredentialsClearsExcludedAccounts); |
- |
- ProfileOAuth2TokenServiceIOS(); |
- ~ProfileOAuth2TokenServiceIOS() override; |
- |
- OAuth2AccessTokenFetcher* CreateAccessTokenFetcher( |
- const std::string& account_id, |
- net::URLRequestContextGetter* getter, |
- OAuth2AccessTokenConsumer* consumer) override; |
- |
- // Protected and virtual to be overriden by fake for testing. |
- |
- // Adds |account_id| to |accounts_| if it does not exist or udpates |
- // the auth error state of |account_id| if it exists. Fires |
- // |OnRefreshTokenAvailable| if the account info is updated. |
- virtual void AddOrUpdateAccount(const std::string& account_id); |
- |
- // Removes |account_id| from |accounts_|. Fires |OnRefreshTokenRevoked| |
- // if the account info is removed. |
- virtual void RemoveAccount(const std::string& account_id); |
- |
- private: |
- class AccountInfo : public SigninErrorController::AuthStatusProvider { |
- public: |
- AccountInfo(SigninErrorController* signin_error_controller, |
- const std::string& account_id); |
- ~AccountInfo() override; |
- |
- void SetLastAuthError(const GoogleServiceAuthError& error); |
- |
- // SigninErrorController::AuthStatusProvider implementation. |
- std::string GetAccountId() const override; |
- GoogleServiceAuthError GetAuthStatus() const override; |
- |
- bool marked_for_removal() const { return marked_for_removal_; } |
- void set_marked_for_removal(bool marked_for_removal) { |
- marked_for_removal_ = marked_for_removal; |
- } |
- |
- private: |
- SigninErrorController* signin_error_controller_; |
- std::string account_id_; |
- GoogleServiceAuthError last_auth_error_; |
- bool marked_for_removal_; |
- |
- 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; |
- |
- // Returns the iOS provider; |
- ios::ProfileOAuth2TokenServiceIOSProvider* GetProvider(); |
- |
- // Returns the account ids that should be ignored by this token service. |
- std::set<std::string> GetExcludedSecondaryAccounts(); |
- |
- // Returns true if this token service should exclude all secondary accounts. |
- bool GetExcludeAllSecondaryAccounts(); |
- |
- // Clears exclude secondary accounts preferences. |
- void ClearExcludedSecondaryAccounts(); |
- |
- // The primary account id. |
- std::string primary_account_id_; |
- |
- // Info about the existing accounts. |
- AccountInfoMap accounts_; |
- |
- // Calls to this class are expected to be made from the browser UI thread. |
- // The purpose of this checker is to detect access to |
- // ProfileOAuth2TokenService from multiple threads in upstream code. |
- base::ThreadChecker thread_checker_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ProfileOAuth2TokenServiceIOS); |
-}; |
- |
-#endif // COMPONENTS_SIGNIN_IOS_BROWSER_PROFILE_OAUTH2_TOKEN_SERVICE_IOS_H_ |