Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index bc43dc39a3be545f3d88307cc15e0e988d125049..9030b267c60a3960a91b3d6dd5ac5291c14eb7c8 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -2134,6 +2134,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; |