Blame dom/bindings/test/TestExampleGen.webidl

Packit f0b94e
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
Packit f0b94e
/* This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
Packit f0b94e
 * You can obtain one at http://mozilla.org/MPL/2.0/.
Packit f0b94e
 */
Packit f0b94e
[Constructor,
Packit f0b94e
 Constructor(DOMString str),
Packit f0b94e
 Constructor(unsigned long num, boolean? boolArg),
Packit f0b94e
 Constructor(TestInterface? iface),
Packit f0b94e
 Constructor(unsigned long arg1, IndirectlyImplementedInterface iface),
Packit f0b94e
 Constructor(Date arg1),
Packit f0b94e
 Constructor(ArrayBuffer arrayBuf),
Packit f0b94e
 Constructor(Uint8Array typedArr),
Packit f0b94e
 // Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),
Packit f0b94e
 NamedConstructor=Example,
Packit f0b94e
 NamedConstructor=Example(DOMString str),
Packit f0b94e
 NamedConstructor=Example2(DictForConstructor dict, any any1, object obj1,
Packit f0b94e
                           object? obj2, sequence<Dict> seq, optional any any2,
Packit f0b94e
                           optional object obj3, optional object? obj4),
Packit f0b94e
 NamedConstructor=Example2((long or record<DOMString, any>) arg1)
Packit f0b94e
 ]
Packit f0b94e
interface TestExampleInterface {
Packit f0b94e
  // Integer types
Packit f0b94e
  // XXXbz add tests for throwing versions of all the integer stuff
Packit f0b94e
  readonly attribute byte readonlyByte;
Packit f0b94e
  attribute byte writableByte;
Packit f0b94e
  void passByte(byte arg);
Packit f0b94e
  byte receiveByte();
Packit f0b94e
  void passOptionalByte(optional byte arg);
Packit f0b94e
  void passOptionalByteBeforeRequired(optional byte arg1, byte arg2);
Packit f0b94e
  void passOptionalByteWithDefault(optional byte arg = 0);
Packit f0b94e
  void passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2);
Packit f0b94e
  void passNullableByte(byte? arg);
Packit f0b94e
  void passOptionalNullableByte(optional byte? arg);
Packit f0b94e
  void passVariadicByte(byte... arg);
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute byte cachedByte;
Packit f0b94e
  [StoreInSlot, Constant]
Packit f0b94e
  readonly attribute byte cachedConstantByte;
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  attribute byte cachedWritableByte;
Packit f0b94e
  [Affects=Nothing]
Packit f0b94e
  attribute byte sideEffectFreeByte;
Packit f0b94e
  [Affects=Nothing, DependsOn=DOMState]
Packit f0b94e
  attribute byte domDependentByte;
Packit f0b94e
  [Affects=Nothing, DependsOn=Nothing]
Packit f0b94e
  readonly attribute byte constantByte;
Packit f0b94e
  [DependsOn=DeviceState, Affects=Nothing]
Packit f0b94e
  readonly attribute byte deviceStateDependentByte;
Packit f0b94e
  [Affects=Nothing]
Packit f0b94e
  byte returnByteSideEffectFree();
Packit f0b94e
  [Affects=Nothing, DependsOn=DOMState]
Packit f0b94e
  byte returnDOMDependentByte();
Packit f0b94e
  [Affects=Nothing, DependsOn=Nothing]
Packit f0b94e
  byte returnConstantByte();
Packit f0b94e
  [DependsOn=DeviceState, Affects=Nothing]
Packit f0b94e
  byte returnDeviceStateDependentByte();
Packit f0b94e
Packit f0b94e
  readonly attribute short readonlyShort;
Packit f0b94e
  attribute short writableShort;
Packit f0b94e
  void passShort(short arg);
Packit f0b94e
  short receiveShort();
Packit f0b94e
  void passOptionalShort(optional short arg);
Packit f0b94e
  void passOptionalShortWithDefault(optional short arg = 5);
Packit f0b94e
Packit f0b94e
  readonly attribute long readonlyLong;
Packit f0b94e
  attribute long writableLong;
Packit f0b94e
  void passLong(long arg);
Packit f0b94e
  long receiveLong();
Packit f0b94e
  void passOptionalLong(optional long arg);
Packit f0b94e
  void passOptionalLongWithDefault(optional long arg = 7);
Packit f0b94e
Packit f0b94e
  readonly attribute long long readonlyLongLong;
Packit f0b94e
  attribute long long writableLongLong;
Packit f0b94e
  void passLongLong(long long arg);
Packit f0b94e
  long long receiveLongLong();
Packit f0b94e
  void passOptionalLongLong(optional long long arg);
Packit f0b94e
  void passOptionalLongLongWithDefault(optional long long arg = -12);
Packit f0b94e
Packit f0b94e
  readonly attribute octet readonlyOctet;
Packit f0b94e
  attribute octet writableOctet;
Packit f0b94e
  void passOctet(octet arg);
Packit f0b94e
  octet receiveOctet();
Packit f0b94e
  void passOptionalOctet(optional octet arg);
Packit f0b94e
  void passOptionalOctetWithDefault(optional octet arg = 19);
Packit f0b94e
Packit f0b94e
  readonly attribute unsigned short readonlyUnsignedShort;
Packit f0b94e
  attribute unsigned short writableUnsignedShort;
Packit f0b94e
  void passUnsignedShort(unsigned short arg);
Packit f0b94e
  unsigned short receiveUnsignedShort();
Packit f0b94e
  void passOptionalUnsignedShort(optional unsigned short arg);
Packit f0b94e
  void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
Packit f0b94e
Packit f0b94e
  readonly attribute unsigned long readonlyUnsignedLong;
Packit f0b94e
  attribute unsigned long writableUnsignedLong;
Packit f0b94e
  void passUnsignedLong(unsigned long arg);
Packit f0b94e
  unsigned long receiveUnsignedLong();
Packit f0b94e
  void passOptionalUnsignedLong(optional unsigned long arg);
Packit f0b94e
  void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
Packit f0b94e
Packit f0b94e
  readonly attribute unsigned long long readonlyUnsignedLongLong;
Packit f0b94e
  attribute unsigned long long  writableUnsignedLongLong;
Packit f0b94e
  void passUnsignedLongLong(unsigned long long arg);
Packit f0b94e
  unsigned long long receiveUnsignedLongLong();
Packit f0b94e
  void passOptionalUnsignedLongLong(optional unsigned long long arg);
Packit f0b94e
  void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
Packit f0b94e
Packit f0b94e
  attribute float writableFloat;
Packit f0b94e
  attribute unrestricted float writableUnrestrictedFloat;
Packit f0b94e
  attribute float? writableNullableFloat;
Packit f0b94e
  attribute unrestricted float? writableNullableUnrestrictedFloat;
Packit f0b94e
  attribute double writableDouble;
Packit f0b94e
  attribute unrestricted double writableUnrestrictedDouble;
Packit f0b94e
  attribute double? writableNullableDouble;
