| Index: chrome/browser/policy/cloud_policy_cache_base.cc
|
| diff --git a/chrome/browser/policy/cloud_policy_cache_base.cc b/chrome/browser/policy/cloud_policy_cache_base.cc
|
| index 5eb692c20f0d3cfdbbb3b45f418b31e1dd185243..b55ba2b5a41282d5fd25886c5e455cda4c89f9a2 100644
|
| --- a/chrome/browser/policy/cloud_policy_cache_base.cc
|
| +++ b/chrome/browser/policy/cloud_policy_cache_base.cc
|
| @@ -44,8 +44,7 @@ void CloudPolicyCacheBase::RemoveObserver(Observer* observer) {
|
| void CloudPolicyCacheBase::Reset() {
|
| last_policy_refresh_time_ = base::Time();
|
| is_unmanaged_ = false;
|
| - mandatory_policy_.Clear();
|
| - recommended_policy_.Clear();
|
| + policies_.Clear();
|
| public_key_version_.version = 0;
|
| public_key_version_.valid = false;
|
| InformNotifier(CloudPolicySubsystem::UNENROLLED,
|
| @@ -56,17 +55,6 @@ bool CloudPolicyCacheBase::IsReady() {
|
| return initialization_complete_;
|
| }
|
|
|
| -const PolicyMap* CloudPolicyCacheBase::policy(PolicyLevel level) {
|
| - switch (level) {
|
| - case POLICY_LEVEL_MANDATORY:
|
| - return &mandatory_policy_;
|
| - case POLICY_LEVEL_RECOMMENDED:
|
| - return &recommended_policy_;
|
| - }
|
| - NOTREACHED();
|
| - return NULL;
|
| -}
|
| -
|
| bool CloudPolicyCacheBase::GetPublicKeyVersion(int* version) {
|
| if (public_key_version_.valid)
|
| *version = public_key_version_.version;
|
| @@ -80,11 +68,10 @@ bool CloudPolicyCacheBase::SetPolicyInternal(
|
| bool check_for_timestamp_validity) {
|
| DCHECK(CalledOnValidThread());
|
| is_unmanaged_ = false;
|
| - PolicyMap mandatory_policy;
|
| - PolicyMap recommended_policy;
|
| + PolicyMap policies;
|
| base::Time temp_timestamp;
|
| PublicKeyVersion temp_public_key_version;
|
| - bool ok = DecodePolicyResponse(policy, &mandatory_policy, &recommended_policy,
|
| + bool ok = DecodePolicyResponse(policy, &policies,
|
| &temp_timestamp, &temp_public_key_version);
|
| if (!ok) {
|
| LOG(WARNING) << "Decoding policy data failed.";
|
| @@ -106,17 +93,13 @@ bool CloudPolicyCacheBase::SetPolicyInternal(
|
| public_key_version_.version = temp_public_key_version.version;
|
| public_key_version_.valid = temp_public_key_version.valid;
|
|
|
| - const bool new_policy_differs =
|
| - !mandatory_policy_.Equals(mandatory_policy) ||
|
| - !recommended_policy_.Equals(recommended_policy);
|
| - mandatory_policy_.Swap(&mandatory_policy);
|
| - recommended_policy_.Swap(&recommended_policy);
|
| -
|
| - if (!new_policy_differs) {
|
| + if (policies_.Equals(policies)) {
|
| UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, kMetricPolicyFetchNotModified,
|
| kMetricPolicySize);
|
| }
|
|
|
| + policies_.Swap(&policies);
|
| +
|
| InformNotifier(CloudPolicySubsystem::SUCCESS,
|
| CloudPolicySubsystem::NO_DETAILS);
|
| return true;
|
| @@ -125,8 +108,7 @@ bool CloudPolicyCacheBase::SetPolicyInternal(
|
| void CloudPolicyCacheBase::SetUnmanagedInternal(const base::Time& timestamp) {
|
| is_unmanaged_ = true;
|
| public_key_version_.valid = false;
|
| - mandatory_policy_.Clear();
|
| - recommended_policy_.Clear();
|
| + policies_.Clear();
|
| last_policy_refresh_time_ = timestamp;
|
| }
|
|
|
| @@ -137,8 +119,7 @@ void CloudPolicyCacheBase::SetReady() {
|
|
|
| bool CloudPolicyCacheBase::DecodePolicyResponse(
|
| const em::PolicyFetchResponse& policy_response,
|
| - PolicyMap* mandatory,
|
| - PolicyMap* recommended,
|
| + PolicyMap* policies,
|
| base::Time* timestamp,
|
| PublicKeyVersion* public_key_version) {
|
| std::string data = policy_response.policy_data();
|
| @@ -158,7 +139,7 @@ bool CloudPolicyCacheBase::DecodePolicyResponse(
|
| }
|
| machine_id_missing_ = policy_data.valid_serial_number_missing();
|
|
|
| - return DecodePolicyData(policy_data, mandatory, recommended);
|
| + return DecodePolicyData(policy_data, policies);
|
| }
|
|
|
| void CloudPolicyCacheBase::NotifyObservers() {
|
|
|