Index: components/nacl/loader/nonsfi/nonsfi_listener.cc |
diff --git a/components/nacl/loader/nonsfi/nonsfi_listener.cc b/components/nacl/loader/nonsfi/nonsfi_listener.cc |
index 5f212babe28493ceace4e5cca3420c6ea80fc720..7ed219a0865d082156224447570f918641bdd562 100644 |
--- a/components/nacl/loader/nonsfi/nonsfi_listener.cc |
+++ b/components/nacl/loader/nonsfi/nonsfi_listener.cc |
@@ -95,48 +95,33 @@ void NonSfiListener::OnStart(const nacl::NaClStartParams& params) { |
// the plugin binary), the FD needs to be passed to the hosts. So, here |
// we create raw FD pairs, and pass the client side FDs to the hosts, |
Mark Seaborn
2015/04/15 20:52:05
Update comment? We're not creating the raw FD pai
hidehiko
2015/05/12 18:47:51
Done.
|
// and the server side FDs to the plugin. |
- int browser_server_ppapi_fd; |
- int browser_client_ppapi_fd; |
- int renderer_server_ppapi_fd; |
- int renderer_client_ppapi_fd; |
- int manifest_service_server_fd; |
- int manifest_service_client_fd; |
- if (!IPC::SocketPair( |
- &browser_server_ppapi_fd, &browser_client_ppapi_fd) || |
- !IPC::SocketPair( |
- &renderer_server_ppapi_fd, &renderer_client_ppapi_fd) || |
- !IPC::SocketPair( |
- &manifest_service_server_fd, &manifest_service_client_fd)) { |
- LOG(ERROR) << "Failed to create sockets for IPC."; |
- return; |
- } |
// Set the plugin IPC channel FDs. |
- ppapi::SetIPCFileDescriptors(browser_server_ppapi_fd, |
- renderer_server_ppapi_fd, |
- manifest_service_server_fd); |
+ ppapi::SetIPCFileDescriptors(params.browser_server_ppapi_fd.fd, |
+ params.renderer_server_ppapi_fd.fd, |
+ params.manifest_service_server_fd.fd); |
ppapi::StartUpPlugin(); |
// Send back to the client side IPC channel FD to the host. |
- browser_handle.socket = |
- base::FileDescriptor(browser_client_ppapi_fd, true); |
- ppapi_renderer_handle.socket = |
- base::FileDescriptor(renderer_client_ppapi_fd, true); |
- manifest_service_handle.socket = |
- base::FileDescriptor(manifest_service_client_fd, true); |
+ browser_handle.socket = params.browser_client_ppapi_fd; |
+ ppapi_renderer_handle.socket = params.renderer_client_ppapi_fd; |
+ manifest_service_handle.socket = params.manifest_service_client_fd; |
} |
- |
// TODO(teravest): Do we plan on using this renderer handle for nexe loading |
// for non-SFI? Right now, passing an empty channel handle instead causes |
// hangs, so we'll keep it. |
+ IPC::ChannelHandle trusted_channel_handle = |
+ IPC::Channel::GenerateVerifiedChannelID("nacl"); |
+ trusted_channel_handle.socket = params.trusted_channel_server_fd; |
trusted_listener_ = new NaClTrustedListener( |
- IPC::Channel::GenerateVerifiedChannelID("nacl"), |
+ trusted_channel_handle, |
io_thread_.message_loop_proxy().get(), |
&shutdown_event_); |
+ trusted_channel_handle.socket = params.trusted_channel_client_fd; |
if (!Send(new NaClProcessHostMsg_PpapiChannelsCreated( |
Mark Seaborn
2015/04/15 20:52:05
Notice that you're receiving the client FDs from t
Mark Seaborn
2015/05/12 06:46:10
This was the main feedback I had. Maybe you could
hidehiko
2015/05/12 18:47:51
Done.
|
browser_handle, |
ppapi_renderer_handle, |
- trusted_listener_->TakeClientChannelHandle(), |
+ trusted_channel_handle, |
manifest_service_handle))) |
LOG(ERROR) << "Failed to send IPC channel handle to NaClProcessHost."; |