Chromium Code Reviews| Index: components/nacl/loader/nacl_ipc_adapter.cc |
| diff --git a/components/nacl/loader/nacl_ipc_adapter.cc b/components/nacl/loader/nacl_ipc_adapter.cc |
| index 8134d3c751a034253b4ac244d5f7df4fed844afb..644ec7ff24f98d6733522bbeffc45731c198f9c0 100644 |
| --- a/components/nacl/loader/nacl_ipc_adapter.cc |
| +++ b/components/nacl/loader/nacl_ipc_adapter.cc |
| @@ -377,10 +377,8 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) { |
| typedef std::vector<ppapi::proxy::SerializedHandle> Handles; |
| Handles handles; |
| - scoped_ptr<IPC::Message> new_msg_ptr; |
| - bool success = locked_data_.handle_converter_.ConvertNativeHandlesToPosix( |
| - msg, &handles, &new_msg_ptr); |
| - if (!success) |
| + scoped_ptr<IPC::Message> new_msg; |
| + if (!locked_data_.nacl_msg_scanner_.ScanMessage(msg, &handles, &new_msg)) |
| return false; |
| // Now add any descriptors we found to rewritten_msg. |handles| is usually |
| @@ -459,8 +457,8 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) { |
| if (nacl_desc.get()) |
| rewritten_msg->AddDescriptor(nacl_desc.release()); |
| } |
| - if (new_msg_ptr && !handles.empty()) |
| - SaveMessage(*new_msg_ptr, rewritten_msg.get()); |
| + if (new_msg && !handles.empty()) |
|
bbudge
2013/10/30 19:01:34
I wonder if we really need to check 'handles' afte
dmichael (off chromium)
2013/10/30 20:57:57
I think the issue is that ScanMessage only writes
|
| + SaveMessage(*new_msg, rewritten_msg.get()); |
| else |
| SaveMessage(msg, rewritten_msg.get()); |
| } |
| @@ -514,8 +512,7 @@ bool NaClIPCAdapter::SendCompleteMessage(const char* buffer, |
| // We actually discard the flags and only copy the ones we care about. This |
| // is just because message doesn't have a constructor that takes raw flags. |
| - scoped_ptr<IPC::Message> msg( |
| - new IPC::Message(header->routing, header->type)); |
| + scoped_ptr<IPC::Message> msg(new IPC::Message(header->routing, header->type)); |
| if (header->flags & IPC::Message::SYNC_BIT) |
| msg->set_sync(); |
| if (header->flags & IPC::Message::REPLY_BIT) |
| @@ -537,7 +534,7 @@ bool NaClIPCAdapter::SendCompleteMessage(const char* buffer, |
| return false; // TODO(brettw) clean up handles here when we add support! |
| if (msg->is_sync()) { |
| - locked_data_.handle_converter_.RegisterSyncMessageForReply(*msg); |
| + locked_data_.nacl_msg_scanner_.RegisterSyncMessageForReply(*msg); |
| } |
| // Actual send must be done on the I/O thread. |
| task_runner_->PostTask(FROM_HERE, |