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 6449376e5bbf6de8ecd6edd946190011728ff688..03fc2320211fd2ad929aa53268cd5976dfded8ab 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)) { |