| Index: components/policy/core/common/policy_map.h | 
| diff --git a/components/policy/core/common/policy_map.h b/components/policy/core/common/policy_map.h | 
| index 9960531f64e1dea99dbb3baaaf922c44de7632e1..5b527adb867f7dace8ff37e9a3e30a7371bbd88f 100644 | 
| --- a/components/policy/core/common/policy_map.h | 
| +++ b/components/policy/core/common/policy_map.h | 
| @@ -28,19 +28,20 @@ class POLICY_EXPORT PolicyMap { | 
| struct POLICY_EXPORT Entry { | 
| PolicyLevel level; | 
| PolicyScope scope; | 
| -    base::Value* value; | 
| -    ExternalDataFetcher* external_data_fetcher; | 
| +    std::unique_ptr<base::Value> value; | 
| +    std::unique_ptr<ExternalDataFetcher> external_data_fetcher; | 
|  | 
| // For debugging and displaying only. Set by provider delivering the policy. | 
| PolicySource source; | 
|  | 
| Entry(); | 
| +    ~Entry(); | 
|  | 
| -    // Deletes all members owned by |this|. | 
| -    void DeleteOwnedMembers(); | 
| +    Entry(Entry&&); | 
| +    Entry& operator=(Entry&&); | 
|  | 
| // Returns a copy of |this|. | 
| -    std::unique_ptr<Entry> DeepCopy() const; | 
| +    Entry DeepCopy() const; | 
|  | 
| // Returns true if |this| has higher priority than |other|. | 
| bool has_higher_priority_than(const Entry& other) const; | 
| @@ -64,14 +65,14 @@ class POLICY_EXPORT PolicyMap { | 
| // This is equivalent to Get(policy)->value, when it doesn't return NULL. | 
| const base::Value* GetValue(const std::string& policy) const; | 
|  | 
| -  // Takes ownership of |value| and |external_data_fetcher|. Overwrites any | 
| -  // existing information stored in the map for the key |policy|. | 
| +  // Overwrites any existing information stored in the map for the key |policy|. | 
| void Set(const std::string& policy, | 
| PolicyLevel level, | 
| PolicyScope scope, | 
| PolicySource source, | 
| -           base::Value* value, | 
| -           ExternalDataFetcher* external_data_fetcher); | 
| +           std::unique_ptr<base::Value> value, | 
| +           std::unique_ptr<ExternalDataFetcher> external_data_fetcher); | 
| +  void Set(const std::string& policy, Entry entry); | 
|  | 
| // Erase the given |policy|, if it exists in this map. | 
| void Erase(const std::string& policy); | 
|  |