blob: 6058ac8f83e1547524cd26f4d3ea9dd4c52a1c59 [file] [log] [blame]
// Copyright 2016 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.
callback VoidCallbackFunction = void ();
callback AnyCallbackFunctionOptionalAnyArg = any (optional any optionalAnyArg);
// |AnyCallbackFunctionVariadicAnyArgs| is the same as Function.
// https://heycam.github.io/webidl/#Function
callback AnyCallbackFunctionVariadicAnyArgs = any (any... arguments);
callback LongCallbackFunction = long (long num1, long num2);
// Following callback functions are to be generated as expected.
callback VoidCallbackFunctionInterfaceArg = void (HTMLDivElement divElement);
callback VoidCallbackFunctionDictionaryArg = void (TestDictionary arg);
callback VoidCallbackFunctionTestInterfaceSequenceArg = void (sequence<TestInterface> arg);
callback StringSequenceCallbackFunctionLongSequenceArg = sequence<DOMString> (sequence<long> arg);
callback VoidCallbackFunctionEnumArg = void (TestEnum arg);
callback VoidCallbackFunctionTypedef = void (String arg);
[TreatNonObjectAsNull]
callback TreatNonObjectAsNullVoidFunction = void ();
[TreatNonObjectAsNull]
callback TreatNonObjectAsNullBooleanFunction = boolean ();
interface TestCallbackFunctions {
// Extended attributes
[CustomElementCallbacks] readonly attribute long customElementsCallbacksReadonlyAttribute;
// Methods
VoidCallbackFunction returnCallbackFunctionMethod();
AnyCallbackFunctionOptionalAnyArg returnCallbackFunctionMethod2();
void voidMethodCallbackFunctionInArg(VoidCallbackFunction voidCallbackFunctionArg);
void voidMethodCallbackFunctionInArg2(AnyCallbackFunctionOptionalAnyArg anyCallbackFunctionOptionalAnyArgArg);
void voidMethodCallbackFunctionWithReturnValueInArg(LongCallbackFunction longCallbackFunctionArg);
void voidMethodOptionalCallbackFunctionInArg(optional VoidCallbackFunction voidCallbackFunctionArg);
void voidMethodNullableCallbackFunctionInArg(VoidCallbackFunction? voidCallbackFunctionArg);
// Extended attributes
[CustomElementCallbacks] void customElementCallbacksMethod();
};