Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 12fdd07bd9b346b952c4a07eff36745d05061109..e8926d3fcefb790cc13504c2d8e6e6e309d3e8a3 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -2146,6 +2146,12 @@ int RenderFrameImpl::ShowContextMenu(ContextMenuClient* client, |
const ContextMenuParams& params) { |
DCHECK(client); // A null client means "internal" when we issue callbacks. |
ContextMenuParams our_params(params); |
+ |
+ blink::WebRect position_in_window(params.x, params.y, 0, 0); |
+ GetRenderWidget()->convertViewportToWindow(&position_in_window); |
+ our_params.x = position_in_window.x; |
+ our_params.y = position_in_window.y; |
+ |
our_params.custom_context.request_id = pending_context_menus_.Add(client); |
Send(new FrameHostMsg_ContextMenu(routing_id_, our_params)); |
return our_params.custom_context.request_id; |