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

Side by Side Diff: chrome/browser/policy/cloud/user_policy_signin_service_factory.cc

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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/policy/cloud/user_policy_signin_service_factory.h" 5 #include "chrome/browser/policy/cloud/user_policy_signin_service_factory.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/policy/browser_policy_connector.h" 9 #include "chrome/browser/policy/browser_policy_connector.h"
10 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 10 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
11 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
12 #include "chrome/browser/signin/signin_manager_factory.h" 13 #include "chrome/browser/signin/signin_manager_factory.h"
13 #include "chrome/common/pref_names.h" 14 #include "chrome/common/pref_names.h"
14 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h" 15 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h"
15 #include "components/user_prefs/pref_registry_syncable.h" 16 #include "components/user_prefs/pref_registry_syncable.h"
16 17
17 #if defined(OS_ANDROID) 18 #if defined(OS_ANDROID)
18 #include "chrome/browser/policy/cloud/user_policy_signin_service_android.h" 19 #include "chrome/browser/policy/cloud/user_policy_signin_service_android.h"
19 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
20 #else 20 #else
21 #include "chrome/browser/policy/cloud/user_policy_signin_service.h" 21 #include "chrome/browser/policy/cloud/user_policy_signin_service.h"
22 #include "chrome/browser/signin/token_service_factory.h"
23 #endif 22 #endif
24 23
25 namespace policy { 24 namespace policy {
26 25
27 namespace { 26 namespace {
28 27
29 // Used only for testing. 28 // Used only for testing.
30 DeviceManagementService* g_device_management_service = NULL; 29 DeviceManagementService* g_device_management_service = NULL;
31 30
32 } // namespace 31 } // namespace
33 32
34 UserPolicySigninServiceFactory::UserPolicySigninServiceFactory() 33 UserPolicySigninServiceFactory::UserPolicySigninServiceFactory()
35 : BrowserContextKeyedServiceFactory( 34 : BrowserContextKeyedServiceFactory(
36 "UserPolicySigninService", 35 "UserPolicySigninService",
37 BrowserContextDependencyManager::GetInstance()) { 36 BrowserContextDependencyManager::GetInstance()) {
38 #if defined(OS_ANDROID)
39 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); 37 DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance());
40 #else
41 DependsOn(TokenServiceFactory::GetInstance());
42 #endif
43 DependsOn(SigninManagerFactory::GetInstance()); 38 DependsOn(SigninManagerFactory::GetInstance());
44 DependsOn(UserCloudPolicyManagerFactory::GetInstance()); 39 DependsOn(UserCloudPolicyManagerFactory::GetInstance());
45 } 40 }
46 41
47 UserPolicySigninServiceFactory::~UserPolicySigninServiceFactory() {} 42 UserPolicySigninServiceFactory::~UserPolicySigninServiceFactory() {}
48 43
49 // static 44 // static
50 UserPolicySigninService* UserPolicySigninServiceFactory::GetForProfile( 45 UserPolicySigninService* UserPolicySigninServiceFactory::GetForProfile(
51 Profile* profile) { 46 Profile* profile) {
52 return static_cast<UserPolicySigninService*>( 47 return static_cast<UserPolicySigninService*>(
53 GetInstance()->GetServiceForBrowserContext(profile, true)); 48 GetInstance()->GetServiceForBrowserContext(profile, true));
54 } 49 }
55 50
56 // static 51 // static
57 UserPolicySigninServiceFactory* UserPolicySigninServiceFactory::GetInstance() { 52 UserPolicySigninServiceFactory* UserPolicySigninServiceFactory::GetInstance() {
58 return Singleton<UserPolicySigninServiceFactory>::get(); 53 return Singleton<UserPolicySigninServiceFactory>::get();
59 } 54 }
60 55
61 // static 56 // static
62 void UserPolicySigninServiceFactory::SetDeviceManagementServiceForTesting( 57 void UserPolicySigninServiceFactory::SetDeviceManagementServiceForTesting(
63 DeviceManagementService* device_management_service) { 58 DeviceManagementService* device_management_service) {
64 g_device_management_service = device_management_service; 59 g_device_management_service = device_management_service;
65 } 60 }
66 61
67 BrowserContextKeyedService* 62 BrowserContextKeyedService*
68 UserPolicySigninServiceFactory::BuildServiceInstanceFor( 63 UserPolicySigninServiceFactory::BuildServiceInstanceFor(
69 content::BrowserContext* profile) const { 64 content::BrowserContext* context) const {
65 Profile* profile = static_cast<Profile*>(context);
70 BrowserPolicyConnector* connector = 66 BrowserPolicyConnector* connector =
71 g_browser_process->browser_policy_connector(); 67 g_browser_process->browser_policy_connector();
72 DeviceManagementService* device_management_service = 68 DeviceManagementService* device_management_service =
73 g_device_management_service ? g_device_management_service 69 g_device_management_service ? g_device_management_service
74 : connector->device_management_service(); 70 : connector->device_management_service();
75 return new UserPolicySigninService(static_cast<Profile*>(profile), 71 // TODO(atwilson): Inject SigninManager here or remove the dependency
76 g_browser_process->local_state(), 72 // entirely. http://crbug.com/276270.
77 device_management_service); 73 return new UserPolicySigninService(
74 profile,
75 g_browser_process->local_state(),
76 device_management_service,
77 ProfileOAuth2TokenServiceFactory::GetForProfile(profile));
78 } 78 }
79 79
80 bool 80 bool
81 UserPolicySigninServiceFactory::ServiceIsCreatedWithBrowserContext() const { 81 UserPolicySigninServiceFactory::ServiceIsCreatedWithBrowserContext() const {
82 // Create this object when the profile is created so it can track any 82 // Create this object when the profile is created so it can track any
83 // user signin activity. 83 // user signin activity.
84 return true; 84 return true;
85 } 85 }
86 86
87 void UserPolicySigninServiceFactory::RegisterProfilePrefs( 87 void UserPolicySigninServiceFactory::RegisterProfilePrefs(
88 user_prefs::PrefRegistrySyncable* user_prefs) { 88 user_prefs::PrefRegistrySyncable* user_prefs) {
89 user_prefs->RegisterBooleanPref( 89 user_prefs->RegisterBooleanPref(
90 prefs::kDisableCloudPolicyOnSignin, 90 prefs::kDisableCloudPolicyOnSignin,
91 false, 91 false,
92 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 92 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
93 #if defined(OS_ANDROID) 93 #if defined(OS_ANDROID)
94 user_prefs->RegisterInt64Pref( 94 user_prefs->RegisterInt64Pref(
95 prefs::kLastPolicyCheckTime, 95 prefs::kLastPolicyCheckTime,
96 0, 96 0,
97 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 97 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
98 #endif 98 #endif
99 } 99 }
100 100
101 } // namespace policy 101 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698