| 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 |