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

Unified Diff: chrome/browser/policy/cloud/user_policy_signin_service.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/user_policy_signin_service.h
diff --git a/chrome/browser/policy/cloud/user_policy_signin_service.h b/chrome/browser/policy/cloud/user_policy_signin_service.h
index b708f795e83467b284d134e6400a1dd856d4f9d3..fccb98090de223f87843da7ad0dc9dc55b6ab41c 100644
--- a/chrome/browser/policy/cloud/user_policy_signin_service.h
+++ b/chrome/browser/policy/cloud/user_policy_signin_service.h
@@ -11,6 +11,7 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/policy/cloud/user_policy_signin_service_base.h"
+#include "chrome/browser/signin/profile_oauth2_token_service.h"
class Profile;
@@ -20,26 +21,27 @@ class CloudPolicyClientRegistrationHelper;
// A specialization of the UserPolicySigninServiceBase for the desktop
// platforms (Windows, Mac and Linux).
-class UserPolicySigninService : public UserPolicySigninServiceBase {
+class UserPolicySigninService : public UserPolicySigninServiceBase,
+ public OAuth2TokenService::Observer {
public:
// Creates a UserPolicySigninService associated with the passed |profile|.
UserPolicySigninService(Profile* profile,
PrefService* local_state,
- DeviceManagementService* device_management_service);
+ DeviceManagementService* device_management_service,
+ ProfileOAuth2TokenService* oauth2_token_service);
virtual ~UserPolicySigninService();
// Registers a CloudPolicyClient for fetching policy for a user. The
// |oauth2_login_token| and |username| are explicitly passed because
- // the user is not signed in yet (TokenService does not have any tokens yet
- // to prevent services from using it until after we've fetched policy).
+ // the user is not signed in yet (ProfileOAuth2TokenService does not have
+ // any tokens yet to prevent services from using it until after we've fetched
+ // policy).
void RegisterPolicyClient(const std::string& username,
const std::string& oauth2_login_token,
const PolicyRegistrationCallback& callback);
- // content::NotificationObserver implementation:
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
+ // OAuth2TokenService::Observer implementation:
+ virtual void OnRefreshTokenAvailable(const std::string& account_id) OVERRIDE;
// CloudPolicyService::Observer implementation:
virtual void OnInitializationCompleted(CloudPolicyService* service) OVERRIDE;
@@ -47,9 +49,12 @@ class UserPolicySigninService : public UserPolicySigninServiceBase {
// BrowserContextKeyedService implementation:
virtual void Shutdown() OVERRIDE;
+ protected:
// UserPolicySigninServiceBase implementation:
virtual void InitializeUserCloudPolicyManager(
scoped_ptr<CloudPolicyClient> client) OVERRIDE;
+
+ virtual void PrepareForUserCloudPolicyManagerShutdown() OVERRIDE;
virtual void ShutdownUserCloudPolicyManager() OVERRIDE;
private:
@@ -57,7 +62,7 @@ class UserPolicySigninService : public UserPolicySigninServiceBase {
// the cloud policy server. |oauth_login_token| should contain an OAuth login
// refresh token that can be downscoped to get an access token for the
// device_management service.
- void RegisterCloudPolicyService(const std::string& oauth_login_token);
+ void RegisterCloudPolicyService();
// Callback invoked when policy registration has finished.
void OnRegistrationComplete();
@@ -72,6 +77,10 @@ class UserPolicySigninService : public UserPolicySigninServiceBase {
scoped_ptr<CloudPolicyClientRegistrationHelper> registration_helper_;
+ // Weak pointer to the token service we use to authenticate during
+ // CloudPolicyClient registration.
+ ProfileOAuth2TokenService* oauth2_token_service_;
+
DISALLOW_COPY_AND_ASSIGN(UserPolicySigninService);
};

Powered by Google App Engine
This is Rietveld 408576698