Roll src/third_party/WebKit f007c95:0171005 (svn 185074:185088)
[chromium-blink-merge.git] / tools / json_schema_compiler / test / idl_basics.idl
blob463574f258ff4fc9afa1ef477e139ce975dc85c1
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Tests a variety of basic API definition features.
7 [internal] namespace idl_basics {
8 // Enum description
9 enum EnumType {
10 // comment1
11 name1,
12 name2
15 [nodoc] enum EnumTypeWithNoDoc {
16 name1,
17 name2
20 dictionary MyType1 {
21 // This comment tests "double-quotes".
22 [legalValues=(1,2)] long x;
23 DOMString y;
24 DOMString z;
25 DOMString a;
26 DOMString b;
27 DOMString c;
30 dictionary MyType2 {
31 DOMString x;
34 callback Callback1 = void();
35 callback Callback2 = void(long x);
36 callback Callback3 = void(MyType1 arg);
37 callback Callback4 = void(MyType2[] arg);
38 callback Callback5 = void(EnumType type);
39 // A comment on a callback.
40 // |x|: A parameter.
41 callback Callback6 = void(long x);
42 // |x|: Just a parameter comment, with no comment on the callback.
43 callback Callback7 = void(long x);
45 interface Functions {
46 static void function1();
47 static void function2(long x);
48 // This comment should appear in the documentation,
49 // despite occupying multiple lines.
51 // |arg|: So should this comment
52 // about the argument.
53 // <em>HTML</em> is fine too.
54 static void function3(MyType1 arg);
56 // This tests if "double-quotes" are escaped correctly.
58 // It also tests a comment with two newlines.
59 static void function4(Callback1 cb);
60 static void function5(Callback2 cb);
61 static void function6(Callback3 cb);
63 static void function7(optional long arg);
64 static void function8(long arg1, optional DOMString arg2);
65 static void function9(optional MyType1 arg);
67 static void function10(long x, long[] y);
68 static void function11(MyType1[] arg);
70 static void function12(Callback4 cb);
72 static void function13(EnumType type, Callback5 cb);
73 static void function14(EnumType[] types);
75 // "switch" is a reserved word and should cause a C++ compile error if we
76 // emit code for this declaration.
77 [nocompile] static void function15(long switch);
79 static void function16(Callback6 cb);
80 static void function17(Callback7 cb);
81 // |cb|: Override callback comment.
82 static void function18(Callback7 cb);
84 static void function20(idl_other_namespace.SomeType value);
85 static void function21(idl_other_namespace.SomeType[] values);
86 static void function22(
87 idl_other_namespace.sub_namespace.AnotherType value);
88 static void function23(
89 idl_other_namespace.sub_namespace.AnotherType[] values);
91 static long function24();
92 static MyType1 function25();
93 static MyType1[] function26();
94 static EnumType function27();
95 static EnumType[] function28();
96 static idl_other_namespace.SomeType function29();
97 static idl_other_namespace.SomeType[] function30();
100 interface Events {
101 static void onFoo1();
102 static void onFoo2(long x);
103 static void onFoo2(MyType1 arg);
104 static void onFoo3(EnumType type);