Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1716)

Unified Diff: chrome/browser/policy/browser_policy_connector.cc

Issue 7233006: Store/Retrieve CrOS user policy in session_manager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
« no previous file with comments | « no previous file | chrome/browser/policy/cros_user_policy_cache.h » ('j') | chrome/browser/policy/cros_user_policy_cache.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698