| 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 de17f0d298d1e5b8c8dce5c1b32a990fb4fad1fe..b01447203c20f0ac81761371fbb0c3956dbc74c3 100644
|
| --- a/chrome/browser/policy/browser_policy_connector.cc
|
| +++ b/chrome/browser/policy/browser_policy_connector.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/file_path.h"
|
| #include "base/path_service.h"
|
| #include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
|
| #include "chrome/browser/policy/cloud_policy_provider.h"
|
| #include "chrome/browser/policy/cloud_policy_subsystem.h"
|
| #include "chrome/browser/policy/configuration_policy_provider.h"
|
| @@ -39,6 +40,7 @@
|
| #include "chrome/browser/chromeos/cros/cros_library.h"
|
| #include "chrome/browser/chromeos/system/statistics_provider.h"
|
| #include "chrome/browser/policy/app_pack_updater.h"
|
| +#include "chrome/browser/policy/cros_user_policy_cache.h"
|
| #include "chrome/browser/policy/device_policy_cache.h"
|
| #include "chrome/browser/policy/network_configuration_updater.h"
|
| #endif
|
| @@ -310,23 +312,37 @@ void BrowserPolicyConnector::InitializeUserPolicy(
|
|
|
| CommandLine* command_line = CommandLine::ForCurrentProcess();
|
|
|
| - FilePath policy_dir;
|
| - PathService::Get(chrome::DIR_USER_DATA, &policy_dir);
|
| + if (command_line->HasSwitch(switches::kDeviceManagementUrl)) {
|
| + user_data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies());
|
| +
|
| + FilePath profile_dir;
|
| + PathService::Get(chrome::DIR_USER_DATA, &profile_dir);
|
| #if defined(OS_CHROMEOS)
|
| - policy_dir = policy_dir.Append(
|
| - command_line->GetSwitchValuePath(switches::kLoginProfile));
|
| + profile_dir = profile_dir.Append(
|
| + command_line->GetSwitchValuePath(switches::kLoginProfile));
|
| #endif
|
| + 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 (command_line->HasSwitch(switches::kDeviceManagementUrl)) {
|
| - FilePath policy_cache_dir = policy_dir.Append(kPolicyDir);
|
| -
|
| - UserPolicyCache* user_policy_cache =
|
| - new UserPolicyCache(policy_cache_dir.Append(kPolicyCacheFile),
|
| - wait_for_policy_fetch);
|
| - user_data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies());
|
| +#if defined(OS_CHROMEOS)
|
| + user_policy_cache =
|
| + new CrosUserPolicyCache(
|
| + chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
|
| + user_data_store_.get(),
|
| + wait_for_policy_fetch,
|
| + token_cache_file,
|
| + policy_cache_file);
|
| +#else
|
| + user_policy_cache = new UserPolicyCache(policy_cache_file,
|
| + wait_for_policy_fetch);
|
| 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
|
|
|
| managed_cloud_provider_->SetUserPolicyCache(user_policy_cache);
|
| recommended_cloud_provider_->SetUserPolicyCache(user_policy_cache);
|
| @@ -334,9 +350,6 @@ void BrowserPolicyConnector::InitializeUserPolicy(
|
| 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);
|
| user_data_store_->set_user_affiliation(GetUserAffiliation(user_name));
|
|
|
|
|