blob: 03b21d4b005900e3aa52ef5ec2bc20d52324f5c3 [file] [log] [blame]
// Copyright 2013 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.
// 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 cb);
// 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 cb);
static void getArrayBuffer(ArrayBufferCallback cb);
// 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);
// This function should not have C++ code autogenerated (the variable name
// |switch| should cause compile errors if it does). The name should also
// never be defined in Javascript and invisible to extensions/apps code.
[nodefine] static void nodefineFunc(long switch);
};
};