#include "base/memory/singleton.h"
#include "chrome/browser/policy/profile_policy_connector.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/common/pref_names.h"
-#include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
-#include "components/user_prefs/pref_registry_syncable.h"
+#include "components/keyed_service/content/browser_context_dependency_manager.h"
#if defined(ENABLE_CONFIGURATION_POLICY)
+#include "chrome/browser/policy/schema_registry_service.h"
+#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 "components/user_manager/user.h"
#else
-#include "chrome/browser/policy/cloud/user_cloud_policy_manager.h"
#include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
+#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
#endif
#endif
"ProfilePolicyConnector",
BrowserContextDependencyManager::GetInstance()) {
#if defined(ENABLE_CONFIGURATION_POLICY)
+ DependsOn(SchemaRegistryServiceFactory::GetInstance());
#if defined(OS_CHROMEOS)
DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance());
#else
Profile* profile,
bool force_immediate_load) {
DCHECK(connectors_.find(profile) == connectors_.end());
+
+ SchemaRegistry* schema_registry = NULL;
+ CloudPolicyManager* user_cloud_policy_manager = NULL;
+
#if defined(ENABLE_CONFIGURATION_POLICY)
+ schema_registry =
+ SchemaRegistryServiceFactory::GetForContext(profile)->registry();
+
#if defined(OS_CHROMEOS)
- chromeos::User* user = NULL;
+ user_manager::User* user = NULL;
if (!chromeos::ProfileHelper::IsSigninProfile(profile)) {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
- user = user_manager->GetUserByProfile(profile);
+ user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile);
CHECK(user);
}
- CloudPolicyManager* user_cloud_policy_manager =
+ user_cloud_policy_manager =
UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile);
#else
- CloudPolicyManager* user_cloud_policy_manager =
- UserCloudPolicyManagerFactory::GetForProfile(profile);
-#endif
-#else
- CloudPolicyManager* user_cloud_policy_manager = NULL;
-#endif
- ProfilePolicyConnector* connector = new ProfilePolicyConnector(profile);
+ user_cloud_policy_manager =
+ UserCloudPolicyManagerFactory::GetForBrowserContext(profile);
+#endif // defined(OS_CHROMEOS)
+#endif // defined(ENABLE_CONFIGURATION_POLICY)
+
+ ProfilePolicyConnector* connector = new ProfilePolicyConnector();
connector->Init(force_immediate_load,
#if defined(ENABLE_CONFIGURATION_POLICY) && defined(OS_CHROMEOS)
user,
#endif
+ schema_registry,
user_cloud_policy_manager);
connectors_[profile] = connector;
return make_scoped_ptr(connector);
BrowserContextKeyedBaseFactory::BrowserContextDestroyed(context);
}
-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,
- user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
-#endif
-}
-
void ProfilePolicyConnectorFactory::SetEmptyTestingFactory(
content::BrowserContext* context) {}
+bool ProfilePolicyConnectorFactory::HasTestingFactory(
+ content::BrowserContext* context) {
+ return false;
+}
+
void ProfilePolicyConnectorFactory::CreateServiceNow(
content::BrowserContext* context) {}