| Index: chrome/browser/renderer_host/plugin_info_message_filter.cc
|
| ===================================================================
|
| --- chrome/browser/renderer_host/plugin_info_message_filter.cc (revision 158384)
|
| +++ chrome/browser/renderer_host/plugin_info_message_filter.cc (working copy)
|
| @@ -186,9 +186,8 @@
|
| }
|
|
|
| // Check if the plug-in requires authorization.
|
| - if ((plugin_status ==
|
| - PluginInstaller::SECURITY_STATUS_REQUIRES_AUTHORIZATION ||
|
| - PluginService::GetInstance()->IsPluginUnstable(plugin.path)) &&
|
| + if (plugin_status ==
|
| + PluginInstaller::SECURITY_STATUS_REQUIRES_AUTHORIZATION &&
|
| plugin.type != WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS &&
|
| plugin.type != WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS &&
|
| !always_authorize_plugins_.GetValue() &&
|
| @@ -197,6 +196,15 @@
|
| status->value = ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized;
|
| return;
|
| }
|
| +
|
| + // Check if the plug-in is crashing too much.
|
| + if (PluginService::GetInstance()->IsPluginUnstable(plugin.path) &&
|
| + !always_authorize_plugins_.GetValue() &&
|
| + plugin_setting != CONTENT_SETTING_BLOCK &&
|
| + uses_default_content_setting) {
|
| + status->value = ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized;
|
| + return;
|
| + }
|
| #endif
|
|
|
| if (plugin_setting == CONTENT_SETTING_ASK)
|
|
|