Index: content/browser/web_contents/web_contents_impl.cc |
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
index 595bdc10043e58d74b1db9de274e590c2316490e..640da315ac035693379690a9ef3db94077cab6df 100644 |
--- a/content/browser/web_contents/web_contents_impl.cc |
+++ b/content/browser/web_contents/web_contents_impl.cc |
@@ -3182,11 +3182,18 @@ void WebContentsImpl::WorkerCrashed(RenderFrameHost* render_frame_host) { |
void WebContentsImpl::ShowContextMenu(RenderFrameHost* render_frame_host, |
const ContextMenuParams& params) { |
+ ContextMenuParams context_menu_params(params); |
// Allow WebContentsDelegates to handle the context menu operation first. |
- if (delegate_ && delegate_->HandleContextMenu(params)) |
+ if (GetBrowserPluginGuest()) { |
+ WebContentsViewGuest* view_guest = |
+ static_cast<WebContentsViewGuest*>(GetView()); |
+ context_menu_params = view_guest->ConvertContextMenuParams(params); |
+ } |
+ if (delegate_ && delegate_->HandleContextMenu(context_menu_params)) |
return; |
- render_view_host_delegate_view_->ShowContextMenu(render_frame_host, params); |
+ render_view_host_delegate_view_->ShowContextMenu(render_frame_host, |
+ context_menu_params); |
} |
void WebContentsImpl::RunJavaScriptMessage( |