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

Unified Diff: chrome/browser/policy/profile_policy_connector_factory.cc

Issue 2606773002: Setup Chromad user policy plumbing (Closed)
Patch Set: Rebase Created 4 years 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/policy/profile_policy_connector_factory.cc
diff --git a/chrome/browser/policy/profile_policy_connector_factory.cc b/chrome/browser/policy/profile_policy_connector_factory.cc
index 4b836952e3d96050c6bf13fddb5fc2084ab78ffe..9d49fd59ce642c3e108e6b32a2e0fad645ced42d 100644
--- a/chrome/browser/policy/profile_policy_connector_factory.cc
+++ b/chrome/browser/policy/profile_policy_connector_factory.cc
@@ -22,8 +22,9 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
+#include "chrome/browser/chromeos/policy/user_active_directory_policy_manager.h"
#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
-#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h"
+#include "chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "components/user_manager/user.h"
#else // Non-ChromeOS.
@@ -72,7 +73,7 @@ ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory()
BrowserContextDependencyManager::GetInstance()) {
DependsOn(SchemaRegistryServiceFactory::GetInstance());
#if defined(OS_CHROMEOS)
- DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance());
+ DependsOn(UserPolicyManagerFactoryChromeOS::GetInstance());
#else
DependsOn(UserCloudPolicyManagerFactory::GetInstance());
#endif
@@ -100,15 +101,15 @@ ProfilePolicyConnectorFactory::CreateForBrowserContextInternal(
bool force_immediate_load) {
DCHECK(connectors_.find(context) == connectors_.end());
- SchemaRegistry* schema_registry = nullptr;
- CloudPolicyManager* user_cloud_policy_manager = nullptr;
-
- schema_registry =
+ const user_manager::User* user = nullptr;
+ SchemaRegistry* schema_registry =
SchemaRegistryServiceFactory::GetForContext(context)->registry();
+ ConfigurationPolicyProvider* policy_provider = nullptr;
+ const CloudPolicyStore* policy_store = nullptr;
+
#if defined(OS_CHROMEOS)
Profile* const profile = Profile::FromBrowserContext(context);
- const user_manager::User* user = nullptr;
if (chromeos::ProfileHelper::IsSigninProfile(profile)) {
policy::DeviceCloudPolicyManagerChromeOS* device_cloud_policy_manager =
g_browser_process->platform_part()
@@ -123,22 +124,34 @@ ProfilePolicyConnectorFactory::CreateForBrowserContextInternal(
user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
CHECK(user);
}
- user_cloud_policy_manager =
- UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile);
+
+ CloudPolicyManager* user_cloud_policy_manager =
+ UserPolicyManagerFactoryChromeOS::GetCloudPolicyManagerForProfile(
+ profile);
+ UserActiveDirectoryPolicyManager* active_directory_manager =
+ UserPolicyManagerFactoryChromeOS::
+ GetActiveDirectoryPolicyManagerForProfile(profile);
+ if (user_cloud_policy_manager) {
+ policy_provider = user_cloud_policy_manager;
+ policy_store = user_cloud_policy_manager->core()->store();
+ } else if (active_directory_manager) {
+ policy_provider = active_directory_manager;
+ policy_store = active_directory_manager->store();
+ }
#else
- user_cloud_policy_manager =
+ CloudPolicyManager* user_cloud_policy_manager =
UserCloudPolicyManagerFactory::GetForBrowserContext(context);
+ if (user_cloud_policy_manager) {
+ policy_provider = user_cloud_policy_manager;
+ policy_store = user_cloud_policy_manager->core()->store();
+ }
#endif // defined(OS_CHROMEOS)
std::unique_ptr<ProfilePolicyConnector> connector(
new ProfilePolicyConnector());
if (test_providers_.empty()) {
- connector->Init(
-#if defined(OS_CHROMEOS)
- user,
-#endif
- schema_registry, user_cloud_policy_manager);
+ connector->Init(user, schema_registry, policy_provider, policy_store);
} else {
PolicyServiceImpl::Providers providers;
providers.push_back(test_providers_.front());
« no previous file with comments | « chrome/browser/policy/profile_policy_connector.cc ('k') | chrome/browser/policy/profile_policy_connector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698