Packit f0b94e
  attribute unrestricted double? writableNullableUnrestrictedDouble;
Packit f0b94e
  void passFloat(float arg1, unrestricted float arg2,
Packit f0b94e
                 float? arg3, unrestricted float? arg4,
Packit f0b94e
                 double arg5, unrestricted double arg6,
Packit f0b94e
                 double? arg7, unrestricted double? arg8,
Packit f0b94e
                 sequence<float> arg9, sequence<unrestricted float> arg10,
Packit f0b94e
                 sequence<float?> arg11, sequence<unrestricted float?> arg12,
Packit f0b94e
                 sequence<double> arg13, sequence<unrestricted double> arg14,
Packit f0b94e
                 sequence<double?> arg15, sequence<unrestricted double?> arg16);
Packit f0b94e
  [LenientFloat]
Packit f0b94e
  void passLenientFloat(float arg1, unrestricted float arg2,
Packit f0b94e
                        float? arg3, unrestricted float? arg4,
Packit f0b94e
                        double arg5, unrestricted double arg6,
Packit f0b94e
                        double? arg7, unrestricted double? arg8,
Packit f0b94e
                        sequence<float> arg9,
Packit f0b94e
                        sequence<unrestricted float> arg10,
Packit f0b94e
                        sequence<float?> arg11,
Packit f0b94e
                        sequence<unrestricted float?> arg12,
Packit f0b94e
                        sequence<double> arg13,
Packit f0b94e
                        sequence<unrestricted double> arg14,
Packit f0b94e
                        sequence<double?> arg15,
Packit f0b94e
                        sequence<unrestricted double?> arg16);
Packit f0b94e
  [LenientFloat]
Packit f0b94e
  attribute float lenientFloatAttr;
Packit f0b94e
  [LenientFloat]
Packit f0b94e
  attribute double lenientDoubleAttr;
Packit f0b94e
Packit f0b94e
  // Castable interface types
Packit f0b94e
  // XXXbz add tests for throwing versions of all the castable interface stuff
Packit f0b94e
  TestInterface receiveSelf();
Packit f0b94e
  TestInterface? receiveNullableSelf();
Packit f0b94e
  TestInterface receiveWeakSelf();
Packit f0b94e
  TestInterface? receiveWeakNullableSelf();
Packit f0b94e
  void passSelf(TestInterface arg);
Packit f0b94e
  void passNullableSelf(TestInterface? arg);
Packit f0b94e
  attribute TestInterface nonNullSelf;
Packit f0b94e
  attribute TestInterface? nullableSelf;
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute TestInterface cachedSelf;
Packit f0b94e
  // Optional arguments
Packit f0b94e
  void passOptionalSelf(optional TestInterface? arg);
Packit f0b94e
  void passOptionalNonNullSelf(optional TestInterface arg);
Packit f0b94e
  void passOptionalSelfWithDefault(optional TestInterface? arg = null);
Packit f0b94e
Packit f0b94e
  // Non-wrapper-cache interface types
Packit f0b94e
  [NewObject]
Packit f0b94e
  TestNonWrapperCacheInterface receiveNonWrapperCacheInterface();
Packit f0b94e
  [NewObject]
Packit f0b94e
  TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface();
Packit f0b94e
  [NewObject]
Packit f0b94e
  sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence();
Packit f0b94e
  [NewObject]
Packit f0b94e
  sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence();
Packit f0b94e
  [NewObject]
Packit f0b94e
  sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence();
Packit f0b94e
  [NewObject]
Packit f0b94e
  sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence();
Packit f0b94e
Packit f0b94e
  // Non-castable interface types
Packit f0b94e
  IndirectlyImplementedInterface receiveOther();
Packit f0b94e
  IndirectlyImplementedInterface? receiveNullableOther();
Packit f0b94e
  IndirectlyImplementedInterface receiveWeakOther();
Packit f0b94e
  IndirectlyImplementedInterface? receiveWeakNullableOther();
Packit f0b94e
  void passOther(IndirectlyImplementedInterface arg);
Packit f0b94e
  void passNullableOther(IndirectlyImplementedInterface? arg);
Packit f0b94e
  attribute IndirectlyImplementedInterface nonNullOther;
Packit f0b94e
  attribute IndirectlyImplementedInterface? nullableOther;
Packit f0b94e
  // Optional arguments
Packit f0b94e
  void passOptionalOther(optional IndirectlyImplementedInterface? arg);
Packit f0b94e
  void passOptionalNonNullOther(optional IndirectlyImplementedInterface arg);
Packit f0b94e
  void passOptionalOtherWithDefault(optional IndirectlyImplementedInterface? arg = null);
Packit f0b94e
Packit f0b94e
  // External interface types
Packit f0b94e
  TestExternalInterface receiveExternal();
Packit f0b94e
  TestExternalInterface? receiveNullableExternal();
Packit f0b94e
  TestExternalInterface receiveWeakExternal();
Packit f0b94e
  TestExternalInterface? receiveWeakNullableExternal();
Packit f0b94e
  void passExternal(TestExternalInterface arg);
Packit f0b94e
  void passNullableExternal(TestExternalInterface? arg);
Packit f0b94e
  attribute TestExternalInterface nonNullExternal;
Packit f0b94e
  attribute TestExternalInterface? nullableExternal;
Packit f0b94e
  // Optional arguments
Packit f0b94e
  void passOptionalExternal(optional TestExternalInterface? arg);
Packit f0b94e
  void passOptionalNonNullExternal(optional TestExternalInterface arg);
Packit f0b94e
  void passOptionalExternalWithDefault(optional TestExternalInterface? arg = null);
Packit f0b94e
Packit f0b94e
  // Callback interface types
Packit f0b94e
  TestCallbackInterface receiveCallbackInterface();
Packit f0b94e
  TestCallbackInterface? receiveNullableCallbackInterface();
Packit f0b94e
  TestCallbackInterface receiveWeakCallbackInterface();
Packit f0b94e
  TestCallbackInterface? receiveWeakNullableCallbackInterface();
Packit f0b94e
  void passCallbackInterface(TestCallbackInterface arg);
Packit f0b94e
  void passNullableCallbackInterface(TestCallbackInterface? arg);
Packit f0b94e
  attribute TestCallbackInterface nonNullCallbackInterface;
Packit f0b94e
  attribute TestCallbackInterface? nullableCallbackInterface;
Packit f0b94e
  // Optional arguments
Packit f0b94e
  void passOptionalCallbackInterface(optional TestCallbackInterface? arg);
Packit f0b94e
  void passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg);
Packit f0b94e
  void passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null);
Packit f0b94e
Packit f0b94e
  // Miscellaneous interface tests
Packit f0b94e
  IndirectlyImplementedInterface receiveConsequentialInterface();
Packit f0b94e
  void passConsequentialInterface(IndirectlyImplementedInterface arg);
