Chromium Code Reviews| Index: chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| index 392968018c716d363f7168a304d3e52208971dd3..18deb1e3ca0863de3dd0bca47e6092728f5d86de 100644 |
| --- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| +++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.cc |
| @@ -76,6 +76,7 @@ UserCloudPolicyManagerChromeOS::UserCloudPolicyManagerChromeOS( |
| scoped_ptr<CloudExternalDataManager> external_data_manager, |
| const base::FilePath& component_policy_cache_path, |
| bool wait_for_policy_fetch, |
| + const std::string& refresh_token, |
| base::TimeDelta initial_policy_fetch_timeout, |
| const scoped_refptr<base::SequencedTaskRunner>& task_runner, |
| const scoped_refptr<base::SequencedTaskRunner>& file_task_runner, |
| @@ -90,6 +91,7 @@ UserCloudPolicyManagerChromeOS::UserCloudPolicyManagerChromeOS( |
| external_data_manager_(external_data_manager.Pass()), |
| component_policy_cache_path_(component_policy_cache_path), |
| wait_for_policy_fetch_(wait_for_policy_fetch), |
| + refresh_token_(refresh_token), |
| policy_fetch_timeout_(false, false) { |
| time_init_started_ = base::Time::Now(); |
| if (wait_for_policy_fetch_ && !initial_policy_fetch_timeout.is_max()) { |
| @@ -212,7 +214,7 @@ void UserCloudPolicyManagerChromeOS::OnInitializationCompleted( |
| // access token is already available. |
| if (!client()->is_registered()) { |
| if (wait_for_policy_fetch_) { |
| - FetchPolicyOAuthTokenUsingSigninContext(); |
| + FetchPolicyOAuthToken(); |
| } else if (!access_token_.empty()) { |
| OnAccessTokenAvailable(access_token_); |
| } |
| @@ -286,7 +288,16 @@ void UserCloudPolicyManagerChromeOS::GetChromePolicy(PolicyMap* policy_map) { |
| SetEnterpriseUsersDefaults(policy_map); |
| } |
| -void UserCloudPolicyManagerChromeOS::FetchPolicyOAuthTokenUsingSigninContext() { |
| +void UserCloudPolicyManagerChromeOS::FetchPolicyOAuthToken() { |
| + if (!refresh_token_.empty()) { |
|
Mattias Nissler (ping if slow)
2015/04/28 06:50:43
It's kinda inconsistent that the signin_context be
achuithb
2015/04/28 18:20:08
Done.
|
| + token_fetcher_.reset(new PolicyOAuth2TokenFetcher( |
| + std::string(), g_browser_process->system_request_context(), |
| + base::Bind(&UserCloudPolicyManagerChromeOS::OnOAuth2PolicyTokenFetched, |
| + base::Unretained(this)))); |
| + token_fetcher_->StartWithRefreshToken(refresh_token_); |
| + return; |
| + } |
| + |
| scoped_refptr<net::URLRequestContextGetter> signin_context = |
| chromeos::login::GetSigninContext(); |
| if (!signin_context.get()) { |