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