Chromium Code Reviews| Index: chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| index 6946015097b93dacbf13a47ebc89046237c42918..de266679b536831787dc525be1deaed2f9550929 100644 |
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
| @@ -113,6 +113,10 @@ |
| #endif // defined(ENABLE_PRINT_PREVIEW) |
| #endif // defined(ENABLE_PRINTING) |
| +#if defined(ENABLE_EXTENSIONS) |
| +#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" |
| +#endif |
| + |
| using base::UserMetricsAction; |
| using blink::WebContextMenuData; |
| using blink::WebMediaPlayerAction; |
| @@ -303,6 +307,17 @@ content::Referrer CreateSaveAsReferrer( |
| content::Referrer(referring_url.GetAsReferrer(), params.referrer_policy)); |
| } |
| +content::WebContents* GetWebContentsToUse(content::WebContents* web_contents) { |
| +// If we're viewing in a MimeHandlerViewGuest, use its embedder WebContents. |
| +#if defined(ENABLE_EXTENSIONS) |
| + auto guest_view = |
| + extensions::MimeHandlerViewGuest::FromWebContents(web_contents); |
| + if (guest_view) |
| + return guest_view->embedder_web_contents(); |
| +#endif |
| + return web_contents; |
| +} |
| + |
| bool g_custom_id_ranges_initialized = false; |
| const int kSpellcheckRadioGroup = 1; |
| @@ -339,6 +354,7 @@ RenderViewContextMenu::RenderViewContextMenu( |
| } |
| set_content_type(ContextMenuContentTypeFactory::Create( |
| source_web_contents_, params)); |
| + embedder_web_contents_ = GetWebContentsToUse(source_web_contents_); |
|
lazyboy
2015/04/30 16:33:31
Can we move this to member initializer list above?
Deepak
2015/05/02 06:25:20
Done.
|
| } |
| RenderViewContextMenu::~RenderViewContextMenu() { |