Index: chrome/nacl/nacl_ipc_adapter.cc |
diff --git a/chrome/nacl/nacl_ipc_adapter.cc b/chrome/nacl/nacl_ipc_adapter.cc |
index c615a05b18cf46fd215ef82e8071e884bc611640..425695aff5396d6bd3237cfaf4fb6a2d24c54de1 100644 |
--- a/chrome/nacl/nacl_ipc_adapter.cc |
+++ b/chrome/nacl/nacl_ipc_adapter.cc |
@@ -18,6 +18,7 @@ |
#include "native_client/src/trusted/desc/nacl_desc_base.h" |
#include "native_client/src/trusted/desc/nacl_desc_custom.h" |
#include "native_client/src/trusted/desc/nacl_desc_imc_shm.h" |
+#include "native_client/src/trusted/desc/nacl_desc_io.h" |
#include "native_client/src/trusted/desc/nacl_desc_sync_socket.h" |
#include "native_client/src/trusted/desc/nacl_desc_wrapper.h" |
#include "ppapi/proxy/ppapi_messages.h" |
@@ -368,7 +369,7 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) { |
uint32_t size = iter->size(); |
nacl_desc.reset(new NaClDescWrapper(NaClDescImcShmMake( |
#if defined(OS_WIN) |
- reinterpret_cast<const NaClHandle>(shm_handle), |
+ shm_handle, |
#else |
shm_handle.fd, |
#endif |
@@ -378,7 +379,7 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) { |
case ppapi::proxy::SerializedHandle::SOCKET: { |
nacl_desc.reset(new NaClDescWrapper(NaClDescSyncSocketMake( |
#if defined(OS_WIN) |
- reinterpret_cast<const NaClHandle>(iter->descriptor()) |
+ iter->descriptor() |
#else |
iter->descriptor().fd |
#endif |
@@ -408,8 +409,13 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) { |
break; |
} |
case ppapi::proxy::SerializedHandle::FILE: |
- // TODO(raymes): Handle file handles for NaCl. |
- NOTIMPLEMENTED(); |
+ nacl_desc.reset(new NaClDescWrapper(NaClDescIoDescMakeFromHandle( |
+#if defined(OS_WIN) |
+ iter->descriptor() |
+#else |
+ iter->descriptor().fd |
+#endif |
+ ))); |
break; |
case ppapi::proxy::SerializedHandle::INVALID: { |
// Nothing to do. TODO(dmichael): Should we log this? Or is it |
@@ -548,4 +554,3 @@ void NaClIPCAdapter::SaveMessage(const IPC::Message& msg, |
rewritten_msg->SetData(header, msg.payload(), msg.payload_size()); |
locked_data_.to_be_received_.push(rewritten_msg); |
} |
- |