1 // Copyright 2013 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. 4 5 // Tests Pepper API generation. 6 7 [internal] namespace idlPepper { 8 enum EnumType { 9 name1, 10 name2 11 }; 12 13 enum AnotherEnumType { 14 name1, 15 name2 16 }; 17 18 dictionary MyType3 { 19 MyType1 a; 20 }; 21 22 dictionary MyType2 { 23 MyType1 a; 24 }; 25 26 dictionary MyType1 { 27 }; 28 29 dictionary MyType4 { 30 MyType1 a; 31 }; 32 33 dictionary MyType5 { 34 MyType3[] a; 35 MyType4? b; 36 }; 37 38 dictionary MyType6 { 39 MyType5 a; 40 }; 41 42 dictionary MyType0 { 43 }; 44 45 dictionary MyType { 46 long int_single; 47 long[] int_array; 48 long? optional_int; 49 long[]? optional_int_array; 50 double double_single; 51 double[] double_array; 52 double? optional_double; 53 double[]? optional_double_array; 54 DOMString string; 55 DOMString[] string_array; 56 DOMString? optional_string; 57 DOMString[]? optional_string_array; 58 EnumType enum_single; 59 EnumType[] enum_array; 60 EnumType? optional_enum; 61 EnumType[]? optional_enum_array; 62 MyType0 struct_single; 63 MyType0[] struct_array; 64 MyType0? optional_struct; 65 MyType0[]? optional_struct_array; 66 }; 67 68 callback Callback1 = void(MyType5 arg); 69 callback Callback2 = void(double arg); 70 callback Callback3 = void(double[] arg); 71 callback Callback4 = void(MyType0[] arg); 72 callback Callback5 = void(MyType0 arg); 73 74 interface Functions { 75 static void function1(optional MyType2[] arg); 76 static void function2(optional MyType3 arg); 77 static void function3(Callback1 cb); 78 static void function4(Callback2 cb); 79 static double function5(); 80 static MyType5 function6(); 81 static void function7(Callback3 cb); 82 static void function8(Callback4 cb); 83 static void function9(Callback5 cb); 84 static double[] function10(); 85 static MyType0[] function11(); 86 static MyType0 function12(); 87 static void function13(MyType arg); 88 }; 89 90 interface Events { 91 static void onFoo1(MyType6 arg); 92 }; 93 }; 94