• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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// An API to test IDL schema specifications.
6namespace idltest {
7
8  callback LongArrayCallback = void(long[] array);
9  callback ArrayBufferCallback = void(ArrayBuffer buffer);
10
11  interface Functions {
12    // Functions for testing binary data request/response parameters. The first
13    // two just return back the bytes they were passed in an array.
14    static void sendArrayBuffer(ArrayBuffer input, LongArrayCallback cb);
15
16    // TODO(asargent) - we currently can't have [instanceOf=ArrayBufferView],
17    // I think because ArrayBufferView isn't an instantiable type. The best
18    // we might be able to do is have a 'choices' list including all the
19    // typed array subclasses like Uint8Array, Uint16Array, Float32Array, etc.
20    static void sendArrayBufferView([instanceOf=Uint8Array] object input,
21                                    LongArrayCallback cb);
22    static void getArrayBuffer(ArrayBufferCallback cb);
23
24    // This function should not have C++ code autogenerated (the variable name
25    // |switch| should cause compile errors if it does). But the name should
26    // get defined and made visible from within extensions/apps code.
27    [nocompile] static void nocompileFunc(long switch);
28  };
29
30};
31