| Index: chrome/browser/profiles/profile_impl.cc
|
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
| index 0e03dbe5355b85a731a3e41ba2516da121ff3f61..b0ef7f24541634cfb19d2fe89dbb47b9d2abe918 100644
|
| --- a/chrome/browser/profiles/profile_impl.cc
|
| +++ b/chrome/browser/profiles/profile_impl.cc
|
| @@ -56,6 +56,7 @@
|
| #include "chrome/browser/net/url_fixer_upper.h"
|
| #include "chrome/browser/plugin_prefs.h"
|
| #include "chrome/browser/policy/policy_service.h"
|
| +#include "chrome/browser/policy/user_cloud_policy_manager.h"
|
| #include "chrome/browser/prefs/browser_prefs.h"
|
| #include "chrome/browser/prefs/scoped_user_pref_update.h"
|
| #include "chrome/browser/prerender/prerender_manager_factory.h"
|
| @@ -285,10 +286,17 @@ ProfileImpl::ProfileImpl(const FilePath& path,
|
| session_restore_enabled_ =
|
| !command_line->HasSwitch(switches::kDisableRestoreSessionState);
|
| #if defined(ENABLE_CONFIGURATION_POLICY)
|
| - policy_service_.reset(
|
| - g_browser_process->browser_policy_connector()->CreatePolicyService(this));
|
| + // TODO(atwilson): Change these to ProfileKeyedServices once PrefService is
|
| + // a ProfileKeyedService (policy must be initialized before PrefService
|
| + // because PrefService depends on policy loading to get overridden pref
|
| + // values).
|
| + cloud_policy_manager_ =
|
| + g_browser_process->browser_policy_connector()->CreateCloudPolicyManager(
|
| + this);
|
| + policy_service_ =
|
| + g_browser_process->browser_policy_connector()->CreatePolicyService(this);
|
| #else
|
| - policy_service_.reset(new policy::PolicyServiceStub());
|
| + policy_service_.reset(new policy::PolicyServiceStub());
|
| #endif
|
| if (create_mode == CREATE_MODE_ASYNCHRONOUS) {
|
| prefs_.reset(PrefService::CreatePrefService(
|
| @@ -643,6 +651,10 @@ bool ProfileImpl::WasCreatedByVersionOrLater(const std::string& version) {
|
| return (profile_version.CompareTo(arg_version) >= 0);
|
| }
|
|
|
| +policy::UserCloudPolicyManager* ProfileImpl::GetUserCloudPolicyManager() {
|
| + return cloud_policy_manager_.get();
|
| +}
|
| +
|
| policy::PolicyService* ProfileImpl::GetPolicyService() {
|
| DCHECK(policy_service_.get()); // Should explicitly be initialized.
|
| return policy_service_.get();
|
|
|