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 ae952c503f2e33f31181c30363e56311e80491ee..f52549bb4e3b1a97680e27aea3e245de9ab312a2 100644 |
--- a/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc |
+++ b/mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc |
@@ -25,26 +25,32 @@ bool PipeControlMessageHandler::IsPipeControlMessage(const Message* message) { |
return !IsValidInterfaceId(message->interface_id()); |
} |
-bool PipeControlMessageHandler::Accept(Message* message) { |
- if (!Validate(message)) |
- return false; |
+MessageReceiver::Result PipeControlMessageHandler::Accept(Message* message) { |
+ Result result = Validate(message); |
+ if (!result.Succeeded()) |
+ return result; |
- if (message->name() == pipe_control::kRunOrClosePipeMessageId) |
- return RunOrClosePipe(message); |
+ if (message->name() == pipe_control::kRunOrClosePipeMessageId) { |
+ if (RunOrClosePipe(message)) |
+ return Result::ForSuccess(); |
+ return Result::ForBadControlMessage(interface_name_, message); |
+ } |
NOTREACHED(); |
- return false; |
+ return Result::ForUnknownError(); |
} |
-bool PipeControlMessageHandler::Validate(const Message* message) { |
+MessageReceiver::Result PipeControlMessageHandler::Validate(Message* message) { |
if (message->name() == pipe_control::kRunOrClosePipeMessageId) { |
if (!ValidateMessageIsRequestWithoutResponse(message)) |
- return false; |
- return ValidateMessagePayload< |
- pipe_control::internal::RunOrClosePipeMessageParams_Data>(message); |
+ return Result::ForBadControlMessage(interface_name_, message); |
+ if (!ValidateMessagePayload< |
+ pipe_control::internal::RunOrClosePipeMessageParams_Data>(message)) |
+ return Result::ForBadControlMessage(interface_name_, message); |
+ return Result::ForSuccess(); |
} |
- return false; |
+ return Result::ForBadControlMessage(interface_name_, message); |
} |
bool PipeControlMessageHandler::RunOrClosePipe(Message* message) { |