Chromium Code Reviews| Index: chrome/browser/profiles/profile_impl.cc |
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
| index 67784b386725663850042fb74120477775ff3b6a..a3defb2a78aa7c43de19041694feef7114042e80 100644 |
| --- a/chrome/browser/profiles/profile_impl.cc |
| +++ b/chrome/browser/profiles/profile_impl.cc |
| @@ -93,6 +93,7 @@ |
| #include "chrome/browser/policy/browser_policy_connector.h" |
| #include "chrome/browser/policy/managed_mode_policy_provider.h" |
| #include "chrome/browser/policy/user_cloud_policy_manager.h" |
| +#include "chrome/browser/policy/user_cloud_policy_store.h" |
|
Joao da Silva
2012/11/21 17:06:34
These 2 are excluded from gyp when OS_CHROMEOS
Mattias Nissler (ping if slow)
2012/11/22 20:51:59
Thanks, this comment uncovered a deeper issue: Rem
|
| #else |
| #include "chrome/browser/policy/policy_service_stub.h" |
| #endif // defined(ENABLE_CONFIGURATION_POLICY) |
| @@ -340,25 +341,33 @@ ProfileImpl::ProfileImpl( |
| g_browser_process->profile_manager() == NULL); |
| #if defined(ENABLE_CONFIGURATION_POLICY) |
| - // 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). |
| - policy::BrowserPolicyConnector* connector = |
| - g_browser_process->browser_policy_connector(); |
| // If we are creating the profile synchronously, then we should load the |
| // policy data immediately. |
| bool force_immediate_policy_load = (create_mode == CREATE_MODE_SYNCHRONOUS); |
| - cloud_policy_manager_ = |
| - connector->CreateCloudPolicyManager(this, force_immediate_policy_load); |
| - if (cloud_policy_manager_) |
| + |
| + // TODO(atwilson): Change |cloud_policy_manager_| and |
| + // |managed_mode_policy_provider_| to ProfileKeyedServices once PrefService is |
| + // a ProfileKeyedService (policy must be initialized before PrefService |
| + // because PrefService depends on policy loading to get overridden pref |
| + // values). |
| +#if !defined(OS_CHROMEOS) |
| + if (command_line->HasSwitch(switches::kLoadCloudPolicyOnSignin)) { |
| + scoped_ptr<policy::UserCloudPolicyStore> store( |
| + policy::UserCloudPolicyStore::Create(this)); |
|
Andrew T Wilson (Slow)
2012/11/21 17:34:24
Hmmm. Do we like exposing this code to Profile() a
Mattias Nissler (ping if slow)
2012/11/22 20:51:59
Fair. Changed.
|
| + if (force_immediate_policy_load) |
| + store->LoadImmediately(); |
| + cloud_policy_manager_.reset( |
| + new policy::UserCloudPolicyManager(store.Pass())); |
| cloud_policy_manager_->Init(); |
| + } |
| +#endif |
| managed_mode_policy_provider_ = |
| policy::ManagedModePolicyProvider::Create(this, |
| sequenced_task_runner, |
| force_immediate_policy_load); |
| managed_mode_policy_provider_->Init(); |
| - policy_service_ = connector->CreatePolicyService(this); |
| + policy_service_ = |
| + g_browser_process->browser_policy_connector()->CreatePolicyService(this); |
| #else |
| policy_service_.reset(new policy::PolicyServiceStub()); |
| #endif |