| 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 |