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