Index: chrome/browser/plugins/plugin_finder.cc |
diff --git a/chrome/browser/plugins/plugin_finder.cc b/chrome/browser/plugins/plugin_finder.cc |
index b05f173cc73ca4f42f9607de1678c3bbf67ccacb..f4cb1eb4c1b89feb608674afc86fe2d21036f697 100644 |
--- a/chrome/browser/plugins/plugin_finder.cc |
+++ b/chrome/browser/plugins/plugin_finder.cc |
@@ -8,9 +8,9 @@ |
#include "base/bind.h" |
#include "base/json/json_reader.h" |
+#include "base/memory/ptr_util.h" |
#include "base/message_loop/message_loop.h" |
#include "base/metrics/histogram_macros.h" |
-#include "base/stl_util.h" |
#include "base/strings/sys_string_conversions.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/values.h" |
@@ -95,7 +95,7 @@ void LoadMimeTypes(bool matching_mime_types, |
} |
} |
-PluginMetadata* CreatePluginMetadata( |
+std::unique_ptr<PluginMetadata> CreatePluginMetadata( |
const std::string& identifier, |
const base::DictionaryValue* plugin_dict) { |
std::string url; |
@@ -113,13 +113,9 @@ PluginMetadata* CreatePluginMetadata( |
std::string language_str; |
plugin_dict->GetString("lang", &language_str); |
- PluginMetadata* plugin = new PluginMetadata(identifier, |
- name, |
- display_url, |
- GURL(url), |
- GURL(help_url), |
- group_name_matcher, |
- language_str); |
+ std::unique_ptr<PluginMetadata> plugin = base::MakeUnique<PluginMetadata>( |
+ identifier, name, display_url, GURL(url), GURL(help_url), |
+ group_name_matcher, language_str); |
const base::ListValue* versions = NULL; |
if (plugin_dict->GetList("versions", &versions)) { |
for (base::ListValue::const_iterator it = versions->begin(); |
@@ -143,8 +139,8 @@ PluginMetadata* CreatePluginMetadata( |
} |
} |
- LoadMimeTypes(false, plugin_dict, plugin); |
- LoadMimeTypes(true, plugin_dict, plugin); |
+ LoadMimeTypes(false, plugin_dict, plugin.get()); |
+ LoadMimeTypes(true, plugin_dict, plugin.get()); |
return plugin; |
} |
@@ -247,10 +243,6 @@ base::DictionaryValue* PluginFinder::LoadBuiltInPluginList() { |
} |
PluginFinder::~PluginFinder() { |
-#if BUILDFLAG(ENABLE_PLUGIN_INSTALLATION) |
- base::STLDeleteValues(&installers_); |
-#endif |
- base::STLDeleteValues(&identifier_plugin_); |
} |
#if BUILDFLAG(ENABLE_PLUGIN_INSTALLATION) |
@@ -263,16 +255,15 @@ bool PluginFinder::FindPlugin( |
return false; |
base::AutoLock lock(mutex_); |
- PluginMap::const_iterator metadata_it = identifier_plugin_.begin(); |
+ auto metadata_it = identifier_plugin_.begin(); |
for (; metadata_it != identifier_plugin_.end(); ++metadata_it) { |
if (language == metadata_it->second->language() && |
metadata_it->second->HasMimeType(mime_type)) { |
*plugin_metadata = metadata_it->second->Clone(); |
- std::map<std::string, PluginInstaller*>::const_iterator installer_it = |
- installers_.find(metadata_it->second->identifier()); |
+ auto installer_it = installers_.find(metadata_it->second->identifier()); |
DCHECK(installer_it != installers_.end()); |
- *installer = installer_it->second; |
+ *installer = installer_it->second.get(); |
return true; |
} |
} |
@@ -284,17 +275,16 @@ bool PluginFinder::FindPluginWithIdentifier( |
PluginInstaller** installer, |
std::unique_ptr<PluginMetadata>* plugin_metadata) { |
base::AutoLock lock(mutex_); |
- PluginMap::const_iterator metadata_it = identifier_plugin_.find(identifier); |
+ auto metadata_it = identifier_plugin_.find(identifier); |
if (metadata_it == identifier_plugin_.end()) |
return false; |
*plugin_metadata = metadata_it->second->Clone(); |
if (installer) { |
- std::map<std::string, PluginInstaller*>::const_iterator installer_it = |
- installers_.find(identifier); |
+ auto installer_it = installers_.find(identifier); |
if (installer_it == installers_.end()) |
return false; |
- *installer = installer_it->second; |
+ *installer = installer_it->second.get(); |
} |
return true; |
} |
@@ -311,7 +301,7 @@ void PluginFinder::ReinitializePlugins( |
version_ = version; |
- base::STLDeleteValues(&identifier_plugin_); |
+ identifier_plugin_.clear(); |
for (base::DictionaryValue::Iterator plugin_it(*plugin_list); |
!plugin_it.IsAtEnd(); plugin_it.Advance()) { |
@@ -323,7 +313,7 @@ void PluginFinder::ReinitializePlugins( |
#if BUILDFLAG(ENABLE_PLUGIN_INSTALLATION) |
if (installers_.find(identifier) == installers_.end()) |
- installers_[identifier] = new PluginInstaller(); |
+ installers_[identifier] = base::MakeUnique<PluginInstaller>(); |
#endif |
} |
} |
@@ -332,24 +322,19 @@ void PluginFinder::ReinitializePlugins( |
std::unique_ptr<PluginMetadata> PluginFinder::GetPluginMetadata( |
const content::WebPluginInfo& plugin) { |
base::AutoLock lock(mutex_); |
- for (PluginMap::const_iterator it = identifier_plugin_.begin(); |
- it != identifier_plugin_.end(); ++it) { |
- if (!it->second->MatchesPlugin(plugin)) |
+ for (const auto& plugin_pair : identifier_plugin_) { |
+ if (!plugin_pair.second->MatchesPlugin(plugin)) |
continue; |
- return it->second->Clone(); |
+ return plugin_pair.second->Clone(); |
} |
// The plugin metadata was not found, create a dummy one holding |
// the name, identifier and group name only. |
std::string identifier = GetIdentifier(plugin); |
- PluginMetadata* metadata = new PluginMetadata(identifier, |
- GetGroupName(plugin), |
- false, |
- GURL(), |
- GURL(), |
- plugin.name, |
- std::string()); |
+ std::unique_ptr<PluginMetadata> metadata = base::MakeUnique<PluginMetadata>( |
+ identifier, GetGroupName(plugin), false, GURL(), GURL(), plugin.name, |
+ std::string()); |
for (size_t i = 0; i < plugin.mime_types.size(); ++i) |
metadata->AddMatchingMimeType(plugin.mime_types[i].mime_type); |
@@ -358,6 +343,6 @@ std::unique_ptr<PluginMetadata> PluginFinder::GetPluginMetadata( |
identifier = GetLongIdentifier(plugin); |
DCHECK(identifier_plugin_.find(identifier) == identifier_plugin_.end()); |
- identifier_plugin_[identifier] = metadata; |
- return metadata->Clone(); |
+ identifier_plugin_[identifier] = std::move(metadata); |
+ return identifier_plugin_[identifier]->Clone(); |
} |