From 2799c02a46d0d8d2726f19c8b100ff67504a7349 Mon Sep 17 00:00:00 2001 From: "ananta@chromium.org" Date: Sat, 7 Nov 2009 15:39:55 +0000 Subject: Amit, please review everything. jam, please review changes to the plugin create channel IPCs. mpcomplete, please review changes to chrome_plugin_host.cc ChromeFrame needs to intercept URL requests issued directly by plugins like gears to ensure that they get routed through the host browser network stack. We decide whether or not a request is to be handled based on the renderer process id and the render view id (routing id), which get passed in the ViewHostMsg_RequestResource IPC. If this request is issued by Gears then the routing id comes in as MSG_ROUTING_NONE, which causes the request to go through the chrome network stack. Fix is to pass the host render view id to the plugin in the PluginMsg_Init IPC. The plugin already receives the renderer process id. Both these ids now come back in the ViewHostMsg_RequestResource IPC. This fixes an issue with wave when rendered in full tab mode in ChromeFrame, where dropping a file into a wave would cause the renderer to hang. Fixes bug http://code.google.com/p/chromium/issues/detail?id=23992 Bug=23992 Review URL: http://codereview.chromium.org/370007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31387 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/plugin/webplugin_proxy.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'chrome/plugin/webplugin_proxy.cc') diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc index df02104..ab5326f 100644 --- a/chrome/plugin/webplugin_proxy.cc +++ b/chrome/plugin/webplugin_proxy.cc @@ -43,7 +43,8 @@ WebPluginProxy::WebPluginProxy( PluginChannel* channel, int route_id, const GURL& page_url, - gfx::NativeViewId containing_window) + gfx::NativeViewId containing_window, + int host_render_view_routing_id) : channel_(channel), route_id_(route_id), cp_browsing_context_(0), @@ -53,6 +54,7 @@ WebPluginProxy::WebPluginProxy( waiting_for_paint_(false), containing_window_(containing_window), page_url_(page_url), + host_render_view_routing_id_(host_render_view_routing_id), ALLOW_THIS_IN_INITIALIZER_LIST(runnable_method_factory_(this)) { } -- cgit v1.1