| Index: chrome/renderer/blocked_plugin.cc
|
| ===================================================================
|
| --- chrome/renderer/blocked_plugin.cc (revision 98434)
|
| +++ chrome/renderer/blocked_plugin.cc (working copy)
|
| @@ -51,7 +51,7 @@
|
| static const unsigned kMenuActionLoad = 1;
|
| static const unsigned kMenuActionRemove = 2;
|
|
|
| -static const BlockedPlugin* gLastActiveMenu;
|
| +static const BlockedPlugin* g_last_active_menu;
|
|
|
| BlockedPlugin::BlockedPlugin(RenderView* render_view,
|
| WebFrame* frame,
|
| @@ -139,7 +139,7 @@
|
| menu_data.customItems.swap(custom_items);
|
| menu_data.mousePosition = WebPoint(event.windowX, event.windowY);
|
| render_view()->showContextMenu(NULL, menu_data);
|
| - gLastActiveMenu = this;
|
| + g_last_active_menu = this;
|
| }
|
|
|
| bool BlockedPlugin::OnMessageReceived(const IPC::Message& message) {
|
| @@ -147,17 +147,11 @@
|
| // custom menu IDs, and not just our own. We don't swallow
|
| // ViewMsg_LoadBlockedPlugins because multiple blocked plugins have an
|
| // interest in it.
|
| - if (message.type() == ViewMsg_CustomContextMenuAction::ID &&
|
| - gLastActiveMenu == this) {
|
| - ViewMsg_CustomContextMenuAction::Dispatch(
|
| - &message, this, this, &BlockedPlugin::OnMenuItemSelected);
|
| - } else {
|
| - IPC_BEGIN_MESSAGE_MAP(BlockedPlugin, message)
|
| - IPC_MESSAGE_HANDLER(ChromeViewMsg_LoadBlockedPlugins,
|
| - OnLoadBlockedPlugins)
|
| - IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsPrerendering, OnSetIsPrerendering)
|
| - IPC_END_MESSAGE_MAP()
|
| - }
|
| + IPC_BEGIN_MESSAGE_MAP(BlockedPlugin, message)
|
| + IPC_MESSAGE_HANDLER(ViewMsg_CustomContextMenuAction, OnMenuItemSelected)
|
| + IPC_MESSAGE_HANDLER(ChromeViewMsg_LoadBlockedPlugins, OnLoadBlockedPlugins)
|
| + IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsPrerendering, OnSetIsPrerendering)
|
| + IPC_END_MESSAGE_MAP()
|
|
|
| return false;
|
| }
|
| @@ -165,6 +159,8 @@
|
| void BlockedPlugin::OnMenuItemSelected(
|
| const webkit_glue::CustomContextMenuContext& /* ignored */,
|
| unsigned id) {
|
| + if (g_last_active_menu != this)
|
| + return;
|
| if (id == kMenuActionLoad) {
|
| Send(new ViewHostMsg_UserMetricsRecordAction("Plugin_Load_Menu"));
|
| LoadPlugin();
|
|
|