blob: 6502f9de39030a454494fd13f4b7fcd0e82b1e6b [file] [log] [blame]
// 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);