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..8cbaa1f5092af03db0e04a3d70d080c7d0ac23e8 100644 |
--- a/chrome/browser/policy/cloud/cloud_policy_manager.cc |
+++ b/chrome/browser/policy/cloud/cloud_policy_manager.cc |
@@ -8,6 +8,8 @@ |
#include "base/bind_helpers.h" |
#include "base/logging.h" |
#include "base/prefs/pref_service.h" |
+#include "chrome/browser/policy/cloud/cloud_policy_invalidator.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" |
@@ -31,6 +33,7 @@ CloudPolicyManager::CloudPolicyManager(const PolicyNamespaceKey& policy_ns_key, |
CloudPolicyManager::~CloudPolicyManager() {} |
void CloudPolicyManager::Shutdown() { |
+ invalidator_.reset(); |
core_.Disconnect(); |
store()->RemoveObserver(this); |
ConfigurationPolicyProvider::Shutdown(); |
@@ -73,6 +76,25 @@ void CloudPolicyManager::CheckAndPublishPolicy() { |
} |
} |
+void CloudPolicyManager::CreateInvalidator( |
+ invalidation::InvalidationService* service) { |
Joao da Silva
2013/07/23 20:44:47
You can check the command line flag here.
Also, s
Steve Condie
2013/07/24 01:42:04
Done.
|
+ invalidator_.reset(new CloudPolicyInvalidator( |
+ service, |
+ client(), |
+ store(), |
+ base::MessageLoop::current()->message_loop_proxy(), |
+ base::Bind( |
+ &CloudPolicyRefreshScheduler::RefreshForInvalidation, |
Joao da Silva
2013/07/23 20:44:47
CloudPolicyRefreshScheduler::RefreshSoon
Actually
Steve Condie
2013/07/24 01:42:04
Changed this so that instead of passing in a singl
|
+ base::Unretained(core()->refresh_scheduler())))); |
+} |
+ |
+void CloudPolicyManager::UnregisterInvalidator() { |
+ if (invalidator_.get()) { |
+ invalidator_->Unregister(); |
+ invalidator_.reset(); |
+ } |
+} |
+ |
scoped_ptr<PolicyBundle> CloudPolicyManager::CreatePolicyBundle() { |
scoped_ptr<PolicyBundle> bundle(new PolicyBundle); |
bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) |