Chromium Code Reviews| Index: chrome/browser/chromeos/login/login_utils.cc |
| diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc |
| index b7e8bc8f8793907ae98d0d05e4651698f5011f71..047e67ff1b46c8206dd359bb57067c27aee28bdb 100644 |
| --- a/chrome/browser/chromeos/login/login_utils.cc |
| +++ b/chrome/browser/chromeos/login/login_utils.cc |
| @@ -49,6 +49,9 @@ |
| #include "chrome/browser/net/chrome_url_request_context.h" |
| #include "chrome/browser/net/preconnect.h" |
| #include "chrome/browser/policy/browser_policy_connector.h" |
| +#include "chrome/browser/policy/cloud_policy_client.h" |
| +#include "chrome/browser/policy/cloud_policy_service.h" |
| +#include "chrome/browser/policy/user_cloud_policy_manager.h" |
| #include "chrome/browser/prefs/pref_member.h" |
| #include "chrome/browser/prefs/pref_service.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -487,6 +490,23 @@ void LoginUtilsImpl::PrepareProfile( |
| // initialization code sees the cached policy settings. |
| connector->InitializeUserPolicy(username, wait_for_policy_fetch); |
| + // The default profile will have been changed because the ProfileManager |
| + // will process the notification that the UserManager sends out. |
| + ProfileManager::CreateDefaultProfileAsync( |
| + base::Bind(&LoginUtilsImpl::OnProfileCreated, AsWeakPtr())); |
| + |
| + // The default profile is only partially initialized at this point. |
| + // Setup the UserCloudPolicyManager so profile initialization can complete. |
| + Profile* user_profile = ProfileManager::GetDefaultProfile(); |
|
Nikita (slow)
2012/08/07 16:35:09
Please make sure that you're grabbing the correct
Andrew T Wilson (Slow)
2012/08/07 16:55:45
Yes. Before we call this, the code above calls Use
|
| + |
| + // Initialize the new cloud policy framework, if enabled. |
| + if (user_profile->GetUserCloudPolicyManager()) { |
| + user_profile->GetUserCloudPolicyManager()->Initialize( |
| + g_browser_process->local_state(), |
| + connector->device_management_service(), |
| + connector->GetUserAffiliation(username)); |
| + } |
| + |
| if (wait_for_policy_fetch) { |
| // Profile creation will block until user policy is fetched, which |
| // requires the DeviceManagement token. Try to fetch it now. |
| @@ -495,11 +515,6 @@ void LoginUtilsImpl::PrepareProfile( |
| new PolicyOAuthFetcher(authenticator_->authentication_profile())); |
| policy_oauth_fetcher_->Start(); |
| } |
| - |
| - // The default profile will have been changed because the ProfileManager |
| - // will process the notification that the UserManager sends out. |
| - ProfileManager::CreateDefaultProfileAsync( |
| - base::Bind(&LoginUtilsImpl::OnProfileCreated, AsWeakPtr())); |
| } |
| void LoginUtilsImpl::DelegateDeleted(LoginUtils::Delegate* delegate) { |