summaryrefslogtreecommitdiffstats
path: root/tools/json_schema_compiler/test/idl_basics.idl
blob: 32489ff3c7564b0d170caf541c2958980d153e58 (plain)
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
// 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.

namespace idl_basics {
  dictionary MyType1 {
    long x;
    DOMString y;
  };

  dictionary MyType2 {
    DOMString x;
  };

  callback Callback1 = void();
  callback Callback2 = void(long x);
  callback Callback3 = void(MyType1 arg);

  interface Functions {
    static void function1();
    static void function2(long x);
    static void function3(MyType1 arg);

    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);
  };

  interface Events {
    static void onFoo1();
    static void onFoo2(long x);
    static void onFoo2(MyType1 arg);
  };
};