Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / policy / profile_policy_connector_factory.cc
index 0a802c6..e5ec872 100644 (file)
@@ -8,20 +8,19 @@
 #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
 
@@ -58,6 +57,7 @@ ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory()
         "ProfilePolicyConnector",
         BrowserContextDependencyManager::GetInstance()) {
 #if defined(ENABLE_CONFIGURATION_POLICY)
+  DependsOn(SchemaRegistryServiceFactory::GetInstance());
 #if defined(OS_CHROMEOS)
   DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance());
 #else
@@ -85,28 +85,34 @@ ProfilePolicyConnectorFactory::CreateForProfileInternal(
     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);
@@ -130,24 +136,14 @@ void ProfilePolicyConnectorFactory::BrowserContextDestroyed(
   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) {}