Packit f0b94e
Packit f0b94e
  // Sequence types
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute sequence<long> readonlySequence;
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute sequence<Dict> readonlySequenceOfDictionaries;
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries;
Packit f0b94e
  [Cached, Pure, Frozen]
Packit f0b94e
  readonly attribute sequence<long> readonlyFrozenSequence;
Packit f0b94e
  [Cached, Pure, Frozen]
Packit f0b94e
  readonly attribute sequence<long>? readonlyFrozenNullableSequence;
Packit f0b94e
  sequence<long> receiveSequence();
Packit f0b94e
  sequence<long>? receiveNullableSequence();
Packit f0b94e
  sequence<long?> receiveSequenceOfNullableInts();
Packit f0b94e
  sequence<long?>? receiveNullableSequenceOfNullableInts();
Packit f0b94e
  void passSequence(sequence<long> arg);
Packit f0b94e
  void passNullableSequence(sequence<long>? arg);
Packit f0b94e
  void passSequenceOfNullableInts(sequence<long?> arg);
Packit f0b94e
  void passOptionalSequenceOfNullableInts(optional sequence<long?> arg);
Packit f0b94e
  void passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg);
Packit f0b94e
  sequence<TestInterface> receiveCastableObjectSequence();
Packit f0b94e
  sequence<TestCallbackInterface> receiveCallbackObjectSequence();
Packit f0b94e
  sequence<TestInterface?> receiveNullableCastableObjectSequence();
Packit f0b94e
  sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence();
Packit f0b94e
  sequence<TestInterface>? receiveCastableObjectNullableSequence();
Packit f0b94e
  sequence<TestInterface?>? receiveNullableCastableObjectNullableSequence();
Packit f0b94e
  sequence<TestInterface> receiveWeakCastableObjectSequence();
Packit f0b94e
  sequence<TestInterface?> receiveWeakNullableCastableObjectSequence();
Packit f0b94e
  sequence<TestInterface>? receiveWeakCastableObjectNullableSequence();
Packit f0b94e
  sequence<TestInterface?>? receiveWeakNullableCastableObjectNullableSequence();
Packit f0b94e
  void passCastableObjectSequence(sequence<TestInterface> arg);
Packit f0b94e
  void passNullableCastableObjectSequence(sequence<TestInterface?> arg);
Packit f0b94e
  void passCastableObjectNullableSequence(sequence<TestInterface>? arg);
Packit f0b94e
  void passNullableCastableObjectNullableSequence(sequence<TestInterface?>? arg);
Packit f0b94e
  void passOptionalSequence(optional sequence<long> arg);
Packit f0b94e
  void passOptionalSequenceWithDefaultValue(optional sequence<long> arg = []);
Packit f0b94e
  void passOptionalNullableSequence(optional sequence<long>? arg);
Packit f0b94e
  void passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null);
Packit f0b94e
  void passOptionalNullableSequenceWithDefaultValue2(optional sequence<long>? arg = []);
Packit f0b94e
  void passOptionalObjectSequence(optional sequence<TestInterface> arg);
Packit f0b94e
  void passExternalInterfaceSequence(sequence<TestExternalInterface> arg);
Packit f0b94e
  void passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg);
Packit f0b94e
Packit f0b94e
  sequence<DOMString> receiveStringSequence();
Packit f0b94e
  void passStringSequence(sequence<DOMString> arg);
Packit f0b94e
Packit f0b94e
  sequence<ByteString> receiveByteStringSequence();
Packit f0b94e
  void passByteStringSequence(sequence<ByteString> arg);
Packit f0b94e
Packit f0b94e
  sequence<any> receiveAnySequence();
Packit f0b94e
  sequence<any>? receiveNullableAnySequence();
Packit f0b94e
  //XXXbz No support for sequence of sequence return values yet.
Packit f0b94e
  //sequence<sequence<any>> receiveAnySequenceSequence();
Packit f0b94e
Packit f0b94e
  sequence<object> receiveObjectSequence();
Packit f0b94e
  sequence<object?> receiveNullableObjectSequence();
Packit f0b94e
Packit f0b94e
  void passSequenceOfSequences(sequence<sequence<long>> arg);
Packit f0b94e
  void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
Packit f0b94e
  //XXXbz No support for sequence of sequence return values yet.
Packit f0b94e
  //sequence<sequence<long>> receiveSequenceOfSequences();
Packit f0b94e
Packit f0b94e
  // record types
Packit f0b94e
  void passRecord(record<DOMString, long> arg);
Packit f0b94e
  void passNullableRecord(record<DOMString, long>? arg);
Packit f0b94e
  void passRecordOfNullableInts(record<DOMString, long?> arg);
Packit f0b94e
  void passOptionalRecordOfNullableInts(optional record<DOMString, long?> arg);
Packit f0b94e
  void passOptionalNullableRecordOfNullableInts(optional record<DOMString, long?>? arg);
Packit f0b94e
  void passCastableObjectRecord(record<DOMString, TestInterface> arg);
Packit f0b94e
  void passNullableCastableObjectRecord(record<DOMString, TestInterface?> arg);
Packit f0b94e
  void passCastableObjectNullableRecord(record<DOMString, TestInterface>? arg);
Packit f0b94e
  void passNullableCastableObjectNullableRecord(record<DOMString, TestInterface?>? arg);
Packit f0b94e
  void passOptionalRecord(optional record<DOMString, long> arg);
Packit f0b94e
  void passOptionalNullableRecord(optional record<DOMString, long>? arg);
Packit f0b94e
  void passOptionalNullableRecordWithDefaultValue(optional record<DOMString, long>? arg = null);
Packit f0b94e
  void passOptionalObjectRecord(optional record<DOMString, TestInterface> arg);
Packit f0b94e
  void passExternalInterfaceRecord(record<DOMString, TestExternalInterface> arg);
Packit f0b94e
  void passNullableExternalInterfaceRecord(record<DOMString, TestExternalInterface?> arg);
Packit f0b94e
  void passStringRecord(record<DOMString, DOMString> arg);
Packit f0b94e
  void passByteStringRecord(record<DOMString, ByteString> arg);
Packit f0b94e
  void passRecordOfRecords(record<DOMString, record<DOMString, long>> arg);
Packit f0b94e
  record<DOMString, long> receiveRecord();
Packit f0b94e
  record<DOMString, long>? receiveNullableRecord();
Packit f0b94e
  record<DOMString, long?> receiveRecordOfNullableInts();
Packit f0b94e
  record<DOMString, long?>? receiveNullableRecordOfNullableInts();
Packit f0b94e
  //XXXbz No support for record of records return values yet.
Packit f0b94e
  //record<DOMString, record<DOMString, long>> receiveRecordOfRecords();
Packit f0b94e
  record<DOMString, any> receiveAnyRecord();
Packit f0b94e
Packit f0b94e
  // Typed array types
Packit f0b94e
  void passArrayBuffer(ArrayBuffer arg);
Packit f0b94e
  void passNullableArrayBuffer(ArrayBuffer? arg);
Packit f0b94e
  void passOptionalArrayBuffer(optional ArrayBuffer arg);
