Index: chrome/browser/policy/cloud/cloud_policy_manager.cc |
diff --git a/chrome/browser/policy/cloud/cloud_policy_manager.cc b/chrome/browser/policy/cloud/cloud_policy_manager.cc |
index 59fcc735805e8d8c7089a4d35663cc23ac49dbb8..faedbb8f95cc9ae23c9bbb9a1a1c4eff1c379c97 100644 |
--- a/chrome/browser/policy/cloud/cloud_policy_manager.cc |
+++ b/chrome/browser/policy/cloud/cloud_policy_manager.cc |
@@ -8,6 +8,7 @@ |
#include "base/bind_helpers.h" |
#include "base/logging.h" |
#include "base/prefs/pref_service.h" |
+#include "chrome/browser/policy/cloud/cloud_policy_refresh_scheduler.h" |
#include "chrome/browser/policy/cloud/cloud_policy_service.h" |
#include "chrome/browser/policy/policy_bundle.h" |
#include "chrome/browser/policy/policy_map.h" |
@@ -66,6 +67,35 @@ void CloudPolicyManager::OnStoreError(CloudPolicyStore* cloud_policy_store) { |
CheckAndPublishPolicy(); |
} |
+void CloudPolicyManager::SetInvalidationInfo( |
+ int64 version, |
+ const std::string& payload) { |
+ if (!core()->refresh_scheduler()) { |
+ invalidation_replayer_.SetInvalidationInfo(version, payload); |
+ return; |
+ } |
+ DCHECK(core()->client()); |
+ core()->client()->SetInvalidationInfo(version, payload); |
+} |
+ |
+void CloudPolicyManager::InvalidatePolicy() { |
+ if (!core()->refresh_scheduler()) { |
+ invalidation_replayer_.InvalidatePolicy(); |
+ return; |
+ } |
+ core()->refresh_scheduler()->RefreshSoon(); |
+} |
+ |
+void CloudPolicyManager::OnInvalidatorStateChanged(bool invalidations_enabled) { |
+ if (!core()->refresh_scheduler()) { |
+ invalidation_replayer_.OnInvalidatorStateChanged(invalidations_enabled); |
+ return; |
+ } |
+ // Enable this code once method is added to CloudPolicyRefreshScheduler. |
+ // core()->refresh_scheduler()->SetInvalidationServiceAvailability( |
+ // invalidations_enabled); |
+} |
+ |
void CloudPolicyManager::CheckAndPublishPolicy() { |
if (IsInitializationComplete(POLICY_DOMAIN_CHROME) && |
!waiting_for_policy_refresh_) { |
@@ -73,6 +103,12 @@ void CloudPolicyManager::CheckAndPublishPolicy() { |
} |
} |
+void CloudPolicyManager::StartRefreshScheduler() { |
+ DCHECK(!core()->refresh_scheduler()); |
+ core()->StartRefreshScheduler(); |
+ invalidation_replayer_.Replay(this); |
+} |
+ |
scoped_ptr<PolicyBundle> CloudPolicyManager::CreatePolicyBundle() { |
scoped_ptr<PolicyBundle> bundle(new PolicyBundle); |
bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) |