Index: content/browser/browser_plugin/browser_plugin_guest.cc |
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc |
index 575e7908f633127e543d3ce643a7f9e6e60f5c96..d6a715af1842b95868343ab6aea01d36322c0f5f 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.cc |
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc |
@@ -39,7 +39,9 @@ BrowserPluginGuest::BrowserPluginGuest(int instance_id, |
#endif |
pending_update_counter_(0), |
guest_hang_timeout_( |
- base::TimeDelta::FromMilliseconds(kGuestHangTimeoutMs)) { |
+ base::TimeDelta::FromMilliseconds(kGuestHangTimeoutMs)), |
+ swapped_out_embedder_routing_id_(MSG_ROUTING_NONE), |
+ swapped_out_guest_routing_id_(MSG_ROUTING_NONE) { |
DCHECK(web_contents); |
// |render_view_host| manages the ownership of this BrowserPluginGuestHelper. |
new BrowserPluginGuestHelper(this, render_view_host); |
@@ -224,6 +226,18 @@ void BrowserPluginGuest::HandleInputEvent(RenderViewHost* render_view_host, |
guest_rvh->StartHangMonitorTimeout(guest_hang_timeout_); |
} |
+void BrowserPluginGuest::RouteMessageEvent( |
+ const ViewMsg_PostMessage_Params& params) { |
+ BrowserPluginMsg_ReceiveMessage_Params out_params; |
+ out_params.source_routing_id = swapped_out_embedder_routing_id(); |
+ out_params.source_origin = params.source_origin; |
+ out_params.source_frame_id = params.source_frame_id; |
+ out_params.target_frame_id = params.target_frame_id; |
+ out_params.data = params.data; |
+ SendMessageToEmbedder( |
+ new BrowserPluginMsg_ReceiveMessage(instance_id(), out_params)); |
+} |
+ |
void BrowserPluginGuest::HandleInputEventAck(RenderViewHost* render_view_host, |
bool handled) { |
RenderViewHostImpl* guest_rvh = |