File: mojo_echo.mojom

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (113 lines) | stat: -rw-r--r-- 5,029 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// 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);
};