// 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.
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.
static void sendArrayBufferView(
[instanceOf=Uint8Array] ArrayBufferView input,
LongArrayCallback callback);
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);
};
};