Chromium Code Reviews| Index: components/nacl/loader/nacl_listener.cc |
| diff --git a/components/nacl/loader/nacl_listener.cc b/components/nacl/loader/nacl_listener.cc |
| index 6bf7686f0842e4f14b697986712398f62a74c4c7..20b828a8235dae302cf011c824e7f9610880188d 100644 |
| --- a/components/nacl/loader/nacl_listener.cc |
| +++ b/components/nacl/loader/nacl_listener.cc |
| @@ -42,7 +42,6 @@ |
| #include "native_client/src/public/nacl_desc.h" |
| #if defined(OS_POSIX) |
| -#include "base/file_descriptor_posix.h" |
| #include "base/posix/global_descriptors.h" |
| #include "content/public/common/content_descriptors.h" |
| #endif |
| @@ -117,13 +116,11 @@ void SetUpIPCAdapter( |
| int nacl_fd, |
| NaClIPCAdapter::ResolveFileTokenCallback resolve_file_token_cb, |
| NaClIPCAdapter::OpenResourceCallback open_resource_cb) { |
| + IPC::ChannelHandle client_handle; |
| + IPC::Channel::GenerateMojoChannelHandlePair("nacl", handle, &client_handle); |
| scoped_refptr<NaClIPCAdapter> ipc_adapter(new NaClIPCAdapter( |
| - *handle, task_runner.get(), resolve_file_token_cb, open_resource_cb)); |
| + client_handle, task_runner, resolve_file_token_cb, open_resource_cb)); |
| ipc_adapter->ConnectChannel(); |
| -#if defined(OS_POSIX) |
| - handle->socket = |
| - base::FileDescriptor(ipc_adapter->TakeClientFileDescriptor()); |
| -#endif |
| // Pass a NaClDesc to the untrusted side. This will hold a ref to the |
| // NaClIPCAdapter. |
| @@ -336,12 +333,9 @@ void NaClListener::OnStart(const nacl::NaClStartParams& params) { |
| LOG(FATAL) << "NaClAppCreate() failed"; |
| } |
| - IPC::ChannelHandle browser_handle = |
| - IPC::Channel::GenerateVerifiedChannelID("nacl"); |
| - IPC::ChannelHandle ppapi_renderer_handle = |
| - IPC::Channel::GenerateVerifiedChannelID("nacl"); |
| - IPC::ChannelHandle manifest_service_handle = |
| - IPC::Channel::GenerateVerifiedChannelID("nacl"); |
| + IPC::ChannelHandle browser_handle; |
| + IPC::ChannelHandle ppapi_renderer_handle; |
| + IPC::ChannelHandle manifest_service_handle; |
| // Create the PPAPI IPC channels between the NaCl IRT and the host |
| // (browser/renderer) processes. The IRT uses these channels to |
| @@ -360,13 +354,14 @@ void NaClListener::OnStart(const nacl::NaClStartParams& params) { |
| base::Bind(&NaClListener::ResolveFileToken, base::Unretained(this)), |
| base::Bind(&NaClListener::OnOpenResource, base::Unretained(this))); |
| - trusted_listener_ = |
| - new NaClTrustedListener(IPC::Channel::GenerateVerifiedChannelID("nacl"), |
| - io_thread_.task_runner().get(), &shutdown_event_); |
| + IPC::ChannelHandle trusted_client; |
| + IPC::ChannelHandle trusted_server; |
| + IPC::Channel::GenerateMojoChannelHandlePair("NaCl-trusted-listener", |
| + &trusted_client, &trusted_server); |
| + trusted_listener_ = new NaClTrustedListener( |
| + trusted_server, io_thread_.task_runner().get(), &shutdown_event_); |
| if (!Send(new NaClProcessHostMsg_PpapiChannelsCreated( |
| - browser_handle, |
| - ppapi_renderer_handle, |
| - trusted_listener_->TakeClientChannelHandle(), |
|
Mark Seaborn
2016/10/13 21:27:51
You should be able to remove TakeClientChannelHand
Sam McNally
2016/10/14 02:35:03
Done.
|
| + browser_handle, ppapi_renderer_handle, trusted_client, |
| manifest_service_handle))) |
| LOG(FATAL) << "Failed to send IPC channel handle to NaClProcessHost."; |