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

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

Issue 2486813002: Add DeviceADPolicyManager to provide AD policy. (Closed)
Patch Set: Address Bernhard's comments 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..d9c1280a5fe3ae3789ead1ac00e83492e24c4ed6 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_active_directory_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,18 +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_) {
- install_attributes_ =
- base::MakeUnique<chromeos::InstallAttributes>(cryptohome_client);
+ install_attributes_ = base::MakeUnique<chromeos::InstallAttributes>(
+ chromeos::DBusThreadManager::Get()->GetCryptohomeClient());
base::FilePath install_attrs_file;
CHECK(PathService::Get(chromeos::FILE_INSTALL_ATTRIBUTES,
&install_attrs_file));
@@ -116,11 +108,24 @@ 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_->IsActiveDirectoryManaged()) {
+ device_active_directory_policy_manager_ =
+ new DeviceActiveDirectoryPolicyManager(
+ std::move(device_cloud_policy_store));
+ AddPolicyProvider(base::WrapUnique<ConfigurationPolicyProvider>(
+ device_active_directory_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(base::WrapUnique<ConfigurationPolicyProvider>(
+ device_cloud_policy_manager_));
+ }
}
global_user_cloud_policy_provider_ = new ProxyPolicyProvider();
@@ -150,17 +155,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_->IsCloudManaged()) {
+ 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>(
@@ -212,7 +222,7 @@ void BrowserPolicyConnectorChromeOS::Shutdown() {
}
bool BrowserPolicyConnectorChromeOS::IsEnterpriseManaged() const {
- return install_attributes_ && install_attributes_->IsEnterpriseDevice();
+ return install_attributes_ && install_attributes_->IsEnterpriseManaged();
}
std::string BrowserPolicyConnectorChromeOS::GetEnterpriseDomain() const {

Powered by Google App Engine
This is Rietveld 408576698