Index: chrome/browser/policy/device_management_policy_cache.cc |
diff --git a/chrome/browser/policy/device_management_policy_cache.cc b/chrome/browser/policy/device_management_policy_cache.cc |
index d9ed7a64f5f13860858ce016b21c37cfeb333ee9..534794de5619237e0f4fd6ed8697d8bfcf54469b 100644 |
--- a/chrome/browser/policy/device_management_policy_cache.cc |
+++ b/chrome/browser/policy/device_management_policy_cache.cc |
@@ -105,9 +105,10 @@ void DeviceManagementPolicyCache::LoadPolicyFromFile() { |
} |
} |
-void DeviceManagementPolicyCache::SetPolicy( |
+bool DeviceManagementPolicyCache::SetPolicy( |
const em::DevicePolicyResponse& policy) { |
DictionaryValue* value = DeviceManagementPolicyCache::DecodePolicy(policy); |
+ const bool new_policy_differs = !(value->Equals(policy_.get())); |
base::Time now(base::Time::Now()); |
{ |
AutoLock lock(lock_); |
@@ -123,6 +124,7 @@ void DeviceManagementPolicyCache::SetPolicy( |
FROM_HERE, |
new PersistPolicyTask(backing_file_path_, policy_copy, |
base::Time::NowFromSystemTime())); |
+ return new_policy_differs; |
} |
DictionaryValue* DeviceManagementPolicyCache::GetPolicy() { |