Chromium Code Reviews| 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())) |