Index: chrome/browser/policy/browser_policy_connector.cc |
diff --git a/chrome/browser/policy/browser_policy_connector.cc b/chrome/browser/policy/browser_policy_connector.cc |
index bd27f72590e1658593740bdef04471a07675ff5a..85a21c4083d4f212a439d6b3814c022ada31d953 100644 |
--- a/chrome/browser/policy/browser_policy_connector.cc |
+++ b/chrome/browser/policy/browser_policy_connector.cc |
@@ -81,10 +81,8 @@ const char* kMachineInfoSerialNumberKeys[] = { |
} // namespace |
-// static |
-BrowserPolicyConnector* BrowserPolicyConnector::Create() { |
- return new BrowserPolicyConnector(); |
-} |
+BrowserPolicyConnector::BrowserPolicyConnector() |
+ : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {} |
BrowserPolicyConnector::~BrowserPolicyConnector() { |
// Shutdown device cloud policy. |
@@ -103,6 +101,29 @@ BrowserPolicyConnector::~BrowserPolicyConnector() { |
user_data_store_.reset(); |
} |
+void BrowserPolicyConnector::Init() { |
+ managed_platform_provider_.reset(CreateManagedPlatformProvider()); |
+ recommended_platform_provider_.reset(CreateRecommendedPlatformProvider()); |
+ |
+ managed_cloud_provider_.reset(new CloudPolicyProviderImpl( |
+ this, |
+ GetChromePolicyDefinitionList(), |
+ CloudPolicyCacheBase::POLICY_LEVEL_MANDATORY)); |
+ recommended_cloud_provider_.reset(new CloudPolicyProviderImpl( |
+ this, |
+ GetChromePolicyDefinitionList(), |
+ CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED)); |
+ |
+#if defined(OS_CHROMEOS) |
+ InitializeDevicePolicy(); |
+ |
+ network_configuration_updater_.reset( |
+ new NetworkConfigurationUpdater( |
+ managed_cloud_provider_.get(), |
+ chromeos::CrosLibrary::Get()->GetNetworkLibrary())); |
+#endif |
+} |
+ |
ConfigurationPolicyProvider* |
BrowserPolicyConnector::GetManagedPlatformProvider() const { |
return managed_platform_provider_.get(); |
@@ -202,20 +223,24 @@ void BrowserPolicyConnector::ResetDevicePolicy() { |
#endif |
} |
-void BrowserPolicyConnector::FetchDevicePolicy() { |
+void BrowserPolicyConnector::FetchCloudPolicy() { |
#if defined(OS_CHROMEOS) |
- if (device_data_store_.get()) { |
+ if (device_data_store_.get()) |
device_data_store_->NotifyDeviceTokenChanged(); |
- } |
+ if (user_data_store_.get()) |
+ user_data_store_->NotifyDeviceTokenChanged(); |
#endif |
} |
-void BrowserPolicyConnector::FetchUserPolicy() { |
-#if defined(OS_CHROMEOS) |
- if (user_data_store_.get()) { |
- user_data_store_->NotifyDeviceTokenChanged(); |
- } |
-#endif |
+void BrowserPolicyConnector::RefreshPolicies() { |
+ if (managed_platform_provider_.get()) |
+ managed_platform_provider_->RefreshPolicies(); |
+ if (recommended_platform_provider_.get()) |
+ recommended_platform_provider_->RefreshPolicies(); |
+ if (managed_cloud_provider_.get()) |
+ managed_cloud_provider_->RefreshPolicies(); |
+ if (recommended_cloud_provider_.get()) |
+ recommended_cloud_provider_->RefreshPolicies(); |
} |
void BrowserPolicyConnector::ScheduleServiceInitialization( |
@@ -347,40 +372,6 @@ CloudPolicyDataStore::UserAffiliation |
return CloudPolicyDataStore::USER_AFFILIATION_NONE; |
} |
-BrowserPolicyConnector::BrowserPolicyConnector() |
- : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
- managed_platform_provider_.reset(CreateManagedPlatformProvider()); |
- recommended_platform_provider_.reset(CreateRecommendedPlatformProvider()); |
- |
- managed_cloud_provider_.reset(new CloudPolicyProviderImpl( |
- GetChromePolicyDefinitionList(), |
- CloudPolicyCacheBase::POLICY_LEVEL_MANDATORY)); |
- recommended_cloud_provider_.reset(new CloudPolicyProviderImpl( |
- GetChromePolicyDefinitionList(), |
- CloudPolicyCacheBase::POLICY_LEVEL_RECOMMENDED)); |
- |
-#if defined(OS_CHROMEOS) |
- InitializeDevicePolicy(); |
- |
- network_configuration_updater_.reset( |
- new NetworkConfigurationUpdater( |
- managed_cloud_provider_.get(), |
- chromeos::CrosLibrary::Get()->GetNetworkLibrary())); |
-#endif |
-} |
- |
-BrowserPolicyConnector::BrowserPolicyConnector( |
- ConfigurationPolicyProvider* managed_platform_provider, |
- ConfigurationPolicyProvider* recommended_platform_provider, |
- CloudPolicyProvider* managed_cloud_provider, |
- CloudPolicyProvider* recommended_cloud_provider) |
- : managed_platform_provider_(managed_platform_provider), |
- recommended_platform_provider_(recommended_platform_provider), |
- managed_cloud_provider_(managed_cloud_provider), |
- recommended_cloud_provider_(recommended_cloud_provider), |
- ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
-} |
- |
void BrowserPolicyConnector::Observe( |
int type, |
const content::NotificationSource& source, |
@@ -446,11 +437,6 @@ void BrowserPolicyConnector::InitializeDevicePolicySubsystem() { |
} |
// static |
-BrowserPolicyConnector* BrowserPolicyConnector::CreateForTests() { |
- return new BrowserPolicyConnector(NULL, NULL, NULL, NULL); |
-} |
- |
-// static |
ConfigurationPolicyProvider* |
BrowserPolicyConnector::CreateManagedPlatformProvider() { |
const PolicyDefinitionList* policy_list = GetChromePolicyDefinitionList(); |