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

Unified Diff: chrome/browser/profiles/profile_impl.cc

Issue 10693022: Add support for loading user cloud policy on desktop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: removed redundant #ifdef OS_CHROMEOS guard Created 8 years, 4 months 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/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();

Powered by Google App Engine
This is Rietveld 408576698