Index: mojo/edk/js/tests/js_to_cpp.mojom |
diff --git a/mojo/edk/js/tests/js_to_cpp.mojom b/mojo/edk/js/tests/js_to_cpp.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..69f67b69179e0e96b5bb7b2c2880825b31f3a5c7 |
--- /dev/null |
+++ b/mojo/edk/js/tests/js_to_cpp.mojom |
@@ -0,0 +1,53 @@ |
+module js_to_cpp; |
+ |
+// This struct encompasses all of the basic types, so that they |
+// may be sent from C++ to JS and back for validation. |
+struct EchoArgs { |
+ int64 si64; |
+ int32 si32; |
+ int16 si16; |
+ int8 si8; |
+ uint64 ui64; |
+ uint32 ui32; |
+ uint16 ui16; |
+ uint8 ui8; |
+ float float_val; |
+ float float_inf; |
+ float float_nan; |
+ double double_val; |
+ double double_inf; |
+ double double_nan; |
+ string? name; |
+ array<string>? string_array; |
+ handle<message_pipe>? message_handle; |
+ handle<data_pipe_consumer>? data_handle; |
+}; |
+ |
+struct EchoArgsList { |
+ EchoArgsList? next; |
+ EchoArgs? item; |
+}; |
+ |
+// Note: For messages which control test flow, pick numbers that are unlikely |
+// to be hit as a result of our deliberate corruption of response messages. |
+interface CppSide { |
+ // Sent for all tests to notify that the JS side is now ready. |
+ StartTest@88888888(); |
+ |
+ // Indicates end for echo, bit-flip, and back-pointer tests. |
+ TestFinished@99999999(); |
+ |
+ // Responses from specific tests. |
+ PingResponse(); |
+ EchoResponse(EchoArgsList list); |
+ BitFlipResponse(EchoArgsList arg); |
+ BackPointerResponse(EchoArgsList arg); |
+}; |
+ |
+[Client=CppSide] |
+interface JsSide { |
+ Ping(); |
+ Echo(int32 numIterations, EchoArgs arg); |
+ BitFlip(EchoArgs arg); |
+ BackPointer(EchoArgs arg); |
+}; |