| Index: chrome/browser/ui/webui/plugins_ui.cc | 
| diff --git a/chrome/browser/ui/webui/plugins_ui.cc b/chrome/browser/ui/webui/plugins_ui.cc | 
| index 0b655ec739e25a03b26fcae50ce5fc4d961267db..01d5027140d366455a533a63d2e5c4f12222d626 100644 | 
| --- a/chrome/browser/ui/webui/plugins_ui.cc | 
| +++ b/chrome/browser/ui/webui/plugins_ui.cc | 
| @@ -20,7 +20,7 @@ | 
| #include "chrome/browser/api/prefs/pref_member.h" | 
| #include "chrome/browser/content_settings/host_content_settings_map.h" | 
| #include "chrome/browser/plugins/plugin_finder.h" | 
| -#include "chrome/browser/plugins/plugin_installer.h" | 
| +#include "chrome/browser/plugins/plugin_metadata.h" | 
| #include "chrome/browser/plugins/plugin_prefs.h" | 
| #include "chrome/browser/prefs/pref_service.h" | 
| #include "chrome/browser/prefs/scoped_user_pref_update.h" | 
| @@ -163,15 +163,10 @@ class PluginsDOMHandler : public WebUIMessageHandler, | 
| const content::NotificationDetails& details) OVERRIDE; | 
|  | 
| private: | 
| -  // Call this to start getting the plugins on the UI thread. | 
| -  void GetPluginFinder(); | 
| - | 
| -  // Called when we have a PluginFinder and need to load the list of plug-ins. | 
| -  void LoadPlugins(PluginFinder* plugin_finder); | 
| +  void LoadPlugins(); | 
|  | 
| // Called on the UI thread when the plugin information is ready. | 
| -  void PluginsLoaded(PluginFinder* plugin_finder, | 
| -                     const std::vector<webkit::WebPluginInfo>& plugins); | 
| +  void PluginsLoaded(const std::vector<webkit::WebPluginInfo>& plugins); | 
|  | 
| content::NotificationRegistrar registrar_; | 
|  | 
| @@ -221,7 +216,7 @@ void PluginsDOMHandler::RegisterMessages() { | 
| } | 
|  | 
| void PluginsDOMHandler::HandleRequestPluginsData(const ListValue* args) { | 
| -  GetPluginFinder(); | 
| +  LoadPlugins(); | 
| } | 
|  | 
| void PluginsDOMHandler::HandleEnablePluginMessage(const ListValue* args) { | 
| @@ -320,37 +315,32 @@ void PluginsDOMHandler::Observe(int type, | 
| const content::NotificationSource& source, | 
| const content::NotificationDetails& details) { | 
| DCHECK_EQ(chrome::NOTIFICATION_PLUGIN_ENABLE_STATUS_CHANGED, type); | 
| -  GetPluginFinder(); | 
| +  LoadPlugins(); | 
| } | 
|  | 
| -void PluginsDOMHandler::GetPluginFinder() { | 
| +void PluginsDOMHandler::LoadPlugins() { | 
| if (weak_ptr_factory_.HasWeakPtrs()) | 
| return; | 
|  | 
| -  PluginFinder::Get(base::Bind(&PluginsDOMHandler::LoadPlugins, | 
| -                               weak_ptr_factory_.GetWeakPtr())); | 
| -} | 
| - | 
| -void PluginsDOMHandler::LoadPlugins(PluginFinder* plugin_finder) { | 
| PluginService::GetInstance()->GetPlugins( | 
| base::Bind(&PluginsDOMHandler::PluginsLoaded, | 
| -          weak_ptr_factory_.GetWeakPtr(), plugin_finder)); | 
| +                 weak_ptr_factory_.GetWeakPtr())); | 
| } | 
|  | 
| void PluginsDOMHandler::PluginsLoaded( | 
| -    PluginFinder* plugin_finder, | 
| const std::vector<webkit::WebPluginInfo>& plugins) { | 
| Profile* profile = Profile::FromWebUI(web_ui()); | 
| PluginPrefs* plugin_prefs = PluginPrefs::GetForProfile(profile); | 
|  | 
| ContentSettingsPattern wildcard = ContentSettingsPattern::Wildcard(); | 
|  | 
| +  PluginFinder* plugin_finder = PluginFinder::GetInstance(); | 
| // Group plug-ins by identifier. This is done to be able to display | 
| // the plug-ins in UI in a grouped fashion. | 
| PluginGroups groups; | 
| for (size_t i = 0; i < plugins.size(); ++i) { | 
| -    PluginInstaller* installer = plugin_finder->GetPluginInstaller(plugins[i]); | 
| -    groups[installer->identifier()].push_back(&plugins[i]); | 
| +    PluginMetadata* plugin = plugin_finder->GetPluginMetadata(plugins[i]); | 
| +    groups[plugin->identifier()].push_back(&plugins[i]); | 
| } | 
|  | 
| // Construct DictionaryValues to return to UI. | 
| @@ -359,10 +349,10 @@ void PluginsDOMHandler::PluginsLoaded( | 
| it != groups.end(); ++it) { | 
| const std::vector<const WebPluginInfo*>& group_plugins = it->second; | 
| ListValue* plugin_files = new ListValue(); | 
| -    PluginInstaller* plugin_installer = | 
| -        plugin_finder->GetPluginInstaller(*group_plugins[0]); | 
| -    string16 group_name = plugin_installer->name(); | 
| -    std::string group_identifier = plugin_installer->identifier(); | 
| +    PluginMetadata* plugin_metadata = | 
| +        plugin_finder->GetPluginMetadata(*group_plugins[0]); | 
| +    string16 group_name = plugin_metadata->name(); | 
| +    std::string group_identifier = plugin_metadata->identifier(); | 
| bool group_enabled = false; | 
| bool all_plugins_enabled_by_policy = true; | 
| bool all_plugins_disabled_by_policy = true; | 
| @@ -437,14 +427,10 @@ void PluginsDOMHandler::PluginsLoaded( | 
| group_data->SetString("version", active_plugin->version); | 
|  | 
| #if defined(ENABLE_PLUGIN_INSTALLATION) | 
| -    PluginInstaller* installer = | 
| -        plugin_finder->FindPluginWithIdentifier(group_identifier); | 
| -    if (installer) { | 
| -      bool out_of_date = installer->GetSecurityStatus(*active_plugin) == | 
| -                         PluginInstaller::SECURITY_STATUS_OUT_OF_DATE; | 
| -      group_data->SetBoolean("critical", out_of_date); | 
| -      group_data->SetString("update_url", installer->plugin_url().spec()); | 
| -    } | 
| +    bool out_of_date = plugin_metadata->GetSecurityStatus(*active_plugin) == | 
| +        PluginMetadata::SECURITY_STATUS_OUT_OF_DATE; | 
| +    group_data->SetBoolean("critical", out_of_date); | 
| +    group_data->SetString("update_url", plugin_metadata->plugin_url().spec()); | 
| #endif | 
|  | 
| std::string enabled_mode; | 
|  |