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 8337c0a1183384c012b1f5c1d51972ced302a20a..c42922b0119ad8aee76dce8faed0d69fafccce7e 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.cc |
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc |
@@ -41,7 +41,9 @@ BrowserPluginGuest::BrowserPluginGuest(int instance_id, |
damage_buffer_scale_factor_(1.0f), |
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); |
@@ -228,6 +230,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 = |