Index: chrome/browser/renderer_host/plugin_info_message_filter.cc |
diff --git a/chrome/browser/renderer_host/plugin_info_message_filter.cc b/chrome/browser/renderer_host/plugin_info_message_filter.cc |
index 5cc5178ba7e0665e2d4dd3d7937032025c42045a..f29c9eee5bf48876b10644d1d0613c95cc05ec49 100644 |
--- a/chrome/browser/renderer_host/plugin_info_message_filter.cc |
+++ b/chrome/browser/renderer_host/plugin_info_message_filter.cc |
@@ -158,30 +158,33 @@ void PluginInfoMessageFilter::Context::DecidePluginStatus( |
&uses_default_content_setting); |
DCHECK(plugin_setting != CONTENT_SETTING_DEFAULT); |
+#if defined(ENABLE_PLUGIN_INSTALLATION) |
+ PluginInstaller::SecurityStatus plugin_status = |
+ PluginInstaller::SECURITY_STATUS_UP_TO_DATE; |
+ PluginInstaller* installer = |
+ plugin_finder->FindPluginWithIdentifier(group->identifier()); |
+ if (installer) |
+ plugin_status = installer->GetSecurityStatus(plugin); |
// Check if the plug-in is outdated. |
- if (group->IsVulnerable(plugin) && !allow_outdated_plugins_.GetValue()) { |
+ if (plugin_status == PluginInstaller::SECURITY_STATUS_OUT_OF_DATE && |
+ !allow_outdated_plugins_.GetValue()) { |
if (allow_outdated_plugins_.IsManaged()) { |
status->value = |
ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedDisallowed; |
} else { |
- status->value = |
- ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedBlocked; |
+ status->value = ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedBlocked; |
} |
return; |
} |
-#if defined(ENABLE_PLUGIN_INSTALLATION) |
// Check if the plug-in requires authorization. |
- // TODO(bauerb): This should be a plain struct with the plug-in information. |
- PluginInstaller* installer = |
- plugin_finder->FindPluginWithIdentifier(group->identifier()); |
- if (((installer && installer->requires_authorization()) || |
+ if ((plugin_status == |
+ PluginInstaller::SECURITY_STATUS_REQUIRES_AUTHORIZATION || |
PluginService::GetInstance()->IsPluginUnstable(plugin.path)) && |
!always_authorize_plugins_.GetValue() && |
plugin_setting != CONTENT_SETTING_BLOCK && |
uses_default_content_setting) { |
- status->value = |
- ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized; |
+ status->value = ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized; |
return; |
} |
#endif |