Index: chrome/renderer/blocked_plugin.cc |
diff --git a/chrome/renderer/blocked_plugin.cc b/chrome/renderer/blocked_plugin.cc |
index a2296c22b8cceea0c70c3736500f743354b840ed..71bdf1130858b2994124b5a9feb6e8d3c1298908 100644 |
--- a/chrome/renderer/blocked_plugin.cc |
+++ b/chrome/renderer/blocked_plugin.cc |
@@ -56,16 +56,17 @@ static const BlockedPlugin* g_last_active_menu; |
BlockedPlugin::BlockedPlugin(RenderView* render_view, |
WebFrame* frame, |
- const webkit::npapi::PluginGroup& info, |
const WebPluginParams& params, |
const WebPreferences& preferences, |
int template_id, |
+ const string16& name, |
const string16& message, |
bool is_blocked_for_prerendering, |
bool allow_loading) |
: RenderViewObserver(render_view), |
frame_(frame), |
plugin_params_(params), |
+ name_(name), |
is_blocked_for_prerendering_(is_blocked_for_prerendering), |
hidden_(false), |
allow_loading_(allow_loading) { |
@@ -77,7 +78,6 @@ BlockedPlugin::BlockedPlugin(RenderView* render_view, |
DictionaryValue values; |
values.SetString("message", message); |
- name_ = info.GetGroupName(); |
values.SetString("name", name_); |
values.SetString("hide", l10n_util::GetStringUTF8(IDS_PLUGIN_HIDE)); |
@@ -106,17 +106,22 @@ void BlockedPlugin::WillDestroyPlugin() { |
void BlockedPlugin::ShowContextMenu(const WebKit::WebMouseEvent& event) { |
WebContextMenuData menu_data; |
- WebVector<WebMenuItemInfo> custom_items(static_cast<size_t>(4)); |
- WebMenuItemInfo name_item; |
- name_item.label = name_; |
- name_item.hasTextDirectionOverride = false; |
- name_item.textDirection = WebKit::WebTextDirectionDefault; |
- custom_items[0] = name_item; |
+ size_t num_items = name_.empty() ? 2u : 4u; |
+ WebVector<WebMenuItemInfo> custom_items(num_items); |
- WebMenuItemInfo separator_item; |
- separator_item.type = WebMenuItemInfo::Separator; |
- custom_items[1] = separator_item; |
+ size_t i = 0; |
+ if (!name_.empty()) { |
+ WebMenuItemInfo name_item; |
+ name_item.label = name_; |
+ name_item.hasTextDirectionOverride = false; |
+ name_item.textDirection = WebKit::WebTextDirectionDefault; |
+ custom_items[i++] = name_item; |
+ |
+ WebMenuItemInfo separator_item; |
+ separator_item.type = WebMenuItemInfo::Separator; |
+ custom_items[i++] = separator_item; |
+ } |
WebMenuItemInfo run_item; |
run_item.action = kMenuActionLoad; |
@@ -126,7 +131,7 @@ void BlockedPlugin::ShowContextMenu(const WebKit::WebMouseEvent& event) { |
l10n_util::GetStringUTF8(IDS_CONTENT_CONTEXT_PLUGIN_RUN).c_str()); |
run_item.hasTextDirectionOverride = false; |
run_item.textDirection = WebKit::WebTextDirectionDefault; |
- custom_items[2] = run_item; |
+ custom_items[i++] = run_item; |
WebMenuItemInfo hide_item; |
hide_item.action = kMenuActionRemove; |
@@ -135,7 +140,7 @@ void BlockedPlugin::ShowContextMenu(const WebKit::WebMouseEvent& event) { |
l10n_util::GetStringUTF8(IDS_CONTENT_CONTEXT_PLUGIN_HIDE).c_str()); |
hide_item.hasTextDirectionOverride = false; |
hide_item.textDirection = WebKit::WebTextDirectionDefault; |
- custom_items[3] = hide_item; |
+ custom_items[i++] = hide_item; |
menu_data.customItems.swap(custom_items); |
menu_data.mousePosition = WebPoint(event.windowX, event.windowY); |