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

Side by Side Diff: chrome/browser/policy/profile_policy_connector_factory.cc

Issue 60823003: Introduced a ForwardingPolicyProvider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed ios Created 7 years, 1 month 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/profile_policy_connector_factory.h" 5 #include "chrome/browser/policy/profile_policy_connector_factory.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/singleton.h" 8 #include "base/memory/singleton.h"
9 #include "chrome/browser/policy/profile_policy_connector.h" 9 #include "chrome/browser/policy/profile_policy_connector.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/common/pref_names.h" 11 #include "chrome/common/pref_names.h"
12 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h" 12 #include "components/browser_context_keyed_service/browser_context_dependency_ma nager.h"
13 #include "components/user_prefs/pref_registry_syncable.h" 13 #include "components/user_prefs/pref_registry_syncable.h"
14 14
15 #if defined(ENABLE_CONFIGURATION_POLICY) 15 #if defined(ENABLE_CONFIGURATION_POLICY)
16 #include "chrome/browser/policy/schema_registry_service.h"
17 #include "chrome/browser/policy/schema_registry_service_factory.h"
16 #if defined(OS_CHROMEOS) 18 #if defined(OS_CHROMEOS)
17 #include "chrome/browser/chromeos/login/user.h" 19 #include "chrome/browser/chromeos/login/user.h"
18 #include "chrome/browser/chromeos/login/user_manager.h" 20 #include "chrome/browser/chromeos/login/user_manager.h"
19 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 21 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
20 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 22 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h"
21 #include "chrome/browser/chromeos/profiles/profile_helper.h" 23 #include "chrome/browser/chromeos/profiles/profile_helper.h"
22 #include "chrome/browser/policy/schema_registry_service.h"
23 #include "chrome/browser/policy/schema_registry_service_factory.h"
24 #else 24 #else
25 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h" 25 #include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
26 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 26 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
27 #endif 27 #endif
28 #endif 28 #endif
29 29
30 namespace policy { 30 namespace policy {
31 31
32 // static 32 // static
33 ProfilePolicyConnectorFactory* ProfilePolicyConnectorFactory::GetInstance() { 33 ProfilePolicyConnectorFactory* ProfilePolicyConnectorFactory::GetInstance() {
(...skipping 19 matching lines...) Expand all
53 ProfilePolicyConnector*& map_entry = connectors_[profile]; 53 ProfilePolicyConnector*& map_entry = connectors_[profile];
54 CHECK(!map_entry); 54 CHECK(!map_entry);
55 map_entry = connector; 55 map_entry = connector;
56 } 56 }
57 57
58 ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory() 58 ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory()
59 : BrowserContextKeyedBaseFactory( 59 : BrowserContextKeyedBaseFactory(
60 "ProfilePolicyConnector", 60 "ProfilePolicyConnector",
61 BrowserContextDependencyManager::GetInstance()) { 61 BrowserContextDependencyManager::GetInstance()) {
62 #if defined(ENABLE_CONFIGURATION_POLICY) 62 #if defined(ENABLE_CONFIGURATION_POLICY)
63 DependsOn(SchemaRegistryServiceFactory::GetInstance());
63 #if defined(OS_CHROMEOS) 64 #if defined(OS_CHROMEOS)
64 DependsOn(SchemaRegistryServiceFactory::GetInstance());
65 DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance()); 65 DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance());
66 #else 66 #else
67 DependsOn(UserCloudPolicyManagerFactory::GetInstance()); 67 DependsOn(UserCloudPolicyManagerFactory::GetInstance());
68 #endif 68 #endif
69 #endif 69 #endif
70 } 70 }
71 71
72 ProfilePolicyConnectorFactory::~ProfilePolicyConnectorFactory() { 72 ProfilePolicyConnectorFactory::~ProfilePolicyConnectorFactory() {
73 DCHECK(connectors_.empty()); 73 DCHECK(connectors_.empty());
74 } 74 }
75 75
76 ProfilePolicyConnector* 76 ProfilePolicyConnector*
77 ProfilePolicyConnectorFactory::GetForProfileInternal(Profile* profile) { 77 ProfilePolicyConnectorFactory::GetForProfileInternal(Profile* profile) {
78 // Get the connector for the original Profile, so that the incognito Profile 78 // Get the connector for the original Profile, so that the incognito Profile
79 // gets managed settings from the same PolicyService. 79 // gets managed settings from the same PolicyService.
80 ConnectorMap::const_iterator it = 80 ConnectorMap::const_iterator it =
81 connectors_.find(profile->GetOriginalProfile()); 81 connectors_.find(profile->GetOriginalProfile());
82 CHECK(it != connectors_.end()); 82 CHECK(it != connectors_.end());
83 return it->second; 83 return it->second;
84 } 84 }
85 85
86 scoped_ptr<ProfilePolicyConnector> 86 scoped_ptr<ProfilePolicyConnector>
87 ProfilePolicyConnectorFactory::CreateForProfileInternal( 87 ProfilePolicyConnectorFactory::CreateForProfileInternal(
88 Profile* profile, 88 Profile* profile,
89 bool force_immediate_load) { 89 bool force_immediate_load) {
90 DCHECK(connectors_.find(profile) == connectors_.end()); 90 DCHECK(connectors_.find(profile) == connectors_.end());
91
92 SchemaRegistry* schema_registry = NULL;
93 CloudPolicyManager* user_cloud_policy_manager = NULL;
94
91 #if defined(ENABLE_CONFIGURATION_POLICY) 95 #if defined(ENABLE_CONFIGURATION_POLICY)
96 schema_registry = SchemaRegistryServiceFactory::GetForContext(profile);
97
92 #if defined(OS_CHROMEOS) 98 #if defined(OS_CHROMEOS)
93 SchemaRegistry* schema_registry =
94 SchemaRegistryServiceFactory::GetForContext(profile);
95 chromeos::User* user = NULL; 99 chromeos::User* user = NULL;
96 if (!chromeos::ProfileHelper::IsSigninProfile(profile)) { 100 if (!chromeos::ProfileHelper::IsSigninProfile(profile)) {
97 chromeos::UserManager* user_manager = chromeos::UserManager::Get(); 101 chromeos::UserManager* user_manager = chromeos::UserManager::Get();
98 user = user_manager->GetUserByProfile(profile); 102 user = user_manager->GetUserByProfile(profile);
99 CHECK(user); 103 CHECK(user);
100 } 104 }
101 CloudPolicyManager* user_cloud_policy_manager = 105 user_cloud_policy_manager =
102 UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); 106 UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile);
103 #else 107 #else
104 CloudPolicyManager* user_cloud_policy_manager = 108 user_cloud_policy_manager =
105 UserCloudPolicyManagerFactory::GetForBrowserContext(profile); 109 UserCloudPolicyManagerFactory::GetForBrowserContext(profile);
106 #endif 110 #endif // defined(OS_CHROMEOS)
107 #else 111 #endif // defined(ENABLE_CONFIGURATION_POLICY)
108 CloudPolicyManager* user_cloud_policy_manager = NULL; 112
109 #endif
110 ProfilePolicyConnector* connector = new ProfilePolicyConnector(); 113 ProfilePolicyConnector* connector = new ProfilePolicyConnector();
111 connector->Init(force_immediate_load, 114 connector->Init(force_immediate_load,
112 #if defined(ENABLE_CONFIGURATION_POLICY) && defined(OS_CHROMEOS) 115 #if defined(ENABLE_CONFIGURATION_POLICY) && defined(OS_CHROMEOS)
113 user, 116 user,
117 #endif
114 schema_registry, 118 schema_registry,
115 #endif
116 user_cloud_policy_manager); 119 user_cloud_policy_manager);
117 connectors_[profile] = connector; 120 connectors_[profile] = connector;
118 return make_scoped_ptr(connector); 121 return make_scoped_ptr(connector);
119 } 122 }
120 123
121 void ProfilePolicyConnectorFactory::BrowserContextShutdown( 124 void ProfilePolicyConnectorFactory::BrowserContextShutdown(
122 content::BrowserContext* context) { 125 content::BrowserContext* context) {
123 Profile* profile = static_cast<Profile*>(context); 126 Profile* profile = static_cast<Profile*>(context);
124 if (profile->IsOffTheRecord()) 127 if (profile->IsOffTheRecord())
125 return; 128 return;
(...skipping 19 matching lines...) Expand all
145 #endif 148 #endif
146 } 149 }
147 150
148 void ProfilePolicyConnectorFactory::SetEmptyTestingFactory( 151 void ProfilePolicyConnectorFactory::SetEmptyTestingFactory(
149 content::BrowserContext* context) {} 152 content::BrowserContext* context) {}
150 153
151 void ProfilePolicyConnectorFactory::CreateServiceNow( 154 void ProfilePolicyConnectorFactory::CreateServiceNow(
152 content::BrowserContext* context) {} 155 content::BrowserContext* context) {}
153 156
154 } // namespace policy 157 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/profile_policy_connector.cc ('k') | chrome/browser/policy/profile_policy_connector_stub.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698