Index: ipc/mojo/ipc_message_pipe_reader.cc |
diff --git a/ipc/mojo/ipc_message_pipe_reader.cc b/ipc/mojo/ipc_message_pipe_reader.cc |
index 76e323bb72fde5a744ef28e61a7543d31f98ed46..495a3a5d30f6a9b3e6f022d59f3d06963eb0fbc7 100644 |
--- a/ipc/mojo/ipc_message_pipe_reader.cc |
+++ b/ipc/mojo/ipc_message_pipe_reader.cc |
@@ -58,33 +58,33 @@ bool MessagePipeReader::Send(scoped_ptr<Message> message) { |
"MessagePipeReader::Send", |
message->flags(), |
TRACE_EVENT_FLAG_FLOW_OUT); |
- mojom::MessagePtr ipc_message = mojom::Message::New(); |
+ mojo::Array<mojom::SerializedHandlePtr> handles(nullptr); |
MojoResult result = MOJO_RESULT_OK; |
- result = ChannelMojo::ReadFromMessageAttachmentSet(message.get(), |
- &ipc_message->handles); |
+ result = ChannelMojo::ReadFromMessageAttachmentSet(message.get(), &handles); |
if (result != MOJO_RESULT_OK) { |
CloseWithError(result); |
return false; |
} |
- ipc_message->data.resize(message->size()); |
+ mojo::Array<uint8_t> data(message->size()); |
std::copy(reinterpret_cast<const uint8_t*>(message->data()), |
reinterpret_cast<const uint8_t*>(message->data()) + message->size(), |
- &ipc_message->data[0]); |
- sender_->Receive(std::move(ipc_message)); |
+ &data[0]); |
+ sender_->Receive(std::move(data), std::move(handles)); |
DVLOG(4) << "Send " << message->type() << ": " << message->size(); |
return true; |
} |
-void MessagePipeReader::Receive(mojom::MessagePtr ipc_message) { |
- Message message(ipc_message->data.size() == 0 |
- ? "" |
- : reinterpret_cast<const char*>(&ipc_message->data[0]), |
- static_cast<uint32_t>(ipc_message->data.size())); |
+void MessagePipeReader::Receive( |
+ mojo::Array<uint8_t> data, |
+ mojo::Array<mojom::SerializedHandlePtr> handles) { |
+ Message message( |
+ data.size() == 0 ? "" : reinterpret_cast<const char*>(&data[0]), |
+ static_cast<uint32_t>(data.size())); |
message.set_sender_pid(peer_pid_); |
DVLOG(4) << "Receive " << message.type() << ": " << message.size(); |
- MojoResult write_result = ChannelMojo::WriteToMessageAttachmentSet( |
- std::move(ipc_message->handles), &message); |
+ MojoResult write_result = |
+ ChannelMojo::WriteToMessageAttachmentSet(std::move(handles), &message); |
if (write_result != MOJO_RESULT_OK) { |
CloseWithError(write_result); |
return; |