blob: 09faeea8eb189bde874ee5f166cd66ec4b283556 [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.
// Blink-specific forEach iterator's callback
// https://heycam.github.io/webidl/#es-forEach
callback ForEachIteratorCallback = void (any value, any key, any obj);
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);
[LegacyTreatNonObjectAsNull]
callback TreatNonObjectAsNullVoidFunction = void ();
[LegacyTreatNonObjectAsNull]
callback TreatNonObjectAsNullBooleanFunction = boolean ();
interface TestCallbackFunctions {
// Extended attributes
[Reflect] readonly attribute long fooCallbacksReadonlyAttribute;
// 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
[Reflect] void fooCallbacksMethod();
};