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

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: Rebased and resolved conflict. 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..7a6ad1decf21dc9eb97ad3a034e8b18b592a23d6 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());
@@ -90,7 +91,10 @@ ProfilePolicyConnectorFactory::CreateForProfileInternal(
#if defined(ENABLE_CONFIGURATION_POLICY)
#if defined(OS_CHROMEOS)
chromeos::User* user = NULL;
- if (!chromeos::ProfileHelper::IsSigninProfile(profile)) {
+ SchemaRegistry* schema_registry = NULL;
+ if (chromeos::ProfileHelper::IsSigninProfile(profile)) {
+ schema_registry = SchemaRegistryServiceFactory::GetForContext(profile);
Joao da Silva 2013/11/13 09:45:58 The schema_registry is also needed for non-signin
+ } else {
chromeos::UserManager* user_manager = chromeos::UserManager::Get();
user = user_manager->GetUserByProfile(profile);
CHECK(user);
@@ -104,10 +108,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 +139,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