Packit f0b94e
  void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
Packit f0b94e
  void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
Packit f0b94e
  void passArrayBufferView(ArrayBufferView arg);
Packit f0b94e
  void passInt8Array(Int8Array arg);
Packit f0b94e
  void passInt16Array(Int16Array arg);
Packit f0b94e
  void passInt32Array(Int32Array arg);
Packit f0b94e
  void passUint8Array(Uint8Array arg);
Packit f0b94e
  void passUint16Array(Uint16Array arg);
Packit f0b94e
  void passUint32Array(Uint32Array arg);
Packit f0b94e
  void passUint8ClampedArray(Uint8ClampedArray arg);
Packit f0b94e
  void passFloat32Array(Float32Array arg);
Packit f0b94e
  void passFloat64Array(Float64Array arg);
Packit f0b94e
  void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
Packit f0b94e
  void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
Packit f0b94e
  void passRecordOfArrayBuffers(record<DOMString, ArrayBuffer> arg);
Packit f0b94e
  void passRecordOfNullableArrayBuffers(record<DOMString, ArrayBuffer?> arg);
Packit f0b94e
  void passVariadicTypedArray(Float32Array... arg);
Packit f0b94e
  void passVariadicNullableTypedArray(Float32Array?... arg);
Packit f0b94e
  Uint8Array receiveUint8Array();
Packit f0b94e
  attribute Uint8Array uint8ArrayAttr;
Packit f0b94e
Packit f0b94e
  // DOMString types
Packit f0b94e
  void passString(DOMString arg);
Packit f0b94e
  void passNullableString(DOMString? arg);
Packit f0b94e
  void passOptionalString(optional DOMString arg);
Packit f0b94e
  void passOptionalStringWithDefaultValue(optional DOMString arg = "abc");
Packit f0b94e
  void passOptionalNullableString(optional DOMString? arg);
Packit f0b94e
  void passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null);
Packit f0b94e
  void passVariadicString(DOMString... arg);
Packit f0b94e
Packit f0b94e
  // ByteString types
Packit f0b94e
  void passByteString(ByteString arg);
Packit f0b94e
  void passNullableByteString(ByteString? arg);
Packit f0b94e
  void passOptionalByteString(optional ByteString arg);
Packit f0b94e
  void passOptionalByteStringWithDefaultValue(optional ByteString arg = "abc");
Packit f0b94e
  void passOptionalNullableByteString(optional ByteString? arg);
Packit f0b94e
  void passOptionalNullableByteStringWithDefaultValue(optional ByteString? arg = null);
Packit f0b94e
  void passVariadicByteString(ByteString... arg);
Packit f0b94e
  void passUnionByteString((ByteString or long) arg);
Packit f0b94e
  void passOptionalUnionByteString(optional (ByteString or long) arg);
Packit f0b94e
  void passOptionalUnionByteStringWithDefaultValue(optional (ByteString or long) arg = "abc");
Packit f0b94e
Packit f0b94e
  // USVString types
Packit f0b94e
  void passSVS(USVString arg);
Packit f0b94e
  void passNullableSVS(USVString? arg);
Packit f0b94e
  void passOptionalSVS(optional USVString arg);
Packit f0b94e
  void passOptionalSVSWithDefaultValue(optional USVString arg = "abc");
Packit f0b94e
  void passOptionalNullableSVS(optional USVString? arg);
Packit f0b94e
  void passOptionalNullableSVSWithDefaultValue(optional USVString? arg = null);
Packit f0b94e
  void passVariadicSVS(USVString... arg);
Packit f0b94e
  USVString receiveSVS();
Packit f0b94e
Packit f0b94e
  // Enumerated types
Packit f0b94e
  void passEnum(TestEnum arg);
Packit f0b94e
  void passNullableEnum(TestEnum? arg);
Packit f0b94e
  void passOptionalEnum(optional TestEnum arg);
Packit f0b94e
  void passEnumWithDefault(optional TestEnum arg = "a");
Packit f0b94e
  void passOptionalNullableEnum(optional TestEnum? arg);
Packit f0b94e
  void passOptionalNullableEnumWithDefaultValue(optional TestEnum? arg = null);
Packit f0b94e
  void passOptionalNullableEnumWithDefaultValue2(optional TestEnum? arg = "a");
Packit f0b94e
  TestEnum receiveEnum();
Packit f0b94e
  TestEnum? receiveNullableEnum();
Packit f0b94e
  attribute TestEnum enumAttribute;
Packit f0b94e
  readonly attribute TestEnum readonlyEnumAttribute;
Packit f0b94e
Packit f0b94e
  // Callback types
Packit f0b94e
  void passCallback(TestCallback arg);
Packit f0b94e
  void passNullableCallback(TestCallback? arg);
Packit f0b94e
  void passOptionalCallback(optional TestCallback arg);
Packit f0b94e
  void passOptionalNullableCallback(optional TestCallback? arg);
Packit f0b94e
  void passOptionalNullableCallbackWithDefaultValue(optional TestCallback? arg = null);
Packit f0b94e
  TestCallback receiveCallback();
Packit f0b94e
  TestCallback? receiveNullableCallback();
Packit f0b94e
  void passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg);
Packit f0b94e
  void passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg);
Packit f0b94e
  void passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null);
Packit f0b94e
Packit f0b94e
  // Any types
Packit f0b94e
  void passAny(any arg);
Packit f0b94e
  void passVariadicAny(any... arg);
Packit f0b94e
  void passOptionalAny(optional any arg);
Packit f0b94e
  void passAnyDefaultNull(optional any arg = null);
Packit f0b94e
  void passSequenceOfAny(sequence<any> arg);
Packit f0b94e
  void passNullableSequenceOfAny(sequence<any>? arg);
Packit f0b94e
  void passOptionalSequenceOfAny(optional sequence<any> arg);
Packit f0b94e
  void passOptionalNullableSequenceOfAny(optional sequence<any>? arg);
Packit f0b94e
  void passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null);
Packit f0b94e
  void passSequenceOfSequenceOfAny(sequence<sequence<any>> arg);
Packit f0b94e
  void passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg);
Packit f0b94e
  void passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg);
Packit f0b94e
  void passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg);
Packit f0b94e
  void passRecordOfAny(record<DOMString, any> arg);
Packit f0b94e
  void passNullableRecordOfAny(record<DOMString, any>? arg);
Packit f0b94e
  void passOptionalRecordOfAny(optional record<DOMString, any> arg);
Packit f0b94e
  void passOptionalNullableRecordOfAny(optional record<DOMString, any>? arg);
Packit f0b94e
  void passOptionalRecordOfAnyWithDefaultValue(optional record<DOMString, any>? arg = null);
Packit f0b94e
  void passRecordOfRecordOfAny(record<DOMString, record<DOMString, any>> arg);
Packit f0b94e
  void passRecordOfNullableRecordOfAny(record<DOMString, record<DOMString, any>?> arg);
