// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Tests a variety of basic API definition features. [internal] namespace idl_basics { // Enum description enum EnumType { name1, name2 }; [nodoc] enum EnumTypeWithNoDoc { name1, name2 }; dictionary MyType1 { // This comment tests "double-quotes". [legalValues=(1,2)] long x; DOMString y; DOMString z; DOMString a; DOMString b; DOMString c; }; dictionary MyType2 { DOMString x; }; callback Callback1 = void(); callback Callback2 = void(long x); callback Callback3 = void(MyType1 arg); callback Callback4 = void(MyType2[] arg); callback Callback5 = void(EnumType type); // A comment on a callback. // |x|: A parameter. callback Callback6 = void(long x); // |x|: Just a parameter comment, with no comment on the callback. callback Callback7 = void(long x); interface Functions { static void function1(); static void function2(long x); // This comment should appear in the documentation, // despite occupying multiple lines. // // |arg|: So should this comment // about the argument. // HTML is fine too. static void function3(MyType1 arg); // This tests if "double-quotes" are escaped correctly. // // It also tests a comment with two newlines. static void function4(Callback1 cb); static void function5(Callback2 cb); static void function6(Callback3 cb); static void function7(optional long arg); static void function8(long arg1, optional DOMString arg2); static void function9(optional MyType1 arg); static void function10(long x, long[] y); static void function11(MyType1[] arg); static void function12(Callback4 cb); static void function13(EnumType type, Callback5 cb); static void function14(EnumType[] types); // "switch" is a reserved word and should cause a C++ compile error if we // emit code for this declaration. [nocompile] static void function15(long switch); static void function16(Callback6 cb); static void function17(Callback7 cb); // |cb|: Override callback comment. static void function18(Callback7 cb); }; interface Events { static void onFoo1(); static void onFoo2(long x); static void onFoo2(MyType1 arg); static void onFoo3(EnumType type); }; };