Index: chrome/browser/policy/cloud/user_cloud_policy_manager.cc |
diff --git a/chrome/browser/policy/cloud/user_cloud_policy_manager.cc b/chrome/browser/policy/cloud/user_cloud_policy_manager.cc |
index 09db70154cbd86a1e4e72a3ca7ad5e1d2eaf2930..081211c32472864e2dd5cf625a005e4a7e7f91c3 100644 |
--- a/chrome/browser/policy/cloud/user_cloud_policy_manager.cc |
+++ b/chrome/browser/policy/cloud/user_cloud_policy_manager.cc |
@@ -6,11 +6,14 @@ |
#include "base/bind.h" |
#include "base/bind_helpers.h" |
+#include "base/command_line.h" |
+#include "chrome/browser/invalidation/invalidation_service_factory.h" |
#include "chrome/browser/policy/cloud/cloud_policy_constants.h" |
#include "chrome/browser/policy/cloud/cloud_policy_service.h" |
#include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" |
#include "chrome/browser/policy/cloud/user_cloud_policy_store.h" |
#include "chrome/browser/policy/policy_types.h" |
+#include "chrome/common/chrome_switches.h" |
#include "chrome/common/pref_names.h" |
namespace em = enterprise_management; |
@@ -37,6 +40,11 @@ void UserCloudPolicyManager::Connect( |
core()->Connect(client.Pass()); |
core()->StartRefreshScheduler(); |
core()->TrackRefreshDelayPref(local_state, prefs::kUserPolicyRefreshRate); |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableCloudPolicyPush)) { |
Joao da Silva
2013/07/23 20:44:47
Move the flag check to CreateInvalidator
Steve Condie
2013/07/24 01:42:04
Done.
|
+ CreateInvalidator( |
+ invalidation::InvalidationServiceFactory::GetForProfile(profile_)); |
+ } |
} |
// static |
@@ -50,6 +58,7 @@ UserCloudPolicyManager::CreateCloudPolicyClient( |
} |
void UserCloudPolicyManager::DisconnectAndRemovePolicy() { |
+ UnregisterInvalidator(); |
core()->Disconnect(); |
store_->Clear(); |
} |