Packit f0b94e
  void passNullableRecordOfNullableRecordOfAny(record<DOMString, record<DOMString, any>?>? arg);
Packit f0b94e
  void passOptionalNullableRecordOfNullableRecordOfAny(optional record<DOMString, record<DOMString, any>?>? arg);
Packit f0b94e
  void passOptionalNullableRecordOfNullableSequenceOfAny(optional record<DOMString, sequence<any>?>? arg);
Packit f0b94e
  void passOptionalNullableSequenceOfNullableRecordOfAny(optional sequence<record<DOMString, any>?>? arg);
Packit f0b94e
  any receiveAny();
Packit f0b94e
Packit f0b94e
  // object types
Packit f0b94e
  void passObject(object arg);
Packit f0b94e
  void passVariadicObject(object... arg);
Packit f0b94e
  void passNullableObject(object? arg);
Packit f0b94e
  void passVariadicNullableObject(object... arg);
Packit f0b94e
  void passOptionalObject(optional object arg);
Packit f0b94e
  void passOptionalNullableObject(optional object? arg);
Packit f0b94e
  void passOptionalNullableObjectWithDefaultValue(optional object? arg = null);
Packit f0b94e
  void passSequenceOfObject(sequence<object> arg);
Packit f0b94e
  void passSequenceOfNullableObject(sequence<object?> arg);
Packit f0b94e
  void passNullableSequenceOfObject(sequence<object>? arg);
Packit f0b94e
  void passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg);
Packit f0b94e
  void passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg);
Packit f0b94e
  void passRecordOfObject(record<DOMString, object> arg);
Packit f0b94e
  object receiveObject();
Packit f0b94e
  object? receiveNullableObject();
Packit f0b94e
Packit f0b94e
  // Union types
Packit f0b94e
  void passUnion((object or long) arg);
Packit f0b94e
  // Some union tests are debug-only to avoid creating all those
Packit f0b94e
  // unused union types in opt builds.
Packit f0b94e
Packit f0b94e
#ifdef DEBUG
Packit f0b94e
  void passUnion2((long or boolean) arg);
Packit f0b94e
  void passUnion3((object or long or boolean) arg);
Packit f0b94e
  void passUnion4((Node or long or boolean) arg);
Packit f0b94e
  void passUnion5((object or boolean) arg);
Packit f0b94e
  void passUnion6((object or DOMString) arg);
Packit f0b94e
  void passUnion7((object or DOMString or long) arg);
Packit f0b94e
  void passUnion8((object or DOMString or boolean) arg);
Packit f0b94e
  void passUnion9((object or DOMString or long or boolean) arg);
Packit f0b94e
  void passUnion10(optional (EventInit or long) arg);
Packit f0b94e
  void passUnion11(optional (CustomEventInit or long) arg);
Packit f0b94e
  void passUnion12(optional (EventInit or long) arg = 5);
Packit f0b94e
  void passUnion13(optional (object or long?) arg = null);
Packit f0b94e
  void passUnion14(optional (object or long?) arg = 5);
Packit f0b94e
  void passUnion15((sequence<long> or long) arg);
Packit f0b94e
  void passUnion16(optional (sequence<long> or long) arg);
Packit f0b94e
  void passUnion17(optional (sequence<long>? or long) arg = 5);
Packit f0b94e
  void passUnion18((sequence<object> or long) arg);
Packit f0b94e
  void passUnion19(optional (sequence<object> or long) arg);
Packit f0b94e
  void passUnion20(optional (sequence<object> or long) arg = []);
Packit f0b94e
  void passUnion21((record<DOMString, long> or long) arg);
Packit f0b94e
  void passUnion22((record<DOMString, object> or long) arg);
Packit f0b94e
  void passUnion23((sequence<ImageData> or long) arg);
Packit f0b94e
  void passUnion24((sequence<ImageData?> or long) arg);
Packit f0b94e
  void passUnion25((sequence<sequence<ImageData>> or long) arg);
Packit f0b94e
  void passUnion26((sequence<sequence<ImageData?>> or long) arg);
Packit f0b94e
  void passUnion27(optional (sequence<DOMString> or EventInit) arg);
Packit f0b94e
  void passUnion28(optional (EventInit or sequence<DOMString>) arg);
Packit f0b94e
  void passUnionWithCallback((EventHandler or long) arg);
Packit f0b94e
  void passUnionWithByteString((ByteString or long) arg);
Packit f0b94e
  void passUnionWithRecord((record<DOMString, DOMString> or DOMString) arg);
Packit f0b94e
  void passUnionWithRecordAndSequence((record<DOMString, DOMString> or sequence<DOMString>) arg);
Packit f0b94e
  void passUnionWithSequenceAndRecord((sequence<DOMString> or record<DOMString, DOMString>) arg);
Packit f0b94e
  void passUnionWithSVS((USVString or long) arg);
Packit f0b94e
#endif
Packit f0b94e
  void passUnionWithNullable((object? or long) arg);
Packit f0b94e
  void passNullableUnion((object or long)? arg);
Packit f0b94e
  void passOptionalUnion(optional (object or long) arg);
Packit f0b94e
  void passOptionalNullableUnion(optional (object or long)? arg);
Packit f0b94e
  void passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null);
Packit f0b94e
  //void passUnionWithInterfaces((TestInterface or TestExternalInterface) arg);
Packit f0b94e
  //void passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg);
Packit f0b94e
  //void passUnionWithSequence((sequence<object> or long) arg);
Packit f0b94e
  void passUnionWithArrayBuffer((ArrayBuffer or long) arg);
Packit f0b94e
  void passUnionWithString((DOMString or object) arg);
Packit f0b94e
  // Using an enum in a union.  Note that we use some enum not declared in our
Packit f0b94e
  // binding file, because UnionTypes.h will need to include the binding header
Packit f0b94e
  // for this enum.  Pick an enum from an interface that won't drag in too much
Packit f0b94e
  // stuff.
Packit f0b94e
  void passUnionWithEnum((SupportedType or object) arg);
Packit f0b94e
Packit f0b94e
  // Trying to use a callback in a union won't include the test
Packit f0b94e
  // headers, unfortunately, so won't compile.
Packit f0b94e
  //  void passUnionWithCallback((TestCallback or long) arg);
Packit f0b94e
  void passUnionWithObject((object or long) arg);
Packit f0b94e
  //void passUnionWithDict((Dict or long) arg);
Packit f0b94e
Packit f0b94e
  void passUnionWithDefaultValue1(optional (double or DOMString) arg = "");
Packit f0b94e
  void passUnionWithDefaultValue2(optional (double or DOMString) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5);
Packit f0b94e
  void passUnionWithDefaultValue4(optional (float or DOMString) arg = "");
Packit f0b94e
  void passUnionWithDefaultValue5(optional (float or DOMString) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5);
Packit f0b94e
  void passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = "");
Packit f0b94e
  void passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5);
Packit f0b94e
  void passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity);
Packit f0b94e
  void passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = "");
