OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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" |
11 #include "chrome/browser/net/gaia/token_service.h" | 11 #include "chrome/browser/net/gaia/token_service.h" |
12 #include "chrome/browser/policy/cloud_policy_provider.h" | 12 #include "chrome/browser/policy/cloud_policy_provider.h" |
13 #include "chrome/browser/policy/cloud_policy_provider_impl.h" | 13 #include "chrome/browser/policy/cloud_policy_provider_impl.h" |
14 #include "chrome/browser/policy/cloud_policy_subsystem.h" | 14 #include "chrome/browser/policy/cloud_policy_subsystem.h" |
15 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 15 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
16 #include "chrome/browser/policy/configuration_policy_provider.h" | 16 #include "chrome/browser/policy/configuration_policy_provider.h" |
17 #include "chrome/browser/policy/user_policy_cache.h" | 17 #include "chrome/browser/policy/user_policy_cache.h" |
18 #include "chrome/browser/policy/user_policy_token_cache.h" | 18 #include "chrome/browser/policy/user_policy_token_cache.h" |
19 #include "chrome/common/chrome_notification_types.h" | 19 #include "chrome/common/chrome_notification_types.h" |
20 #include "chrome/common/chrome_paths.h" | 20 #include "chrome/common/chrome_paths.h" |
21 #include "chrome/common/chrome_switches.h" | 21 #include "chrome/common/chrome_switches.h" |
22 #include "chrome/common/net/gaia/gaia_constants.h" | 22 #include "chrome/common/net/gaia/gaia_constants.h" |
23 #include "chrome/common/pref_names.h" | 23 #include "chrome/common/pref_names.h" |
24 #include "content/common/notification_details.h" | 24 #include "content/common/notification_details.h" |
25 #include "content/common/notification_source.h" | 25 #include "content/common/notification_source.h" |
| 26 #include "policy/policy_constants.h" |
26 | 27 |
27 #if defined(OS_WIN) | 28 #if defined(OS_WIN) |
28 #include "chrome/browser/policy/configuration_policy_provider_win.h" | 29 #include "chrome/browser/policy/configuration_policy_provider_win.h" |
29 #elif defined(OS_MACOSX) | 30 #elif defined(OS_MACOSX) |
30 #include "chrome/browser/policy/configuration_policy_provider_mac.h" | 31 #include "chrome/browser/policy/configuration_policy_provider_mac.h" |
31 #elif defined(OS_POSIX) | 32 #elif defined(OS_POSIX) |
32 #include "chrome/browser/policy/config_dir_policy_provider.h" | 33 #include "chrome/browser/policy/config_dir_policy_provider.h" |
33 #endif | 34 #endif |
34 | 35 |
35 #if defined(OS_CHROMEOS) | 36 #if defined(OS_CHROMEOS) |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 BrowserPolicyConnector::GetUserCloudPolicyDataStore() const { | 307 BrowserPolicyConnector::GetUserCloudPolicyDataStore() const { |
307 return user_data_store_.get(); | 308 return user_data_store_.get(); |
308 } | 309 } |
309 | 310 |
310 BrowserPolicyConnector::BrowserPolicyConnector() | 311 BrowserPolicyConnector::BrowserPolicyConnector() |
311 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { | 312 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
312 managed_platform_provider_.reset(CreateManagedPlatformProvider()); | 313 managed_platform_provider_.reset(CreateManagedPlatformProvider()); |
313 recommended_platform_provider_.reset(CreateRecommendedPlatformProvider()); | 314 recommended_platform_provider_.reset(CreateRecommendedPlatformProvider()); |
314 | 315 |
315 managed_cloud_provider_.reset(new CloudPolicyProviderImpl( | 316 managed_cloud_provider_.reset(new CloudPolicyProviderImpl( |
316 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | 317 GetChromePolicyDefinitionList(), |
317 CloudPolicyCacheBase::POLICY_LEVEL_MANDATORY)); | 318 CloudPolicyCacheBase::POLICY_LEVEL_MANDATORY)); |
318 recommended_cloud_provider_.reset(new CloudPolicyProviderImpl( | 319 recommended_cloud_provider_.reset(new CloudPolicyProviderImpl( |
319 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(), | 320 GetChromePolicyDefinitionList(), |
320 CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED)); | 321 CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED)); |
321 | 322 |
322 #if defined(OS_CHROMEOS) | 323 #if defined(OS_CHROMEOS) |
323 InitializeDevicePolicy(); | 324 InitializeDevicePolicy(); |
324 #endif | 325 #endif |
325 } | 326 } |
326 | 327 |
327 BrowserPolicyConnector::BrowserPolicyConnector( | 328 BrowserPolicyConnector::BrowserPolicyConnector( |
328 ConfigurationPolicyProvider* managed_platform_provider, | 329 ConfigurationPolicyProvider* managed_platform_provider, |
329 ConfigurationPolicyProvider* recommended_platform_provider, | 330 ConfigurationPolicyProvider* recommended_platform_provider, |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 } | 415 } |
415 | 416 |
416 // static | 417 // static |
417 BrowserPolicyConnector* BrowserPolicyConnector::CreateForTests() { | 418 BrowserPolicyConnector* BrowserPolicyConnector::CreateForTests() { |
418 return new BrowserPolicyConnector(NULL, NULL, NULL, NULL); | 419 return new BrowserPolicyConnector(NULL, NULL, NULL, NULL); |
419 } | 420 } |
420 | 421 |
421 // static | 422 // static |
422 ConfigurationPolicyProvider* | 423 ConfigurationPolicyProvider* |
423 BrowserPolicyConnector::CreateManagedPlatformProvider() { | 424 BrowserPolicyConnector::CreateManagedPlatformProvider() { |
424 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = | 425 const PolicyDefinitionList* policy_list = GetChromePolicyDefinitionList(); |
425 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); | |
426 #if defined(OS_WIN) | 426 #if defined(OS_WIN) |
427 return new ConfigurationPolicyProviderWin(policy_list); | 427 return new ConfigurationPolicyProviderWin(policy_list); |
428 #elif defined(OS_MACOSX) | 428 #elif defined(OS_MACOSX) |
429 return new ConfigurationPolicyProviderMac(policy_list); | 429 return new ConfigurationPolicyProviderMac(policy_list); |
430 #elif defined(OS_POSIX) | 430 #elif defined(OS_POSIX) |
431 FilePath config_dir_path; | 431 FilePath config_dir_path; |
432 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { | 432 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { |
433 return new ConfigDirPolicyProvider( | 433 return new ConfigDirPolicyProvider( |
434 policy_list, | 434 policy_list, |
435 config_dir_path.Append(FILE_PATH_LITERAL("managed"))); | 435 config_dir_path.Append(FILE_PATH_LITERAL("managed"))); |
436 } else { | 436 } else { |
437 return NULL; | 437 return NULL; |
438 } | 438 } |
439 #else | 439 #else |
440 return NULL; | 440 return NULL; |
441 #endif | 441 #endif |
442 } | 442 } |
443 | 443 |
444 // static | 444 // static |
445 ConfigurationPolicyProvider* | 445 ConfigurationPolicyProvider* |
446 BrowserPolicyConnector::CreateRecommendedPlatformProvider() { | 446 BrowserPolicyConnector::CreateRecommendedPlatformProvider() { |
447 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 447 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
448 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = | 448 const PolicyDefinitionList* policy_list = GetChromePolicyDefinitionList(); |
449 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); | |
450 FilePath config_dir_path; | 449 FilePath config_dir_path; |
451 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { | 450 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { |
452 return new ConfigDirPolicyProvider( | 451 return new ConfigDirPolicyProvider( |
453 policy_list, | 452 policy_list, |
454 config_dir_path.Append(FILE_PATH_LITERAL("recommended"))); | 453 config_dir_path.Append(FILE_PATH_LITERAL("recommended"))); |
455 } else { | 454 } else { |
456 return NULL; | 455 return NULL; |
457 } | 456 } |
458 #else | 457 #else |
459 return NULL; | 458 return NULL; |
460 #endif | 459 #endif |
461 } | 460 } |
462 | 461 |
463 } // namespace policy | 462 } // namespace policy |
OLD | NEW |