Index: chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
index c6d910b7be8eb052689f3573a0aa722ee0841aa2..ad54b8d8690d665742b0d28a3e1df2ade5026750 100644 |
--- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
@@ -39,7 +39,11 @@ bool ChromeWebViewGuestDelegate::HandleContextMenu( |
ContextMenuDelegate::FromWebContents(guest_web_contents()); |
DCHECK(menu_delegate); |
- pending_menu_ = menu_delegate->BuildMenu(guest_web_contents(), params); |
+ content::ContextMenuParams new_params = params; |
+ new_params.x = context_menu_position_.x(); |
+ new_params.y = context_menu_position_.y(); |
+ |
+ pending_menu_ = menu_delegate->BuildMenu(guest_web_contents(), new_params); |
// It's possible for the returned menu to be null, so early out to avoid |
// a crash. TODO(wjmaclean): find out why it's possible for this to happen |
// in the first place, and if it's an error. |
@@ -139,4 +143,9 @@ void ChromeWebViewGuestDelegate::OnAccessibilityStatusChanged( |
} |
#endif |
+void ChromeWebViewGuestDelegate::SetContextMenuPosition( |
+ const gfx::Point& position) { |
+ context_menu_position_ = position; |
+} |
+ |
} // namespace extensions |