Index: chrome/browser/extensions/api/preference/preference_api.cc |
diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc |
index 16cf1064189130140838081186682b061a5a80c3..554bcf2998ff34dc44d34558a25fcd7789dc2d87 100644 |
--- a/chrome/browser/extensions/api/preference/preference_api.cc |
+++ b/chrome/browser/extensions/api/preference/preference_api.cc |
@@ -12,8 +12,8 @@ |
#include "base/lazy_instance.h" |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
#include "base/memory/singleton.h" |
-#include "base/stl_util.h" |
#include "base/strings/stringprintf.h" |
#include "base/values.h" |
#include "build/build_config.h" |
@@ -265,10 +265,9 @@ class PrefMapping { |
PrefTransformerInterface* FindTransformerForBrowserPref( |
const std::string& browser_pref) { |
- std::map<std::string, PrefTransformerInterface*>::iterator it = |
- transformers_.find(browser_pref); |
+ auto it = transformers_.find(browser_pref); |
if (it != transformers_.end()) |
- return it->second; |
+ return it->second.get(); |
else |
return identity_transformer_.get(); |
} |
@@ -294,23 +293,22 @@ class PrefMapping { |
DCHECK_EQ(arraysize(kPrefMapping), mapping_.size()); |
DCHECK_EQ(arraysize(kPrefMapping), event_mapping_.size()); |
RegisterPrefTransformer(proxy_config::prefs::kProxy, |
- new ProxyPrefTransformer()); |
+ base::MakeUnique<ProxyPrefTransformer>()); |
RegisterPrefTransformer(prefs::kBlockThirdPartyCookies, |
- new InvertBooleanTransformer()); |
+ base::MakeUnique<InvertBooleanTransformer>()); |
RegisterPrefTransformer(prefs::kNetworkPredictionOptions, |
- new NetworkPredictionTransformer()); |
+ base::MakeUnique<NetworkPredictionTransformer>()); |
} |
~PrefMapping() { |
- base::STLDeleteContainerPairSecondPointers(transformers_.begin(), |
- transformers_.end()); |
} |
- void RegisterPrefTransformer(const std::string& browser_pref, |
- PrefTransformerInterface* transformer) { |
+ void RegisterPrefTransformer( |
+ const std::string& browser_pref, |
+ std::unique_ptr<PrefTransformerInterface> transformer) { |
DCHECK_EQ(0u, transformers_.count(browser_pref)) << |
"Trying to register pref transformer for " << browser_pref << " twice"; |
- transformers_[browser_pref] = transformer; |
+ transformers_[browser_pref] = std::move(transformer); |
} |
struct PrefMapData { |
@@ -344,7 +342,8 @@ class PrefMapping { |
PrefMap event_mapping_; |
// Mapping from browser pref keys to transformers. |
- std::map<std::string, PrefTransformerInterface*> transformers_; |
+ std::map<std::string, std::unique_ptr<PrefTransformerInterface>> |
+ transformers_; |
std::unique_ptr<PrefTransformerInterface> identity_transformer_; |