| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module content.mojom; |
| |
| // Interfaces used to test that encoding/decoding between JS and C++ works |
| // correctly. |
| |
| union TestUnion { |
| bool bool_value; |
| int32 int32_value; |
| string string_value; |
| }; |
| |
| union NestedUnion { |
| int8 int8_value; |
| TestUnion union_value; |
| }; |
| |
| // Interface that echos the arguments by extracting them from structs, unions, |
| // etc. or by adding them to structs, unions, etc. |
| interface MojoEcho { |
| // The following methods help test that JS can correctly encode unions. They |
| // CHECK if the union has not the expected type. |
| // |
| // Runs callback with |test_union.bool_value|. |
| EchoBoolFromUnion(TestUnion test_union) => (bool value); |
| // Runs callback with |test_union.int32_value|. |
| EchoInt32FromUnion(TestUnion test_union) => (int32 value); |
| // Runs callback with |test_union.string_value|. |
| EchoStringFromUnion(TestUnion test_union) => (string value); |
| |
| // The following methods help test that JS can correctly decode unions. |
| // |
| // Runs callback with |value| as the TestUnion's value. |
| EchoBoolAsUnion(bool value) => (TestUnion test_union); |
| // Runs callback with |value| as the TestUnion's value. |
| EchoInt32AsUnion(int32 value) => (TestUnion test_union); |
| // Runs callback with |value| as the TestUnion's value. |
| EchoStringAsUnion(string value) => (TestUnion test_union); |
| |
| // The following methods help test that JS can correctly encode optional |
| // unions. They CHECK if the union has not the expected type. |
| // |
| // Runs the empty callback. |
| EchoNullFromOptionalUnion(TestUnion? test_union) => (); |
| // Runs callback with |test_union.bool_value|. |
| EchoBoolFromOptionalUnion(TestUnion? test_union) => (bool value); |
| // Runs callback with |test_union.int32_value|. |
| EchoInt32FromOptionalUnion(TestUnion? test_union) => (int32 value); |
| // Runs callback with |test_union.string_value|. |
| EchoStringFromOptionalUnion(TestUnion? test_union) => (string value); |
| |
| // The following methods help test that JS can correctly decode optional |
| // unions. |
| // |
| // Runs callback with a null TestUnion. |
| EchoNullAsOptionalUnion() => (TestUnion? test_union); |
| // Runs callback with |value| as the TestUnion's value. |
| EchoBoolAsOptionalUnion(bool value) => (TestUnion? test_union); |
| // Runs callback with |value| as the TestUnion's value. |
| EchoInt32AsOptionalUnion(int32 value) => (TestUnion? test_union); |
| // Runs callback with |value| as the TestUnion's value. |
| EchoStringAsOptionalUnion(string value) => (TestUnion? test_union); |
| |
| // The following methods help test that JS can correctly encode nested unions. |
| // They CHECK if the union has not the expected type. |
| // |
| // Runs callback with |test_union.int8_value|. |
| EchoInt8FromNestedUnion(NestedUnion test_union) => (int8 value); |
| // Runs callback with |test_union.union_value.bool_value|. |
| EchoBoolFromNestedUnion(NestedUnion test_union) => (bool value); |
| // Runs callback with |test_union.union_value.string_value|. |
| EchoStringFromNestedUnion(NestedUnion test_union) => (string value); |
| |
| // The following methods help test that JS can correctly decode nested unions. |
| // |
| // Runs callback with |value| as the NestedUnion's value. |
| EchoInt8AsNestedUnion(int8 value) => (NestedUnion test_union); |
| // Runs callback with |value| as the NestedUnion.TestUnion's value. |
| EchoBoolAsNestedUnion(bool value) => (NestedUnion test_union); |
| // Runs callback with |value| as the NestedUnion.TestUnion's value. |
| EchoStringAsNestedUnion(string value) => (NestedUnion test_union); |
| |
| // The following methods help test that JS can correctly encode optional |
| // nested unions. They CHECK if the union has not the expected type. |
| // |
| // Runs the empty callback. |
| EchoNullFromOptionalNestedUnion(NestedUnion? test_union) => (); |
| // Runs callback with |test_union.int8_value|. |
| EchoInt8FromOptionalNestedUnion(NestedUnion? test_union) => (int8 value); |
| // Runs callback with |test_union.union_value.bool_value|. |
| EchoBoolFromOptionalNestedUnion(NestedUnion? test_union) => (bool value); |
| // Runs callback with |test_union.union_value.string_value|. |
| EchoStringFromOptionalNestedUnion(NestedUnion? test_union) => (string value); |
| |
| // The following methods help test that JS can correctly decode optional |
| // nested unions. |
| // |
| // Runs the empty callback. |
| EchoNullAsOptionalNestedUnion() => (NestedUnion? test_union); |
| // Runs callback with |test_union.int8_value|. |
| EchoInt8AsOptionalNestedUnion(int8 value) => (NestedUnion? test_union); |
| // Runs callback with |test_union.union_value.bool_value|. |
| EchoBoolAsOptionalNestedUnion(bool value) => (NestedUnion? test_union); |
| // Runs callback with |test_union.union_value.string_value|. |
| EchoStringAsOptionalNestedUnion(string value) => (NestedUnion? test_union); |
| |
| // The following methods help test that JS can correctly encode array of |
| // bools. |
| EchoBoolArray(array<bool> values) => (array<bool> values); |
| }; |