Packit f0b94e
  void passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity);
Packit f0b94e
  void passUnionWithDefaultValue14(optional (double or ByteString) arg = "");
Packit f0b94e
  void passUnionWithDefaultValue15(optional (double or ByteString) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue16(optional (double or ByteString) arg = 1.5);
Packit f0b94e
  void passUnionWithDefaultValue17(optional (double or SupportedType) arg = "text/html");
Packit f0b94e
  void passUnionWithDefaultValue18(optional (double or SupportedType) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue19(optional (double or SupportedType) arg = 1.5);
Packit f0b94e
  void passUnionWithDefaultValue20(optional (double or USVString) arg = "abc");
Packit f0b94e
  void passUnionWithDefaultValue21(optional (double or USVString) arg = 1);
Packit f0b94e
  void passUnionWithDefaultValue22(optional (double or USVString) arg = 1.5);
Packit f0b94e
Packit f0b94e
  void passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = "");
Packit f0b94e
  void passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null);
Packit f0b94e
  void passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = "");
Packit f0b94e
  void passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null);
Packit f0b94e
  void passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = "");
Packit f0b94e
  void passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null);
Packit f0b94e
  void passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = "");
Packit f0b94e
  void passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null);
Packit f0b94e
  void passNullableUnionWithDefaultValue13(optional (double or ByteString)? arg = "");
Packit f0b94e
  void passNullableUnionWithDefaultValue14(optional (double or ByteString)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue15(optional (double or ByteString)? arg = 1.5);
Packit f0b94e
  void passNullableUnionWithDefaultValue16(optional (double or ByteString)? arg = null);
Packit f0b94e
  void passNullableUnionWithDefaultValue17(optional (double or SupportedType)? arg = "text/html");
Packit f0b94e
  void passNullableUnionWithDefaultValue18(optional (double or SupportedType)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue19(optional (double or SupportedType)? arg = 1.5);
Packit f0b94e
  void passNullableUnionWithDefaultValue20(optional (double or SupportedType)? arg = null);
Packit f0b94e
  void passNullableUnionWithDefaultValue21(optional (double or USVString)? arg = "abc");
Packit f0b94e
  void passNullableUnionWithDefaultValue22(optional (double or USVString)? arg = 1);
Packit f0b94e
  void passNullableUnionWithDefaultValue23(optional (double or USVString)? arg = 1.5);
Packit f0b94e
  void passNullableUnionWithDefaultValue24(optional (double or USVString)? arg = null);
Packit f0b94e
Packit f0b94e
  void passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg);
Packit f0b94e
  void passSequenceOfUnions2(sequence<(object or long)> arg);
Packit f0b94e
  void passVariadicUnion((CanvasPattern or CanvasGradient)... arg);
Packit f0b94e
Packit f0b94e
  void passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg);
Packit f0b94e
  void passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg);
Packit f0b94e
  void passRecordOfUnions(record<DOMString, (CanvasPattern or CanvasGradient)> arg);
Packit f0b94e
  // XXXbz no move constructor on some unions
Packit f0b94e
  // void passRecordOfUnions2(record<DOMString, (object or long)> arg);
Packit f0b94e
Packit f0b94e
  (CanvasPattern or CanvasGradient) receiveUnion();
Packit f0b94e
  (object or long) receiveUnion2();
Packit f0b94e
  (CanvasPattern? or CanvasGradient) receiveUnionContainingNull();
Packit f0b94e
  (CanvasPattern or CanvasGradient)? receiveNullableUnion();
Packit f0b94e
  (object or long)? receiveNullableUnion2();
Packit f0b94e
Packit f0b94e
  attribute (CanvasPattern or CanvasGradient) writableUnion;
Packit f0b94e
  attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull;
Packit f0b94e
  attribute (CanvasPattern or CanvasGradient)? writableNullableUnion;
Packit f0b94e
Packit f0b94e
  // Date types
Packit f0b94e
  void passDate(Date arg);
Packit f0b94e
  void passNullableDate(Date? arg);
Packit f0b94e
  void passOptionalDate(optional Date arg);
Packit f0b94e
  void passOptionalNullableDate(optional Date? arg);
Packit f0b94e
  void passOptionalNullableDateWithDefaultValue(optional Date? arg = null);
Packit f0b94e
  void passDateSequence(sequence<Date> arg);
Packit f0b94e
  void passNullableDateSequence(sequence<Date?> arg);
Packit f0b94e
  void passDateRecord(record<DOMString, Date> arg);
Packit f0b94e
  Date receiveDate();
Packit f0b94e
  Date? receiveNullableDate();
Packit f0b94e
Packit f0b94e
  // Promise types
Packit f0b94e
  void passPromise(Promise<any> arg);
Packit f0b94e
  void passOptionalPromise(optional Promise<any> arg);
Packit f0b94e
  void passPromiseSequence(sequence<Promise<any>> arg);
Packit f0b94e
  Promise<any> receivePromise();
Packit f0b94e
  Promise<any> receiveAddrefedPromise();
Packit f0b94e
Packit f0b94e
  // binaryNames tests
Packit f0b94e
  void methodRenamedFrom();
Packit f0b94e
  [BinaryName="otherMethodRenamedTo"]
Packit f0b94e
  void otherMethodRenamedFrom();
Packit f0b94e
  void methodRenamedFrom(byte argument);
Packit f0b94e
  readonly attribute byte attributeGetterRenamedFrom;
Packit f0b94e
  attribute byte attributeRenamedFrom;
Packit f0b94e
  [BinaryName="otherAttributeRenamedTo"]
Packit f0b94e
  attribute byte otherAttributeRenamedFrom;
Packit f0b94e
Packit f0b94e
  void passDictionary(optional Dict x);
Packit f0b94e
  void passDictionary2(Dict x);
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute Dict readonlyDictionary;
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  readonly attribute Dict? readonlyNullableDictionary;
Packit f0b94e
  [Cached, Pure]
Packit f0b94e
  attribute Dict writableDictionary;
Packit f0b94e
  [Cached, Pure, Frozen]
Packit f0b94e
  readonly attribute Dict readonlyFrozenDictionary;
Packit f0b94e
  [Cached, Pure, Frozen]
Packit f0b94e
  readonly attribute Dict? readonlyFrozenNullableDictionary;
Packit f0b94e
  [Cached, Pure, Frozen]
Packit f0b94e
  attribute Dict writableFrozenDictionary;
Packit f0b94e
  Dict receiveDictionary();
Packit f0b94e
  Dict? receiveNullableDictionary();
Packit f0b94e
  void passOtherDictionary(optional GrandparentDict x);
Packit f0b94e
  void passSequenceOfDictionaries(sequence<Dict> x);
Packit f0b94e
  void passRecordOfDictionaries(record<DOMString, GrandparentDict> x);
Packit f0b94e
  // No support for nullable dictionaries inside a sequence (nor should there be)
