Index: chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc |
diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc |
index 9b56692b8e30945f987b45426353b6c8b884f622..cfcbd548612e034598b828ddae7e3fec33e38909 100644 |
--- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc |
+++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.cc |
@@ -150,9 +150,13 @@ scoped_ptr<UserCloudPolicyManagerChromeOS> |
const bool is_browser_restart = |
command_line->HasSwitch(chromeos::switches::kLoginUser); |
// TODO(xiyuan): Update the code below after http://crbug.com/462036. |
+ chromeos::UserSessionManager* user_session_manager = |
+ chromeos::UserSessionManager::GetInstance(); |
+ const std::string& refresh_token = |
+ user_session_manager->user_context().GetRefreshToken(); |
const bool wait_for_initial_policy = |
!is_browser_restart && |
- chromeos::UserSessionManager::GetInstance()->has_auth_cookies() && |
+ (user_session_manager->has_auth_cookies() || !refresh_token.empty()) && |
xiyuan
2015/04/28 01:52:58
With the refresh token code added to UserCloudPoli
achuithb
2015/04/28 06:28:58
Done.
|
(user_manager::UserManager::Get()->IsCurrentUserNew() || |
is_affiliated_user); |
@@ -204,14 +208,11 @@ scoped_ptr<UserCloudPolicyManagerChromeOS> |
content::BrowserThread::FILE); |
scoped_ptr<UserCloudPolicyManagerChromeOS> manager( |
- new UserCloudPolicyManagerChromeOS(store.Pass(), |
- external_data_manager.Pass(), |
- component_policy_cache_dir, |
- wait_for_initial_policy, |
- initial_policy_fetch_timeout, |
- base::MessageLoopProxy::current(), |
- file_task_runner, |
- io_task_runner)); |
+ new UserCloudPolicyManagerChromeOS( |
+ store.Pass(), external_data_manager.Pass(), |
+ component_policy_cache_dir, wait_for_initial_policy, refresh_token, |
+ initial_policy_fetch_timeout, base::MessageLoopProxy::current(), |
+ file_task_runner, io_task_runner)); |
bool wildcard_match = false; |
if (connector->IsEnterpriseManaged() && |