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

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

Issue 24153012: Fix cyclic dependency between ProfilePolicyConnector and PrefService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed. Created 7 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/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 52d8a1d0883aa0961485653527b0a666dfb6dd6f..c5cb31bcb26cd2a9d98677f80a14c4c243142796 100644
--- a/chrome/browser/policy/profile_policy_connector_factory.cc
+++ b/chrome/browser/policy/profile_policy_connector_factory.cc
@@ -13,13 +13,14 @@
#include "components/user_prefs/pref_registry_syncable.h"
#if defined(ENABLE_CONFIGURATION_POLICY)
-#include "chrome/browser/policy/schema_registry_service_factory.h"
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/login/user.h"
#include "chrome/browser/chromeos/login/user_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/profiles/profile_helper.h"
+#include "chrome/browser/policy/schema_registry_service.h"
+#include "chrome/browser/policy/schema_registry_service_factory.h"
#else
#include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
#include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
@@ -59,8 +60,8 @@ ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory()
"ProfilePolicyConnector",
BrowserContextDependencyManager::GetInstance()) {
#if defined(ENABLE_CONFIGURATION_POLICY)
- DependsOn(SchemaRegistryServiceFactory::GetInstance());
#if defined(OS_CHROMEOS)
+ DependsOn(SchemaRegistryServiceFactory::GetInstance());
DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance());
#else
DependsOn(UserCloudPolicyManagerFactory::GetInstance());
@@ -89,6 +90,8 @@ ProfilePolicyConnectorFactory::CreateForProfileInternal(
DCHECK(connectors_.find(profile) == connectors_.end());
#if defined(ENABLE_CONFIGURATION_POLICY)
#if defined(OS_CHROMEOS)
+ SchemaRegistry* schema_registry =
+ SchemaRegistryServiceFactory::GetForContext(profile);
chromeos::User* user = NULL;
if (!chromeos::ProfileHelper::IsSigninProfile(profile)) {
chromeos::UserManager* user_manager = chromeos::UserManager::Get();
@@ -104,10 +107,11 @@ ProfilePolicyConnectorFactory::CreateForProfileInternal(
#else
CloudPolicyManager* user_cloud_policy_manager = NULL;
#endif
- ProfilePolicyConnector* connector = new ProfilePolicyConnector(profile);
+ ProfilePolicyConnector* connector = new ProfilePolicyConnector();
connector->Init(force_immediate_load,
#if defined(ENABLE_CONFIGURATION_POLICY) && defined(OS_CHROMEOS)
user,
+ schema_registry,
#endif
user_cloud_policy_manager);
connectors_[profile] = connector;
@@ -134,12 +138,6 @@ void ProfilePolicyConnectorFactory::BrowserContextDestroyed(
void ProfilePolicyConnectorFactory::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
-#if defined(OS_CHROMEOS)
- registry->RegisterBooleanPref(
- prefs::kUsedPolicyCertificatesOnce,
- false,
- user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
-#endif
#if defined(OS_ANDROID)
registry->RegisterListPref(
prefs::kManagedBookmarks,
« no previous file with comments | « chrome/browser/policy/profile_policy_connector.cc ('k') | chrome/browser/policy/profile_policy_connector_stub.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698