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

Unified Diff: chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc

Issue 2486813002: Add DeviceADPolicyManager to provide AD policy. (Closed)
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc
diff --git a/chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc b/chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc
index 2962b02eb1f3b2beaf9ce8120f3fe2e2a94a3728..466dd26fbb8ebb9729c8b9075641c1b24c169f5a 100644
--- a/chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc
+++ b/chrome/browser/chromeos/policy/browser_policy_connector_chromeos.cc
@@ -24,6 +24,7 @@
#include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provider.h"
#include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.h"
#include "chrome/browser/chromeos/policy/bluetooth_policy_handler.h"
+#include "chrome/browser/chromeos/policy/device_ad_policy_manager.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
@@ -80,9 +81,7 @@ scoped_refptr<base::SequencedTaskRunner> GetBackgroundTaskRunner() {
} // namespace
BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS()
- : device_cloud_policy_manager_(nullptr),
- global_user_cloud_policy_provider_(nullptr),
- weak_ptr_factory_(this) {
+ : weak_ptr_factory_(this) {
if (g_testing_install_attributes) {
install_attributes_.reset(g_testing_install_attributes);
g_testing_install_attributes = nullptr;
@@ -94,16 +93,11 @@ BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS()
// (removing it now breaks tests). crbug.com/141016.
if (chromeos::SystemSaltGetter::IsInitialized() &&
chromeos::DBusThreadManager::IsInitialized()) {
- state_keys_broker_ = base::MakeUnique<ServerBackedStateKeysBroker>(
- chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
- base::ThreadTaskRunnerHandle::Get());
-
- chromeos::CryptohomeClient* cryptohome_client =
- chromeos::DBusThreadManager::Get()->GetCryptohomeClient();
-
// Don't initialize install attributes if g_testing_install_attributes have
// been injected.
if (!install_attributes_) {
+ chromeos::CryptohomeClient* cryptohome_client =
+ chromeos::DBusThreadManager::Get()->GetCryptohomeClient();
install_attributes_ =
base::MakeUnique<chromeos::InstallAttributes>(cryptohome_client);
base::FilePath install_attrs_file;
@@ -116,11 +110,23 @@ BrowserPolicyConnectorChromeOS::BrowserPolicyConnectorChromeOS()
base::MakeUnique<DeviceCloudPolicyStoreChromeOS>(
chromeos::DeviceSettingsService::Get(), install_attributes_.get(),
GetBackgroundTaskRunner());
- device_cloud_policy_manager_ = new DeviceCloudPolicyManagerChromeOS(
- std::move(device_cloud_policy_store),
- base::ThreadTaskRunnerHandle::Get(), state_keys_broker_.get());
- AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>(
- device_cloud_policy_manager_));
+
+ if (install_attributes_->IsEnterpriseAD()) {
+ device_ad_policy_manager_ =
+ new DeviceADPolicyManager(std::move(device_cloud_policy_store));
+ AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>(
emaxx 2016/11/11 15:25:08 nit: Use base::WrapUnique?
Thiemo Nagel 2016/11/16 19:11:01 Done.
+ device_ad_policy_manager_));
+ } else {
+ state_keys_broker_ = base::MakeUnique<ServerBackedStateKeysBroker>(
+ chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
+ base::ThreadTaskRunnerHandle::Get());
+
+ device_cloud_policy_manager_ = new DeviceCloudPolicyManagerChromeOS(
+ std::move(device_cloud_policy_store),
+ base::ThreadTaskRunnerHandle::Get(), state_keys_broker_.get());
+ AddPolicyProvider(std::unique_ptr<ConfigurationPolicyProvider>(
+ device_cloud_policy_manager_));
+ }
}
global_user_cloud_policy_provider_ = new ProxyPolicyProvider();
@@ -150,17 +156,22 @@ void BrowserPolicyConnectorChromeOS::Init(
RestartDeviceCloudPolicyInitializer();
}
- device_local_account_policy_service_ =
- base::MakeUnique<DeviceLocalAccountPolicyService>(
- chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
- chromeos::DeviceSettingsService::Get(), chromeos::CrosSettings::Get(),
- affiliated_invalidation_service_provider_.get(),
- GetBackgroundTaskRunner(), GetBackgroundTaskRunner(),
- GetBackgroundTaskRunner(),
- content::BrowserThread::GetTaskRunnerForThread(
- content::BrowserThread::IO),
- request_context);
- device_local_account_policy_service_->Connect(device_management_service());
+ DCHECK(install_attributes_);
+ if (!install_attributes_->IsEnterpriseAD()) {
+ device_local_account_policy_service_ =
+ base::MakeUnique<DeviceLocalAccountPolicyService>(
+ chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
+ chromeos::DeviceSettingsService::Get(),
+ chromeos::CrosSettings::Get(),
+ affiliated_invalidation_service_provider_.get(),
+ GetBackgroundTaskRunner(), GetBackgroundTaskRunner(),
+ GetBackgroundTaskRunner(),
+ content::BrowserThread::GetTaskRunnerForThread(
+ content::BrowserThread::IO),
+ request_context);
+ device_local_account_policy_service_->Connect(device_management_service());
+ }
+
if (device_cloud_policy_manager_) {
device_cloud_policy_invalidator_ =
base::MakeUnique<AffiliatedCloudPolicyInvalidator>(

Powered by Google App Engine
This is Rietveld 408576698