| Index: mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc
|
| diff --git a/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc b/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc
|
| index 39b31635a3d46640a2fad8bc5763a915fd54f5a6..db04c6dabc29bcd66ebab03f5ae50249c22b72e9 100644
|
| --- a/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc
|
| +++ b/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc
|
| @@ -67,8 +67,15 @@ bool PipeControlMessageHandler::RunOrClosePipe(Message* message) {
|
| params, ¶ms_ptr, &context_);
|
|
|
| if (params_ptr->input->is_peer_associated_endpoint_closed_event()) {
|
| - return delegate_->OnPeerAssociatedEndpointClosed(
|
| - params_ptr->input->get_peer_associated_endpoint_closed_event()->id);
|
| + const auto& event =
|
| + params_ptr->input->get_peer_associated_endpoint_closed_event();
|
| +
|
| + base::Optional<DisconnectReason> reason;
|
| + if (event->disconnect_reason) {
|
| + reason.emplace(event->disconnect_reason->custom_reason,
|
| + event->disconnect_reason->description);
|
| + }
|
| + return delegate_->OnPeerAssociatedEndpointClosed(event->id, reason);
|
| }
|
| if (params_ptr->input->is_associated_endpoint_closed_before_sent_event()) {
|
| return delegate_->OnAssociatedEndpointClosedBeforeSent(
|
|
|