Index: chrome/renderer/chrome_render_frame_observer.cc |
diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc |
index c65fc501aceacb141266538ae550121dbd416974..a547ec731343c48beb9658a617689234b9d95918 100644 |
--- a/chrome/renderer/chrome_render_frame_observer.cc |
+++ b/chrome/renderer/chrome_render_frame_observer.cc |
@@ -27,6 +27,7 @@ |
#include "third_party/WebKit/public/web/WebFrame.h" |
#include "third_party/WebKit/public/web/WebLocalFrame.h" |
#include "third_party/WebKit/public/web/WebNode.h" |
+#include "third_party/WebKit/public/web/WebView.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
#include "ui/gfx/codec/jpeg_codec.h" |
@@ -94,6 +95,8 @@ bool ChromeRenderFrameObserver::OnMessageReceived(const IPC::Message& message) { |
return false; |
IPC_BEGIN_MESSAGE_MAP(ChromeRenderFrameObserver, message) |
+ IPC_MESSAGE_HANDLER(ChromeViewMsg_RequestReloadImageForContextNode, |
+ OnRequestReloadImageForContextNode) |
IPC_MESSAGE_HANDLER(ChromeViewMsg_RequestThumbnailForContextNode, |
OnRequestThumbnailForContextNode) |
IPC_MESSAGE_HANDLER(PrintMsg_PrintNodeUnderContextMenu, |
@@ -121,6 +124,14 @@ void ChromeRenderFrameObserver::OnSetIsPrerendering(bool is_prerendering) { |
} |
} |
+void ChromeRenderFrameObserver::OnRequestReloadImageForContextNode() { |
+ WebNode context_node = render_frame()->GetContextMenuNode(); |
+ if (!context_node.isNull() && context_node.isElementNode() && |
+ render_frame()->GetWebFrame()) { |
+ render_frame()->GetWebFrame()->reloadImage(context_node); |
+ } |
+} |
+ |
void ChromeRenderFrameObserver::OnRequestThumbnailForContextNode( |
int thumbnail_min_area_pixels, |
const gfx::Size& thumbnail_max_size_pixels) { |