| Index: chrome/browser/policy/cloud/component_cloud_policy_service.cc
|
| diff --git a/chrome/browser/policy/cloud/component_cloud_policy_service.cc b/chrome/browser/policy/cloud/component_cloud_policy_service.cc
|
| index 8bed9394440eca10e8669f29fa9c3a46befec7ba..7908f43b2509200d56c33c467a5d53b2d3751eca 100644
|
| --- a/chrome/browser/policy/cloud/component_cloud_policy_service.cc
|
| +++ b/chrome/browser/policy/cloud/component_cloud_policy_service.cc
|
| @@ -145,10 +145,15 @@ void ComponentCloudPolicyService::Backend::Init(
|
| OnSchemasUpdated(schema_map, scoped_ptr<PolicyNamespaceList>());
|
|
|
| // Read the initial policy. Note that this does not trigger notifications
|
| - // through OnComponentCloudPolicyStoreUpdated.
|
| + // through OnComponentCloudPolicyStoreUpdated. Note also that the cached
|
| + // data may contain names or values that don't match the schema for that
|
| + // component; the data must be cached without modifications so that its
|
| + // integrity can be verified using the hash, but it must also be filtered
|
| + // right after a Load().
|
| store_.Load();
|
| scoped_ptr<PolicyBundle> bundle(new PolicyBundle);
|
| bundle->CopyFrom(store_.policy());
|
| + schema_map_->FilterBundle(bundle.get());
|
|
|
| // Start downloading any pending data.
|
| updater_.reset(new ComponentCloudPolicyUpdater(
|
|
|