| Index: third_party/mojo/src/mojo/public/cpp/bindings/lib/validation_util.cc
|
| diff --git a/third_party/mojo/src/mojo/public/cpp/bindings/lib/validation_util.cc b/third_party/mojo/src/mojo/public/cpp/bindings/lib/validation_util.cc
|
| index 5614cca4a25c9227a3d85e966c9d722bbf6e974d..d8a1e681edd6d105c20a6fbfca3d9101d56e1bff 100644
|
| --- a/third_party/mojo/src/mojo/public/cpp/bindings/lib/validation_util.cc
|
| +++ b/third_party/mojo/src/mojo/public/cpp/bindings/lib/validation_util.cc
|
| @@ -7,6 +7,7 @@
|
| #include "mojo/public/cpp/bindings/lib/bindings_serialization.h"
|
| #include "mojo/public/cpp/bindings/lib/message_internal.h"
|
| #include "mojo/public/cpp/bindings/lib/validation_errors.h"
|
| +#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
|
|
|
| namespace mojo {
|
| namespace internal {
|
| @@ -70,5 +71,27 @@ bool ValidateMessageIsResponse(const Message* message) {
|
| return true;
|
| }
|
|
|
| +bool ValidateControlRequest(const Message* message) {
|
| + switch (message->header()->name) {
|
| + case kRunMessageId:
|
| + return ValidateMessageIsRequestExpectingResponse(message) &&
|
| + ValidateMessagePayload<RunMessageParams_Data>(message);
|
| + case kRunOrClosePipeMessageId:
|
| + return ValidateMessageIsRequestWithoutResponse(message) &&
|
| + ValidateMessagePayload<RunOrClosePipeMessageParams_Data>(message);
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +bool ValidateControlResponse(const Message* message) {
|
| + if (!ValidateMessageIsResponse(message))
|
| + return false;
|
| + switch (message->header()->name) {
|
| + case kRunMessageId:
|
| + return ValidateMessagePayload<RunResponseMessageParams_Data>(message);
|
| + }
|
| + return false;
|
| +}
|
| +
|
| } // namespace internal
|
| } // namespace mojo
|
|
|