| Index: chrome/browser/policy/browser_policy_connector.cc
|
| diff --git a/chrome/browser/policy/browser_policy_connector.cc b/chrome/browser/policy/browser_policy_connector.cc
|
| index 51bfa71002419217fa41d0ebfb54c7d96f65c022..7943f2ce864399f280c507f9d21fdfe6a6226c70 100644
|
| --- a/chrome/browser/policy/browser_policy_connector.cc
|
| +++ b/chrome/browser/policy/browser_policy_connector.cc
|
| @@ -35,6 +35,7 @@
|
|
|
| #if defined(OS_CHROMEOS)
|
| #include "chrome/browser/chromeos/cros/cros_library.h"
|
| +#include "chrome/browser/policy/cros_user_policy_cache.h"
|
| #include "chrome/browser/policy/device_policy_cache.h"
|
| #endif
|
|
|
| @@ -233,7 +234,7 @@ void BrowserPolicyConnector::FetchDevicePolicy() {
|
| }
|
|
|
| void BrowserPolicyConnector::InitializeUserPolicy(const std::string& user_name,
|
| - const FilePath& policy_dir,
|
| + const FilePath& profile_dir,
|
| TokenService* token_service) {
|
| DCHECK(token_service);
|
|
|
| @@ -250,13 +251,27 @@ void BrowserPolicyConnector::InitializeUserPolicy(const std::string& user_name,
|
| chrome::NOTIFICATION_TOKEN_AVAILABLE,
|
| Source<TokenService>(token_service_));
|
|
|
| - FilePath policy_cache_dir = policy_dir.Append(kPolicyDir);
|
| - UserPolicyCache* user_policy_cache =
|
| - new UserPolicyCache(policy_cache_dir.Append(kPolicyCacheFile));
|
| user_data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies());
|
| +
|
| + const FilePath policy_dir = profile_dir.Append(kPolicyDir);
|
| + const FilePath policy_cache_file = policy_dir.Append(kPolicyCacheFile);
|
| + const FilePath token_cache_file = policy_dir.Append(kTokenCacheFile);
|
| + CloudPolicyCacheBase* user_policy_cache = NULL;
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| + user_policy_cache =
|
| + new CrosUserPolicyCache(chromeos::CrosLibrary::Get()->GetLoginLibrary(),
|
| + user_data_store_.get(),
|
| + token_cache_file,
|
| + policy_cache_file);
|
| +#else
|
| + user_policy_cache = new UserPolicyCache(policy_cache_file);
|
| user_policy_token_cache_.reset(
|
| - new UserPolicyTokenCache(user_data_store_.get(),
|
| - policy_cache_dir.Append(kTokenCacheFile)));
|
| + new UserPolicyTokenCache(user_data_store_.get(), token_cache_file));
|
| +
|
| + // Initiate the DM-Token load.
|
| + user_policy_token_cache_->Load();
|
| +#endif
|
|
|
| // Prepending user caches meaning they will take precedence of device policy
|
| // caches.
|
| @@ -266,9 +281,6 @@ void BrowserPolicyConnector::InitializeUserPolicy(const std::string& user_name,
|
| user_data_store_.get(),
|
| user_policy_cache));
|
|
|
| - // Initiate the DM-Token load.
|
| - user_policy_token_cache_->Load();
|
| -
|
| user_data_store_->set_user_name(user_name);
|
| if (token_service_->HasTokenForService(
|
| GaiaConstants::kDeviceManagementService)) {
|
|
|