Packit f0b94e
  //  void passSequenceOfNullableDictionaries(sequence<Dict?> x);
Packit f0b94e
  void passDictionaryOrLong(optional Dict x);
Packit f0b94e
  void passDictionaryOrLong(long x);
Packit f0b94e
Packit f0b94e
  void passDictContainingDict(optional DictContainingDict arg);
Packit f0b94e
  void passDictContainingSequence(optional DictContainingSequence arg);
Packit f0b94e
  DictContainingSequence receiveDictContainingSequence();
Packit f0b94e
  void passVariadicDictionary(Dict... arg);
Packit f0b94e
Packit f0b94e
  // EnforceRange/Clamp tests
Packit f0b94e
  void dontEnforceRangeOrClamp(byte arg);
Packit f0b94e
  void doEnforceRange([EnforceRange] byte arg);
Packit f0b94e
  void doClamp([Clamp] byte arg);
Packit f0b94e
  [EnforceRange] attribute byte enforcedByte;
Packit f0b94e
  [Clamp] attribute byte clampedByte;
Packit f0b94e
Packit f0b94e
  // Typedefs
Packit f0b94e
  const myLong myLongConstant = 5;
Packit f0b94e
  void exerciseTypedefInterfaces1(AnotherNameForTestInterface arg);
Packit f0b94e
  AnotherNameForTestInterface exerciseTypedefInterfaces2(NullableTestInterface arg);
Packit f0b94e
  void exerciseTypedefInterfaces3(YetAnotherNameForTestInterface arg);
Packit f0b94e
Packit f0b94e
  // Deprecated methods and attributes
Packit f0b94e
  [Deprecated="EnablePrivilege"]
Packit f0b94e
  attribute boolean deprecatedAttribute;
Packit f0b94e
  [Deprecated="EnablePrivilege"]
Packit f0b94e
  void deprecatedMethod(boolean arg);
Packit f0b94e
  [Deprecated="EnablePrivilege"]
Packit f0b94e
  void deprecatedMethodWithContext(any arg);
Packit f0b94e
Packit f0b94e
  // Static methods and attributes
Packit f0b94e
  static attribute boolean staticAttribute;
Packit f0b94e
  static void staticMethod(boolean arg);
Packit f0b94e
  static void staticMethodWithContext(any arg);
Packit f0b94e
Packit f0b94e
  // Deprecated methods and attributes;
Packit f0b94e
  [Deprecated="EnablePrivilege"]
Packit f0b94e
  static attribute boolean staticDeprecatedAttribute;
Packit f0b94e
  [Deprecated="EnablePrivilege"]
Packit f0b94e
  static void staticDeprecatedMethod(boolean arg);
Packit f0b94e
  [Deprecated="EnablePrivilege"]
Packit f0b94e
  static void staticDeprecatedMethodWithContext(any arg);
Packit f0b94e
Packit f0b94e
  // Overload resolution tests
Packit f0b94e
  //void overload1(DOMString... strs);
Packit f0b94e
  boolean overload1(TestInterface arg);
Packit f0b94e
  TestInterface overload1(DOMString strs, TestInterface arg);
Packit f0b94e
  void overload2(TestInterface arg);
Packit f0b94e
  void overload2(optional Dict arg);
Packit f0b94e
  void overload2(boolean arg);
Packit f0b94e
  void overload2(DOMString arg);
Packit f0b94e
  void overload2(Date arg);
Packit f0b94e
  void overload3(TestInterface arg);
Packit f0b94e
  void overload3(TestCallback arg);
Packit f0b94e
  void overload3(boolean arg);
Packit f0b94e
  void overload4(TestInterface arg);
Packit f0b94e
  void overload4(TestCallbackInterface arg);
Packit f0b94e
  void overload4(DOMString arg);
Packit f0b94e
  void overload5(long arg);
Packit f0b94e
  void overload5(TestEnum arg);
Packit f0b94e
  void overload6(long arg);
Packit f0b94e
  void overload6(boolean arg);
Packit f0b94e
  void overload7(long arg);
Packit f0b94e
  void overload7(boolean arg);
Packit f0b94e
  void overload7(ByteString arg);
Packit f0b94e
  void overload8(long arg);
Packit f0b94e
  void overload8(TestInterface arg);
Packit f0b94e
  void overload9(long? arg);
Packit f0b94e
  void overload9(DOMString arg);
Packit f0b94e
  void overload10(long? arg);
Packit f0b94e
  void overload10(object arg);
Packit f0b94e
  void overload11(long arg);
Packit f0b94e
  void overload11(DOMString? arg);
Packit f0b94e
  void overload12(long arg);
Packit f0b94e
  void overload12(boolean? arg);
Packit f0b94e
  void overload13(long? arg);
Packit f0b94e
  void overload13(boolean arg);
Packit f0b94e
  void overload14(optional long arg);
Packit f0b94e
  void overload14(TestInterface arg);
Packit f0b94e
  void overload15(long arg);
Packit f0b94e
  void overload15(optional TestInterface arg);
Packit f0b94e
  void overload16(long arg);
Packit f0b94e
  void overload16(optional TestInterface? arg);
Packit f0b94e
  void overload17(sequence<long> arg);
Packit f0b94e
  void overload17(record<DOMString, long> arg);
Packit f0b94e
  void overload18(record<DOMString, DOMString> arg);
Packit f0b94e
  void overload18(sequence<DOMString> arg);
Packit f0b94e
  void overload19(sequence<long> arg);
Packit f0b94e
  void overload19(optional Dict arg);
Packit f0b94e
  void overload20(optional Dict arg);
Packit f0b94e
  void overload20(sequence<long> arg);
Packit f0b94e
Packit f0b94e
  // Variadic handling
Packit f0b94e
  void passVariadicThirdArg(DOMString arg1, long arg2, TestInterface... arg3);
Packit f0b94e
Packit f0b94e
  // Conditionally exposed methods/attributes
Packit f0b94e
  [Pref="abc.def"]
Packit f0b94e
  readonly attribute boolean prefable1;
Packit f0b94e
  [Pref="abc.def"]
Packit f0b94e
  readonly attribute boolean prefable2;
Packit f0b94e
  [Pref="ghi.jkl"]
Packit f0b94e
  readonly attribute boolean prefable3;
Packit f0b94e
  [Pref="ghi.jkl"]
Packit f0b94e
  readonly attribute boolean prefable4;
Packit f0b94e
  [Pref="abc.def"]
Packit f0b94e
  readonly attribute boolean prefable5;
