Index: content/browser/browser_plugin/browser_plugin_guest.h |
diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h |
index 84bb3eb30965a1d8d4ee565b8bc94629f3e1e697..95ba67e24ac7b47a81eed1abc048234790a8785b 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.h |
+++ b/content/browser/browser_plugin/browser_plugin_guest.h |
@@ -43,7 +43,7 @@ struct BrowserPluginHostMsg_ResizeGuest_Params; |
struct FrameHostMsg_CompositorFrameSwappedACK_Params; |
struct FrameHostMsg_ReclaimCompositorResources_Params; |
#if defined(OS_MACOSX) |
-struct ViewHostMsg_ShowPopup_Params; |
+struct FrameHostMsg_ShowPopup_Params; |
#endif |
struct ViewHostMsg_TextInputState_Params; |
struct ViewHostMsg_UpdateRect_Params; |
@@ -153,6 +153,8 @@ class CONTENT_EXPORT BrowserPluginGuest : public WebContentsObserver { |
virtual void RenderViewReady() OVERRIDE; |
virtual void RenderProcessGone(base::TerminationStatus status) OVERRIDE; |
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
+ virtual bool OnMessageReceived(const IPC::Message& message, |
+ RenderFrameHost* render_frame_host) OVERRIDE; |
// Exposes the protected web_contents() from WebContentsObserver. |
WebContentsImpl* GetWebContents() const; |
@@ -304,10 +306,10 @@ class CONTENT_EXPORT BrowserPluginGuest : public WebContentsObserver { |
InputEventAckState ack_result); |
void OnHasTouchEventHandlers(bool accept); |
void OnSetCursor(const WebCursor& cursor); |
+#if defined(OS_MACOSX) |
// On MacOSX popups are painted by the browser process. We handle them here |
// so that they are positioned correctly. |
-#if defined(OS_MACOSX) |
- void OnShowPopup(const ViewHostMsg_ShowPopup_Params& params); |
+ void OnShowPopup(const FrameHostMsg_ShowPopup_Params& params); |
#endif |
void OnShowWidget(int route_id, const gfx::Rect& initial_pos); |
void OnTakeFocus(bool reverse); |
@@ -366,6 +368,11 @@ class CONTENT_EXPORT BrowserPluginGuest : public WebContentsObserver { |
BrowserPluginGuestDelegate* const delegate_; |
+ // Used during IPC message dispatching from the RenderFrame so that the |
+ // handlers can get a pointer to the RFH through which the message was |
+ // received. |
+ RenderFrameHost* render_frame_message_source_; |
+ |
// Weak pointer used to ask GeolocationPermissionContext about geolocation |
// permission. |
base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_; |