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 1d26b1326a764f4285f91f994ac5953f9e826a1d..573048f964190e867e767ba2e8e135b8943a16a9 100644 |
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc |
@@ -1849,8 +1849,9 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) { |
if (params_.media_type == WebContextMenuData::MediaTypeCanvas || |
(params_.media_type == WebContextMenuData::MediaTypeImage && |
is_large_data_url)) { |
- source_web_contents_->GetRenderViewHost()->SaveImageAt( |
- params_.x, params_.y); |
+ RenderFrameHost* frame_host = GetRenderFrameHost(); |
+ if (frame_host) |
+ frame_host->SaveImageAt(params_.x, params_.y); |
} else { |
RecordDownloadSource(DOWNLOAD_INITIATED_BY_CONTEXT_MENU); |
const GURL& url = params_.src_url; |
@@ -2265,7 +2266,9 @@ void RenderViewContextMenu::EscapeAmpersands(base::string16* text) { |
// Controller functions -------------------------------------------------------- |
void RenderViewContextMenu::CopyImageAt(int x, int y) { |
- source_web_contents_->GetRenderViewHost()->CopyImageAt(x, y); |
+ RenderFrameHost* frame_host = GetRenderFrameHost(); |
+ if (frame_host) |
+ frame_host->CopyImageAt(x, y); |
} |
void RenderViewContextMenu::LoadOriginalImage() { |