Packit f0b94e
  [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  readonly attribute boolean prefable6;
Packit f0b94e
  [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  readonly attribute boolean prefable7;
Packit f0b94e
  [Pref="ghi.jkl", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  readonly attribute boolean prefable8;
Packit f0b94e
  [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  readonly attribute boolean prefable9;
Packit f0b94e
  [Pref="abc.def"]
Packit f0b94e
  void prefable10();
Packit f0b94e
  [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  void prefable11();
Packit f0b94e
  [Pref="abc.def", Func="TestFuncControlledMember"]
Packit f0b94e
  readonly attribute boolean prefable12;
Packit f0b94e
  [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  void prefable13();
Packit f0b94e
  [Pref="abc.def", Func="TestFuncControlledMember"]
Packit f0b94e
  readonly attribute boolean prefable14;
Packit f0b94e
  [Func="TestFuncControlledMember"]
Packit f0b94e
  readonly attribute boolean prefable15;
Packit f0b94e
  [Func="TestFuncControlledMember"]
Packit f0b94e
  readonly attribute boolean prefable16;
Packit f0b94e
  [Pref="abc.def", Func="TestFuncControlledMember"]
Packit f0b94e
  void prefable17();
Packit f0b94e
  [Func="TestFuncControlledMember"]
Packit f0b94e
  void prefable18();
Packit f0b94e
  [Func="TestFuncControlledMember"]
Packit f0b94e
  void prefable19();
Packit f0b94e
Packit f0b94e
  // Conditionally exposed methods/attributes involving [SecureContext]
Packit f0b94e
  [SecureContext]
Packit f0b94e
  readonly attribute boolean conditionalOnSecureContext1;
Packit f0b94e
  [SecureContext, Pref="abc.def"]
Packit f0b94e
  readonly attribute boolean conditionalOnSecureContext2;
Packit f0b94e
  [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  readonly attribute boolean conditionalOnSecureContext3;
Packit f0b94e
  [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
Packit f0b94e
  readonly attribute boolean conditionalOnSecureContext4;
Packit f0b94e
  [SecureContext]
Packit f0b94e
  void conditionalOnSecureContext5();
Packit f0b94e
  [SecureContext, Pref="abc.def"]
Packit f0b94e
  void conditionalOnSecureContext6();
Packit f0b94e
  [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
Packit f0b94e
  void conditionalOnSecureContext7();
Packit f0b94e
  [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
Packit f0b94e
  void conditionalOnSecureContext8();
Packit f0b94e
Packit f0b94e
  // Miscellania
Packit f0b94e
  [LenientThis] attribute long attrWithLenientThis;
Packit f0b94e
  [Unforgeable] readonly attribute long unforgeableAttr;
Packit f0b94e
  [Unforgeable, ChromeOnly] readonly attribute long unforgeableAttr2;
Packit f0b94e
  [Unforgeable] long unforgeableMethod();
Packit f0b94e
  [Unforgeable, ChromeOnly] long unforgeableMethod2();
Packit f0b94e
  stringifier;
Packit f0b94e
  void passRenamedInterface(TestRenamedInterface arg);
Packit f0b94e
  [PutForwards=writableByte] readonly attribute TestExampleInterface putForwardsAttr;
Packit f0b94e
  [PutForwards=writableByte, LenientThis] readonly attribute TestExampleInterface putForwardsAttr2;
Packit f0b94e
  [PutForwards=writableByte, ChromeOnly] readonly attribute TestExampleInterface putForwardsAttr3;
Packit f0b94e
  [Throws] void throwingMethod();
Packit f0b94e
  [Throws] attribute boolean throwingAttr;
Packit f0b94e
  [GetterThrows] attribute boolean throwingGetterAttr;
Packit f0b94e
  [SetterThrows] attribute boolean throwingSetterAttr;
Packit f0b94e
  [CanOOM] void canOOMMethod();
Packit f0b94e
  [CanOOM] attribute boolean canOOMAttr;
Packit f0b94e
  [GetterCanOOM] attribute boolean canOOMGetterAttr;
Packit f0b94e
  [SetterCanOOM] attribute boolean canOOMSetterAttr;
Packit f0b94e
  [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
Packit f0b94e
  [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
Packit f0b94e
  [NeedsSubjectPrincipal=NonSystem] void needsNonSystemSubjectPrincipalMethod();
Packit f0b94e
  [NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr;
Packit f0b94e
  [NeedsCallerType] void needsCallerTypeMethod();
Packit f0b94e
  [NeedsCallerType] attribute boolean needsCallerTypeAttr;
Packit f0b94e
  [CEReactions] void ceReactionsMethod();
Packit f0b94e
  [CEReactions] void ceReactionsMethodOverload();
Packit f0b94e
  [CEReactions] void ceReactionsMethodOverload(DOMString bar);
Packit f0b94e
  [CEReactions] attribute boolean ceReactionsAttr;
Packit f0b94e
  legacycaller short(unsigned long arg1, TestInterface arg2);
Packit f0b94e
  void passArgsWithDefaults(optional long arg1,
Packit f0b94e
                            optional TestInterface? arg2 = null,
Packit f0b94e
                            optional Dict arg3, optional double arg4 = 5.0,
Packit f0b94e
                            optional float arg5);
Packit f0b94e
  attribute any jsonifierShouldSkipThis;
Packit f0b94e
  attribute TestParentInterface jsonifierShouldSkipThis2;
Packit f0b94e
  attribute TestCallbackInterface jsonifierShouldSkipThis3;
Packit f0b94e
  jsonifier;
Packit f0b94e
Packit f0b94e
  attribute byte dashed-attribute;
Packit f0b94e
  void dashed-method();
Packit f0b94e
Packit f0b94e
  // [NonEnumerable] tests
Packit f0b94e
  [NonEnumerable]
Packit f0b94e
  attribute boolean nonEnumerableAttr;
Packit f0b94e
  [NonEnumerable]
Packit f0b94e
  const boolean nonEnumerableConst = true;
Packit f0b94e
  [NonEnumerable]
Packit f0b94e
  void nonEnumerableMethod();
Packit f0b94e
Packit f0b94e
  // [NeedsWindowsUndef] test generation
Packit f0b94e
  [NeedsWindowsUndef]
Packit f0b94e
  const unsigned long NO_ERROR = 0xffffffff;
Packit f0b94e
Packit f0b94e
  // If you add things here, add them to TestCodeGen and TestJSImplGen as well
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
interface TestExampleProxyInterface {
Packit f0b94e
  getter long longIndexedGetter(unsigned long ix);
Packit f0b94e
  setter void longIndexedSetter(unsigned long y, long z);
Packit f0b94e
  readonly attribute unsigned long length;
Packit f0b94e
  stringifier DOMString myStringifier();
Packit f0b94e
  getter short shortNameGetter(DOMString nom);
Packit f0b94e
  deleter void (DOMString nomnom);
Packit f0b94e
  setter void shortNamedSetter(DOMString me, short value);
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
[Exposed=(Window,Worker)]
Packit f0b94e
interface TestExampleWorkerInterface {
Packit f0b94e
  [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
Packit f0b94e
  [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
Packit f0b94e
  [NeedsCallerType] void needsCallerTypeMethod();
Packit f0b94e
  [NeedsCallerType] attribute boolean needsCallerTypeAttr;
Packit f0b94e
  [NeedsSubjectPrincipal=NonSystem] void needsNonSystemSubjectPrincipalMethod();
Packit f0b94e
  [NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr;
Packit f0b94e
};