Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(995)

Unified Diff: content/browser/browser_plugin/browser_plugin_guest.cc

Issue 10829225: Browser Plugin: Add HTML5-like postMessage support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with ToT. Added subframe targeting + test. Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 =

Powered by Google App Engine
This is Rietveld 408576698