| Index: chrome/browser/plugin_process_host.cc
|
| diff --git a/chrome/browser/plugin_process_host.cc b/chrome/browser/plugin_process_host.cc
|
| index 9ed3dbf9dfd72fcce7cd4a0d786d4c7d317cdde8..833b5934636c181b8e16b411770e49ff7aec2151 100644
|
| --- a/chrome/browser/plugin_process_host.cc
|
| +++ b/chrome/browser/plugin_process_host.cc
|
| @@ -390,8 +390,14 @@ bool PluginProcessHost::Init(const WebPluginInfo& info,
|
| #if defined(OS_WIN)
|
| process = sandbox::StartProcess(&cmd_line);
|
| #else
|
| - // spawn child process
|
| - base::LaunchApp(cmd_line, false, false, &process);
|
| + // This code is duplicated with browser_render_process_host.cc, but
|
| + // there's not a good place to de-duplicate it.
|
| + base::file_handle_mapping_vector fds_to_map;
|
| + int src_fd = -1, dest_fd = -1;
|
| + channel().GetClientFileDescriptorMapping(&src_fd, &dest_fd);
|
| + if (src_fd > -1)
|
| + fds_to_map.push_back(std::pair<int, int>(src_fd, dest_fd));
|
| + base::LaunchApp(cmd_line.argv(), fds_to_map, false, &process);
|
| #endif
|
|
|
| if (!process)
|
|
|