Index: mojo/public/cpp/bindings/interface_request.h |
diff --git a/mojo/public/cpp/bindings/interface_request.h b/mojo/public/cpp/bindings/interface_request.h |
index ab237656cfb6d34885a4f8ef2a5793a58bafdcf5..db102368b86be2837653e96a9f738e79e237fd90 100644 |
--- a/mojo/public/cpp/bindings/interface_request.h |
+++ b/mojo/public/cpp/bindings/interface_request.h |
@@ -9,10 +9,12 @@ |
#include <utility> |
#include "base/macros.h" |
+#include "base/optional.h" |
#include "base/single_thread_task_runner.h" |
#include "base/threading/thread_task_runner_handle.h" |
+#include "mojo/public/cpp/bindings/disconnect_reason.h" |
#include "mojo/public/cpp/bindings/interface_ptr.h" |
-#include "mojo/public/cpp/bindings/lib/control_message_proxy.h" |
+#include "mojo/public/cpp/bindings/pipe_control_message_proxy.h" |
#include "mojo/public/cpp/system/message_pipe.h" |
namespace mojo { |
@@ -84,9 +86,12 @@ class InterfaceRequest { |
if (!handle_.is_valid()) |
return; |
+ base::Optional<DisconnectReason> reason; |
+ reason.emplace(custom_reason, description); |
+ |
Message message = |
- internal::ControlMessageProxy::ConstructDisconnectReasonMessage( |
- custom_reason, description); |
+ PipeControlMessageProxy::ConstructPeerEndpointClosedMessage( |
+ kMasterInterfaceId, reason); |
MojoResult result = WriteMessageNew( |
handle_.get(), message.TakeMojoMessage(), MOJO_WRITE_MESSAGE_FLAG_NONE); |
DCHECK_EQ(MOJO_RESULT_OK, result); |