OLD | NEW |
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.h" | 5 #include "chrome/browser/policy/profile_policy_connector.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
11 #include "chrome/browser/policy/browser_policy_connector.h" | 11 #include "chrome/browser/policy/browser_policy_connector.h" |
12 #include "chrome/browser/policy/configuration_policy_provider.h" | 12 #include "chrome/browser/policy/configuration_policy_provider.h" |
13 #include "chrome/browser/policy/policy_service_impl.h" | 13 #include "chrome/browser/policy/policy_service_impl.h" |
14 | 14 |
15 #if defined(ENABLE_MANAGED_USERS) | |
16 #include "chrome/browser/policy/managed_mode_policy_provider.h" | |
17 #endif | |
18 | |
19 #if defined(OS_CHROMEOS) | 15 #if defined(OS_CHROMEOS) |
20 #include "base/bind.h" | 16 #include "base/bind.h" |
21 #include "base/prefs/pref_service.h" | 17 #include "base/prefs/pref_service.h" |
22 #include "chrome/browser/chromeos/login/user.h" | 18 #include "chrome/browser/chromeos/login/user.h" |
23 #include "chrome/browser/chromeos/login/user_manager.h" | 19 #include "chrome/browser/chromeos/login/user_manager.h" |
24 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" | 20 #include "chrome/browser/chromeos/policy/device_local_account_policy_provider.h" |
25 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h" | 21 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h" |
26 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" | 22 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
27 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" | 23 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" |
28 #include "chrome/browser/chromeos/policy/user_network_configuration_updater.h" | 24 #include "chrome/browser/chromeos/policy/user_network_configuration_updater.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 if (special_user_policy_provider_) | 86 if (special_user_policy_provider_) |
91 providers.push_back(special_user_policy_provider_.get()); | 87 providers.push_back(special_user_policy_provider_.get()); |
92 | 88 |
93 #else | 89 #else |
94 UserCloudPolicyManager* cloud_policy_manager = | 90 UserCloudPolicyManager* cloud_policy_manager = |
95 UserCloudPolicyManagerFactory::GetForProfile(profile_); | 91 UserCloudPolicyManagerFactory::GetForProfile(profile_); |
96 if (cloud_policy_manager) | 92 if (cloud_policy_manager) |
97 providers.push_back(cloud_policy_manager); | 93 providers.push_back(cloud_policy_manager); |
98 #endif | 94 #endif |
99 | 95 |
100 #if defined(ENABLE_MANAGED_USERS) | |
101 managed_mode_policy_provider_ = ManagedModePolicyProvider::Create( | |
102 profile_, sequenced_task_runner, force_immediate_load); | |
103 managed_mode_policy_provider_->Init(); | |
104 providers.push_back(managed_mode_policy_provider_.get()); | |
105 #endif | |
106 | |
107 policy_service_ = connector->CreatePolicyService(providers); | 96 policy_service_ = connector->CreatePolicyService(providers); |
108 | 97 |
109 #if defined(OS_CHROMEOS) | 98 #if defined(OS_CHROMEOS) |
110 if (is_primary_user_) { | 99 if (is_primary_user_) { |
111 if (cloud_policy_manager) | 100 if (cloud_policy_manager) |
112 connector->SetUserPolicyDelegate(cloud_policy_manager); | 101 connector->SetUserPolicyDelegate(cloud_policy_manager); |
113 else if (special_user_policy_provider_) | 102 else if (special_user_policy_provider_) |
114 connector->SetUserPolicyDelegate(special_user_policy_provider_.get()); | 103 connector->SetUserPolicyDelegate(special_user_policy_provider_.get()); |
115 | 104 |
116 // A reference to |user| is stored by the NetworkConfigurationUpdater until | 105 // A reference to |user| is stored by the NetworkConfigurationUpdater until |
(...skipping 16 matching lines...) Expand all Loading... |
133 } | 122 } |
134 | 123 |
135 void ProfilePolicyConnector::Shutdown() { | 124 void ProfilePolicyConnector::Shutdown() { |
136 #if defined(OS_CHROMEOS) | 125 #if defined(OS_CHROMEOS) |
137 if (is_primary_user_) | 126 if (is_primary_user_) |
138 g_browser_process->browser_policy_connector()->SetUserPolicyDelegate(NULL); | 127 g_browser_process->browser_policy_connector()->SetUserPolicyDelegate(NULL); |
139 network_configuration_updater_.reset(); | 128 network_configuration_updater_.reset(); |
140 if (special_user_policy_provider_) | 129 if (special_user_policy_provider_) |
141 special_user_policy_provider_->Shutdown(); | 130 special_user_policy_provider_->Shutdown(); |
142 #endif | 131 #endif |
143 | |
144 #if defined(ENABLE_MANAGED_USERS) | |
145 if (managed_mode_policy_provider_) | |
146 managed_mode_policy_provider_->Shutdown(); | |
147 #endif | |
148 } | 132 } |
149 | 133 |
150 #if defined(OS_CHROMEOS) | 134 #if defined(OS_CHROMEOS) |
151 void ProfilePolicyConnector::SetPolicyCertVerifier( | 135 void ProfilePolicyConnector::SetPolicyCertVerifier( |
152 PolicyCertVerifier* cert_verifier) { | 136 PolicyCertVerifier* cert_verifier) { |
153 if (network_configuration_updater_) | 137 if (network_configuration_updater_) |
154 network_configuration_updater_->SetPolicyCertVerifier(cert_verifier); | 138 network_configuration_updater_->SetPolicyCertVerifier(cert_verifier); |
155 } | 139 } |
156 | 140 |
157 base::Closure ProfilePolicyConnector::GetPolicyCertTrustedCallback() { | 141 base::Closure ProfilePolicyConnector::GetPolicyCertTrustedCallback() { |
(...skipping 30 matching lines...) Expand all Loading... |
188 connector->GetDeviceLocalAccountPolicyService(); | 172 connector->GetDeviceLocalAccountPolicyService(); |
189 if (!device_local_account_policy_service) | 173 if (!device_local_account_policy_service) |
190 return; | 174 return; |
191 special_user_policy_provider_.reset(new DeviceLocalAccountPolicyProvider( | 175 special_user_policy_provider_.reset(new DeviceLocalAccountPolicyProvider( |
192 username, device_local_account_policy_service)); | 176 username, device_local_account_policy_service)); |
193 special_user_policy_provider_->Init(); | 177 special_user_policy_provider_->Init(); |
194 } | 178 } |
195 #endif | 179 #endif |
196 | 180 |
197 } // namespace policy | 181 } // namespace policy |
OLD | NEW |