| // Copyright 2013 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // An API to test IDL schema specifications. |
| namespace idltest { |
| |
| callback LongArrayCallback = void(long[] array); |
| callback ArrayBufferCallback = void(ArrayBuffer buffer); |
| |
| interface Functions { |
| // Functions for testing binary data request/response parameters. The first |
| // two just return back the bytes they were passed in an array. |
| [supportsPromises] static void sendArrayBuffer(ArrayBuffer input, |
| LongArrayCallback callback); |
| |
| // TODO(asargent) - we currently can't have [instanceOf=ArrayBufferView], |
| // I think because ArrayBufferView isn't an instantiable type. The best |
| // we might be able to do is have a 'choices' list including all the |
| // typed array subclasses like Uint8Array, Uint16Array, Float32Array, etc. |
| [supportsPromises] static void sendArrayBufferView( |
| [instanceOf=Uint8Array] ArrayBufferView input, |
| LongArrayCallback callback); |
| [supportsPromises] static void getArrayBuffer(ArrayBufferCallback callback); |
| |
| // This function should not have C++ code autogenerated (the variable name |
| // |switch| should cause compile errors if it does). But the name should |
| // get defined and made visible from within extensions/apps code. |
| [nocompile] static void nocompileFunc(long switch); |
| }; |
| |
| }; |