OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/policy/browser_policy_connector.h" | 5 #include "chrome/browser/policy/browser_policy_connector.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 } | 251 } |
252 #if defined(OS_CHROMEOS) | 252 #if defined(OS_CHROMEOS) |
253 if (device_cloud_policy_subsystem_.get()) { | 253 if (device_cloud_policy_subsystem_.get()) { |
254 device_cloud_policy_subsystem_-> | 254 device_cloud_policy_subsystem_-> |
255 ScheduleServiceInitialization(delay_milliseconds); | 255 ScheduleServiceInitialization(delay_milliseconds); |
256 } | 256 } |
257 #endif | 257 #endif |
258 } | 258 } |
259 void BrowserPolicyConnector::InitializeUserPolicy( | 259 void BrowserPolicyConnector::InitializeUserPolicy( |
260 const std::string& user_name, | 260 const std::string& user_name, |
261 bool wait_for_policy_fetch) { | 261 bool wait_for_policy_fetch, |
| 262 const base::Closure& callback) { |
262 // Throw away the old backend. | 263 // Throw away the old backend. |
263 user_cloud_policy_subsystem_.reset(); | 264 user_cloud_policy_subsystem_.reset(); |
264 user_policy_token_cache_.reset(); | 265 user_policy_token_cache_.reset(); |
265 user_data_store_.reset(); | 266 user_data_store_.reset(); |
266 token_service_ = NULL; | 267 token_service_ = NULL; |
267 registrar_.RemoveAll(); | 268 registrar_.RemoveAll(); |
268 | 269 |
269 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 270 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
270 | 271 |
271 FilePath policy_dir; | 272 FilePath policy_dir; |
272 PathService::Get(chrome::DIR_USER_DATA, &policy_dir); | 273 PathService::Get(chrome::DIR_USER_DATA, &policy_dir); |
273 #if defined(OS_CHROMEOS) | 274 #if defined(OS_CHROMEOS) |
274 policy_dir = policy_dir.Append( | 275 policy_dir = policy_dir.Append( |
275 command_line->GetSwitchValuePath(switches::kLoginProfile)); | 276 command_line->GetSwitchValuePath(switches::kLoginProfile)); |
276 #endif | 277 #endif |
277 | 278 |
278 if (command_line->HasSwitch(switches::kDeviceManagementUrl)) { | 279 if (command_line->HasSwitch(switches::kDeviceManagementUrl)) { |
279 FilePath policy_cache_dir = policy_dir.Append(kPolicyDir); | 280 FilePath policy_cache_dir = policy_dir.Append(kPolicyDir); |
280 | 281 |
281 UserPolicyCache* user_policy_cache = | 282 UserPolicyCache* user_policy_cache = |
282 new UserPolicyCache(policy_cache_dir.Append(kPolicyCacheFile), | 283 new UserPolicyCache(policy_cache_dir.Append(kPolicyCacheFile), |
283 wait_for_policy_fetch); | 284 wait_for_policy_fetch, |
| 285 callback); |
284 user_data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies()); | 286 user_data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies()); |
285 user_policy_token_cache_.reset( | 287 user_policy_token_cache_.reset( |
286 new UserPolicyTokenCache(user_data_store_.get(), | 288 new UserPolicyTokenCache(user_data_store_.get(), |
287 policy_cache_dir.Append(kTokenCacheFile))); | 289 policy_cache_dir.Append(kTokenCacheFile))); |
288 | 290 |
289 // Prepending user caches meaning they will take precedence of device policy | 291 // Prepending user caches meaning they will take precedence of device policy |
290 // caches. | 292 // caches. |
291 managed_cloud_provider_->PrependCache(user_policy_cache); | 293 managed_cloud_provider_->PrependCache(user_policy_cache); |
292 recommended_cloud_provider_->PrependCache(user_policy_cache); | 294 recommended_cloud_provider_->PrependCache(user_policy_cache); |
293 user_cloud_policy_subsystem_.reset(new CloudPolicySubsystem( | 295 user_cloud_policy_subsystem_.reset(new CloudPolicySubsystem( |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 config_dir_path.Append(FILE_PATH_LITERAL("recommended"))); | 512 config_dir_path.Append(FILE_PATH_LITERAL("recommended"))); |
511 } else { | 513 } else { |
512 return NULL; | 514 return NULL; |
513 } | 515 } |
514 #else | 516 #else |
515 return NULL; | 517 return NULL; |
516 #endif | 518 #endif |
517 } | 519 } |
518 | 520 |
519 } // namespace policy | 521 } // namespace policy |
OLD | NEW |