91 lines
2.4 KiB
Plaintext
91 lines
2.4 KiB
Plaintext
|
// 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.
|
||
|
// <em>HTML</em> 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);
|
||
|
};
|
||
|
};
|