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

Unified Diff: chrome/browser/policy/cloud/cloud_policy_client_registration_helper.h

Issue 23068005: Convert UserPolicySigninService to use OAuth2TokenService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with ToT Created 7 years, 4 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/policy/cloud/cloud_policy_client_registration_helper.h
diff --git a/chrome/browser/policy/cloud/cloud_policy_client_registration_helper.h b/chrome/browser/policy/cloud/cloud_policy_client_registration_helper.h
index 330cfbdb22c1914d55dcf7c139b33da3aa1b19f8..cb26ed5d632b0ff14042e88b89e1609ab22593c3 100644
--- a/chrome/browser/policy/cloud/cloud_policy_client_registration_helper.h
+++ b/chrome/browser/policy/cloud/cloud_policy_client_registration_helper.h
@@ -16,6 +16,7 @@
#include "chrome/browser/policy/proto/cloud/device_management_backend.pb.h"
class AndroidProfileOAuth2TokenService;
+class OAuth2TokenService;
namespace net {
class URLRequestContextGetter;
@@ -40,15 +41,23 @@ class CloudPolicyClientRegistrationHelper : public UserInfoFetcher::Delegate,
enterprise_management::DeviceRegisterRequest::Type registration_type);
virtual ~CloudPolicyClientRegistrationHelper();
-#if defined(OS_ANDROID)
// Starts the client registration process. This version uses the
- // AndroidProfileOAuth2TokenService to mint the new token for the userinfo
+ // supplied OAuth2TokenService to mint the new token for the userinfo
// and DM services, using the |username| account.
// |callback| is invoked when the registration is complete.
- void StartRegistration(AndroidProfileOAuth2TokenService* token_service,
- const std::string& username,
- const base::Closure& callback);
+ void StartRegistration(
+#if defined(OS_ANDROID)
+ // TODO(atwilson): Remove this when the Android StartRequestForUsername()
+ // API is folded into the base OAuth2TokenService class (when that class
+ // is made multi-account aware).
+ AndroidProfileOAuth2TokenService* token_service,
#else
+ OAuth2TokenService* token_service,
+#endif
+ const std::string& username,
+ const base::Closure& callback);
+
+#if !defined(OS_ANDROID)
// Starts the client registration process. The |login_refresh_token| is used
// to mint a new token for the userinfo and DM services.
// |callback| is invoked when the registration is complete.
@@ -57,10 +66,9 @@ class CloudPolicyClientRegistrationHelper : public UserInfoFetcher::Delegate,
#endif
private:
-#if defined(OS_ANDROID)
- class TokenHelperAndroid;
-#else
- class TokenHelper;
+ class TokenServiceHelper;
+#if !defined(OS_ANDROID)
+ class LoginTokenHelper;
#endif
void OnTokenFetched(const std::string& oauth_access_token);
@@ -79,13 +87,17 @@ class CloudPolicyClientRegistrationHelper : public UserInfoFetcher::Delegate,
// Invoked when the registration request has been completed.
void RequestCompleted();
- // Internal helper used to fetch the access token. There is an OS_ANDROID
- // implementation which uses the AccountManager and a known account name,
- // and a desktop implementation which uses an OAuth2AccessTokenFetcher.
-#if defined(OS_ANDROID)
- scoped_ptr<TokenHelperAndroid> token_helper_;
-#else
- scoped_ptr<TokenHelper> token_helper_;
+ // Internal helper class that uses OAuth2TokenService to fetch an OAuth
+ // access token. On desktop, this is only used after the user has signed in -
+ // desktop platforms use LoginTokenHelper for policy fetches performed before
+ // signin is complete.
+ scoped_ptr<TokenServiceHelper> token_service_helper_;
+
+#if !defined(OS_ANDROID)
+ // Special desktop-only helper to fetch an OAuth access token prior to
+ // the completion of signin. Not used on Android since all token fetching
+ // is done via OAuth2TokenService.
+ scoped_ptr<LoginTokenHelper> login_token_helper_;
#endif
// Helper class for fetching information from GAIA about the currently

Powered by Google App Engine
This is Rietveld 408576698