| 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;
|
|
|