diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-27 01:43:51 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-27 01:43:51 +0000 |
commit | 3dfc7a41b5e87e3fb1b99836e26a8a62aa3efcfe (patch) | |
tree | a075d88642cf2ee3c0597b5569e1b5232254063d /chrome/browser/plugin_process_host.h | |
parent | 550c2e55ca73daff47dbcfffd1789c121064f093 (diff) | |
download | chromium_src-3dfc7a41b5e87e3fb1b99836e26a8a62aa3efcfe.zip chromium_src-3dfc7a41b5e87e3fb1b99836e26a8a62aa3efcfe.tar.gz chromium_src-3dfc7a41b5e87e3fb1b99836e26a8a62aa3efcfe.tar.bz2 |
mac/linux: rework plugin channel file descriptor creation
This CL fixes a bug where the same renderer could open several channels to the same plugin process, which end up having the same name. This CL makes it that there is only one channel for each (plugin, renderer) pair, just like on Windows.
The socketpair is created in the plugin process (which can ensure that only one channel per renderer gets created), and sends the renderer side through the browser process.
Note: this should essentially be a noop on Windows.
Review URL: http://codereview.chromium.org/149062
Patch from Antoine Labour <piman@google.com>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19448 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_process_host.h')
-rw-r--r-- | chrome/browser/plugin_process_host.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/chrome/browser/plugin_process_host.h b/chrome/browser/plugin_process_host.h index 9a74dff..72a5d78 100644 --- a/chrome/browser/plugin_process_host.h +++ b/chrome/browser/plugin_process_host.h @@ -97,7 +97,7 @@ class PluginProcessHost : public ChildProcessHost, const std::string& mime_type, IPC::Message* reply_msg); // Message handlers. - void OnChannelCreated(const std::string& channel_name); + void OnChannelCreated(const IPC::ChannelHandle& channel_handle); void OnGetPluginFinderUrl(std::string* plugin_finder_url); void OnGetCookies(uint32 request_context, const GURL& url, std::string* cookies); @@ -114,15 +114,12 @@ class PluginProcessHost : public ChildProcessHost, struct ChannelRequest { ChannelRequest(ResourceMessageFilter* renderer_message_filter, - const std::string& m, IPC::Message* r, - int s) : + const std::string& m, IPC::Message* r) : mime_type(m), reply_msg(r), - renderer_message_filter_(renderer_message_filter), - socket(s) { } + renderer_message_filter_(renderer_message_filter) { } std::string mime_type; IPC::Message* reply_msg; scoped_refptr<ResourceMessageFilter> renderer_message_filter_; - int socket; }; // These are channel requests that we are waiting to send to the |