dom/bindings/test/TestCodeGen.webidl

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     4  * You can obtain one at http://mozilla.org/MPL/2.0/.
     5  */
     7 typedef long myLong;
     8 typedef TestInterface AnotherNameForTestInterface;
     9 typedef TestInterface? NullableTestInterface;
    11 interface TestExternalInterface;
    13 [AvailableIn=PrivilegedApps, Pref="xyz"]
    14 interface TestRenamedInterface {
    15 };
    17 callback interface TestCallbackInterface {
    18   readonly attribute long foo;
    19   attribute DOMString bar;
    20   void doSomething();
    21   long doSomethingElse(DOMString arg, TestInterface otherArg);
    22   void doSequenceLongArg(sequence<long> arg);
    23   void doSequenceStringArg(sequence<DOMString> arg);
    24   void doMozMapLongArg(MozMap<long> arg);
    25   sequence<long> getSequenceOfLong();
    26   sequence<TestInterface> getSequenceOfInterfaces();
    27   sequence<TestInterface>? getNullableSequenceOfInterfaces();
    28   sequence<TestInterface?> getSequenceOfNullableInterfaces();
    29   sequence<TestInterface?>? getNullableSequenceOfNullableInterfaces();
    30   sequence<TestCallbackInterface> getSequenceOfCallbackInterfaces();
    31   sequence<TestCallbackInterface>? getNullableSequenceOfCallbackInterfaces();
    32   sequence<TestCallbackInterface?> getSequenceOfNullableCallbackInterfaces();
    33   sequence<TestCallbackInterface?>? getNullableSequenceOfNullableCallbackInterfaces();
    34   MozMap<long> getMozMapOfLong();
    35   Dict? getDictionary();
    36 };
    38 callback interface TestSingleOperationCallbackInterface {
    39   TestInterface doSomething(short arg, sequence<double> anotherArg);
    40 };
    42 enum TestEnum {
    43   "1",
    44   "a",
    45   "b"
    46 };
    48 callback TestCallback = void();
    49 [TreatNonCallableAsNull] callback TestTreatAsNullCallback = void();
    51 // Callback return value tests
    52 callback TestIntegerReturn = long();
    53 callback TestNullableIntegerReturn = long?();
    54 callback TestBooleanReturn = boolean();
    55 callback TestFloatReturn = float();
    56 callback TestStringReturn = DOMString(long arg);
    57 callback TestEnumReturn = TestEnum();
    58 callback TestInterfaceReturn = TestInterface();
    59 callback TestNullableInterfaceReturn = TestInterface?();
    60 callback TestExternalInterfaceReturn = TestExternalInterface();
    61 callback TestNullableExternalInterfaceReturn = TestExternalInterface?();
    62 callback TestCallbackInterfaceReturn = TestCallbackInterface();
    63 callback TestNullableCallbackInterfaceReturn = TestCallbackInterface?();
    64 callback TestCallbackReturn = TestCallback();
    65 callback TestNullableCallbackReturn = TestCallback?();
    66 callback TestObjectReturn = object();
    67 callback TestNullableObjectReturn = object?();
    68 callback TestTypedArrayReturn = ArrayBuffer();
    69 callback TestNullableTypedArrayReturn = ArrayBuffer?();
    70 callback TestSequenceReturn = sequence<boolean>();
    71 callback TestNullableSequenceReturn = sequence<boolean>?();
    72 // Callback argument tests
    73 callback TestIntegerArguments = sequence<long>(long arg1, long? arg2,
    74                                                sequence<long> arg3,
    75                                                sequence<long?>? arg4);
    76 callback TestInterfaceArguments = void(TestInterface arg1, TestInterface? arg2,
    77                                        TestExternalInterface arg3,
    78                                        TestExternalInterface? arg4,
    79                                        TestCallbackInterface arg5,
    80                                        TestCallbackInterface? arg6,
    81                                        sequence<TestInterface> arg7,
    82                                        sequence<TestInterface?>? arg8,
    83                                        sequence<TestExternalInterface> arg9,
    84                                        sequence<TestExternalInterface?>? arg10,
    85                                        sequence<TestCallbackInterface> arg11,
    86                                        sequence<TestCallbackInterface?>? arg12);
    87 callback TestStringEnumArguments = void(DOMString myString, DOMString? nullString,
    88                                         TestEnum myEnum);
    89 callback TestObjectArguments = void(object anObj, object? anotherObj,
    90                                     ArrayBuffer buf, ArrayBuffer? buf2);
    91 callback TestOptionalArguments = void(optional DOMString aString,
    92                                       optional object something,
    93                                       optional sequence<TestInterface> aSeq,
    94                                       optional TestInterface? anInterface,
    95                                       optional TestInterface anotherInterface,
    96                                       optional long aLong);
    98 TestInterface implements ImplementedInterface;
   100 // This interface is only for use in the constructor below
   101 interface OnlyForUseInConstructor {
   102 };
   104 [Constructor,
   105  Constructor(DOMString str),
   106  Constructor(unsigned long num, boolean? boolArg),
   107  Constructor(TestInterface? iface),
   108  Constructor(long arg1, IndirectlyImplementedInterface iface),
   109  Constructor(Date arg1),
   110  // Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),
   111  AvailableIn=CertifiedApps,
   112  NamedConstructor=Test,
   113  NamedConstructor=Test(DOMString str),
   114  NamedConstructor=Test2(DictForConstructor dict, any any1, object obj1,
   115                         object? obj2, sequence<Dict> seq, optional any any2,
   116                         optional object obj3, optional object? obj4)
   117  ]
   118 interface TestInterface {
   119   // Integer types
   120   // XXXbz add tests for throwing versions of all the integer stuff
   121   readonly attribute byte readonlyByte;
   122   attribute byte writableByte;
   123   void passByte(byte arg);
   124   byte receiveByte();
   125   void passOptionalByte(optional byte arg);
   126   void passOptionalByteBeforeRequired(optional byte arg1, byte arg2);
   127   void passOptionalByteWithDefault(optional byte arg = 0);
   128   void passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2);
   129   void passNullableByte(byte? arg);
   130   void passOptionalNullableByte(optional byte? arg);
   131   void passVariadicByte(byte... arg);
   132   [StoreInSlot, Pure]
   133   readonly attribute byte cachedByte;
   134   [StoreInSlot, Constant]
   135   readonly attribute byte cachedConstantByte;
   136   [StoreInSlot, Pure]
   137   attribute byte cachedWritableByte;
   139   readonly attribute short readonlyShort;
   140   attribute short writableShort;
   141   void passShort(short arg);
   142   short receiveShort();
   143   void passOptionalShort(optional short arg);
   144   void passOptionalShortWithDefault(optional short arg = 5);
   146   readonly attribute long readonlyLong;
   147   attribute long writableLong;
   148   void passLong(long arg);
   149   long receiveLong();
   150   void passOptionalLong(optional long arg);
   151   void passOptionalLongWithDefault(optional long arg = 7);
   153   readonly attribute long long readonlyLongLong;
   154   attribute long long writableLongLong;
   155   void passLongLong(long long arg);
   156   long long receiveLongLong();
   157   void passOptionalLongLong(optional long long arg);
   158   void passOptionalLongLongWithDefault(optional long long arg = -12);
   160   readonly attribute octet readonlyOctet;
   161   attribute octet writableOctet;
   162   void passOctet(octet arg);
   163   octet receiveOctet();
   164   void passOptionalOctet(optional octet arg);
   165   void passOptionalOctetWithDefault(optional octet arg = 19);
   167   readonly attribute unsigned short readonlyUnsignedShort;
   168   attribute unsigned short writableUnsignedShort;
   169   void passUnsignedShort(unsigned short arg);
   170   unsigned short receiveUnsignedShort();
   171   void passOptionalUnsignedShort(optional unsigned short arg);
   172   void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
   174   readonly attribute unsigned long readonlyUnsignedLong;
   175   attribute unsigned long writableUnsignedLong;
   176   void passUnsignedLong(unsigned long arg);
   177   unsigned long receiveUnsignedLong();
   178   void passOptionalUnsignedLong(optional unsigned long arg);
   179   void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
   181   readonly attribute unsigned long long readonlyUnsignedLongLong;
   182   attribute unsigned long long  writableUnsignedLongLong;
   183   void passUnsignedLongLong(unsigned long long arg);
   184   unsigned long long receiveUnsignedLongLong();
   185   void passOptionalUnsignedLongLong(optional unsigned long long arg);
   186   void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
   188   attribute float writableFloat;
   189   attribute unrestricted float writableUnrestrictedFloat;
   190   attribute float? writableNullableFloat;
   191   attribute unrestricted float? writableNullableUnrestrictedFloat;
   192   attribute double writableDouble;
   193   attribute unrestricted double writableUnrestrictedDouble;
   194   attribute double? writableNullableDouble;
   195   attribute unrestricted double? writableNullableUnrestrictedDouble;
   196   void passFloat(float arg1, unrestricted float arg2,
   197                  float? arg3, unrestricted float? arg4,
   198                  double arg5, unrestricted double arg6,
   199                  double? arg7, unrestricted double? arg8,
   200                  sequence<float> arg9, sequence<unrestricted float> arg10,
   201                  sequence<float?> arg11, sequence<unrestricted float?> arg12,
   202                  sequence<double> arg13, sequence<unrestricted double> arg14,
   203                  sequence<double?> arg15, sequence<unrestricted double?> arg16);
   204   [LenientFloat]
   205   void passLenientFloat(float arg1, unrestricted float arg2,
   206                         float? arg3, unrestricted float? arg4,
   207                         double arg5, unrestricted double arg6,
   208                         double? arg7, unrestricted double? arg8,
   209                         sequence<float> arg9,
   210                         sequence<unrestricted float> arg10,
   211                         sequence<float?> arg11,
   212                         sequence<unrestricted float?> arg12,
   213                         sequence<double> arg13,
   214                         sequence<unrestricted double> arg14,
   215                         sequence<double?> arg15,
   216                         sequence<unrestricted double?> arg16);
   217   [LenientFloat]
   218   attribute float lenientFloatAttr;
   219   [LenientFloat]
   220   attribute double lenientDoubleAttr;
   222   void passUnrestricted(optional unrestricted float arg1 = 0,
   223                         optional unrestricted float arg2 = Infinity,
   224                         optional unrestricted float arg3 = -Infinity,
   225                         optional unrestricted float arg4 = NaN,
   226                         optional unrestricted double arg5 = 0,
   227                         optional unrestricted double arg6 = Infinity,
   228                         optional unrestricted double arg7 = -Infinity,
   229                         optional unrestricted double arg8 = NaN);
   231   // Castable interface types
   232   // XXXbz add tests for throwing versions of all the castable interface stuff
   233   TestInterface receiveSelf();
   234   TestInterface? receiveNullableSelf();
   235   TestInterface receiveWeakSelf();
   236   TestInterface? receiveWeakNullableSelf();
   237   void passSelf(TestInterface arg);
   238   void passNullableSelf(TestInterface? arg);
   239   attribute TestInterface nonNullSelf;
   240   attribute TestInterface? nullableSelf;
   241   [Cached, Pure]
   242   readonly attribute TestInterface cachedSelf;
   243   // Optional arguments
   244   void passOptionalSelf(optional TestInterface? arg);
   245   void passOptionalNonNullSelf(optional TestInterface arg);
   246   void passOptionalSelfWithDefault(optional TestInterface? arg = null);
   248   // Non-wrapper-cache interface types
   249   [NewObject]
   250   TestNonWrapperCacheInterface receiveNonWrapperCacheInterface();
   251   [NewObject]
   252   TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface();
   253   [NewObject]
   254   sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence();
   255   [NewObject]
   256   sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence();
   257   [NewObject]
   258   sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence();
   259   [NewObject]
   260   sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence();
   262   // Non-castable interface types
   263   IndirectlyImplementedInterface receiveOther();
   264   IndirectlyImplementedInterface? receiveNullableOther();
   265   IndirectlyImplementedInterface receiveWeakOther();
   266   IndirectlyImplementedInterface? receiveWeakNullableOther();
   267   void passOther(IndirectlyImplementedInterface arg);
   268   void passNullableOther(IndirectlyImplementedInterface? arg);
   269   attribute IndirectlyImplementedInterface nonNullOther;
   270   attribute IndirectlyImplementedInterface? nullableOther;
   271   // Optional arguments
   272   void passOptionalOther(optional IndirectlyImplementedInterface? arg);
   273   void passOptionalNonNullOther(optional IndirectlyImplementedInterface arg);
   274   void passOptionalOtherWithDefault(optional IndirectlyImplementedInterface? arg = null);
   276   // External interface types
   277   TestExternalInterface receiveExternal();
   278   TestExternalInterface? receiveNullableExternal();
   279   TestExternalInterface receiveWeakExternal();
   280   TestExternalInterface? receiveWeakNullableExternal();
   281   void passExternal(TestExternalInterface arg);
   282   void passNullableExternal(TestExternalInterface? arg);
   283   attribute TestExternalInterface nonNullExternal;
   284   attribute TestExternalInterface? nullableExternal;
   285   // Optional arguments
   286   void passOptionalExternal(optional TestExternalInterface? arg);
   287   void passOptionalNonNullExternal(optional TestExternalInterface arg);
   288   void passOptionalExternalWithDefault(optional TestExternalInterface? arg = null);
   290   // Callback interface types
   291   TestCallbackInterface receiveCallbackInterface();
   292   TestCallbackInterface? receiveNullableCallbackInterface();
   293   TestCallbackInterface receiveWeakCallbackInterface();
   294   TestCallbackInterface? receiveWeakNullableCallbackInterface();
   295   void passCallbackInterface(TestCallbackInterface arg);
   296   void passNullableCallbackInterface(TestCallbackInterface? arg);
   297   attribute TestCallbackInterface nonNullCallbackInterface;
   298   attribute TestCallbackInterface? nullableCallbackInterface;
   299   // Optional arguments
   300   void passOptionalCallbackInterface(optional TestCallbackInterface? arg);
   301   void passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg);
   302   void passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null);
   304   // Miscellaneous interface tests
   305   IndirectlyImplementedInterface receiveConsequentialInterface();
   306   void passConsequentialInterface(IndirectlyImplementedInterface arg);
   308   // Sequence types
   309   [Cached, Pure]
   310   readonly attribute sequence<long> readonlySequence;
   311   [Cached, Pure]
   312   readonly attribute sequence<Dict> readonlySequenceOfDictionaries;
   313   [Cached, Pure]
   314   readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries;
   315   [Cached, Pure, Frozen]
   316   readonly attribute sequence<Dict> readonlyFrozenSequence;
   317   [Cached, Pure, Frozen]
   318   readonly attribute sequence<Dict>? readonlyFrozenNullableSequence;
   319   sequence<long> receiveSequence();
   320   sequence<long>? receiveNullableSequence();
   321   sequence<long?> receiveSequenceOfNullableInts();
   322   sequence<long?>? receiveNullableSequenceOfNullableInts();
   323   void passSequence(sequence<long> arg);
   324   void passNullableSequence(sequence<long>? arg);
   325   void passSequenceOfNullableInts(sequence<long?> arg);
   326   void passOptionalSequenceOfNullableInts(optional sequence<long?> arg);
   327   void passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg);
   328   sequence<TestInterface> receiveCastableObjectSequence();
   329   sequence<TestCallbackInterface> receiveCallbackObjectSequence();
   330   sequence<TestInterface?> receiveNullableCastableObjectSequence();
   331   sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence();
   332   sequence<TestInterface>? receiveCastableObjectNullableSequence();
   333   sequence<TestInterface?>? receiveNullableCastableObjectNullableSequence();
   334   sequence<TestInterface> receiveWeakCastableObjectSequence();
   335   sequence<TestInterface?> receiveWeakNullableCastableObjectSequence();
   336   sequence<TestInterface>? receiveWeakCastableObjectNullableSequence();
   337   sequence<TestInterface?>? receiveWeakNullableCastableObjectNullableSequence();
   338   void passCastableObjectSequence(sequence<TestInterface> arg);
   339   void passNullableCastableObjectSequence(sequence<TestInterface?> arg);
   340   void passCastableObjectNullableSequence(sequence<TestInterface>? arg);
   341   void passNullableCastableObjectNullableSequence(sequence<TestInterface?>? arg);
   342   void passOptionalSequence(optional sequence<long> arg);
   343   void passOptionalNullableSequence(optional sequence<long>? arg);
   344   void passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null);
   345   void passOptionalObjectSequence(optional sequence<TestInterface> arg);
   346   void passExternalInterfaceSequence(sequence<TestExternalInterface> arg);
   347   void passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg);
   349   sequence<DOMString> receiveStringSequence();
   350   void passStringSequence(sequence<DOMString> arg);
   352   sequence<ByteString> receiveByteStringSequence();
   353   void passByteStringSequence(sequence<ByteString> arg);
   355   sequence<any> receiveAnySequence();
   356   sequence<any>? receiveNullableAnySequence();
   357   sequence<sequence<any>> receiveAnySequenceSequence();
   359   sequence<object> receiveObjectSequence();
   360   sequence<object?> receiveNullableObjectSequence();
   362   void passSequenceOfSequences(sequence<sequence<long>> arg);
   363   sequence<sequence<long>> receiveSequenceOfSequences();
   365   // MozMap types
   366   void passMozMap(MozMap<long> arg);
   367   void passNullableMozMap(MozMap<long>? arg);
   368   void passMozMapOfNullableInts(MozMap<long?> arg);
   369   void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
   370   void passOptionalNullableMozMapOfNullableInts(optional MozMap<long?>? arg);
   371   void passCastableObjectMozMap(MozMap<TestInterface> arg);
   372   void passNullableCastableObjectMozMap(MozMap<TestInterface?> arg);
   373   void passCastableObjectNullableMozMap(MozMap<TestInterface>? arg);
   374   void passNullableCastableObjectNullableMozMap(MozMap<TestInterface?>? arg);
   375   void passOptionalMozMap(optional MozMap<long> arg);
   376   void passOptionalNullableMozMap(optional MozMap<long>? arg);
   377   void passOptionalNullableMozMapWithDefaultValue(optional MozMap<long>? arg = null);
   378   void passOptionalObjectMozMap(optional MozMap<TestInterface> arg);
   379   void passExternalInterfaceMozMap(MozMap<TestExternalInterface> arg);
   380   void passNullableExternalInterfaceMozMap(MozMap<TestExternalInterface?> arg);
   381   void passStringMozMap(MozMap<DOMString> arg);
   382   void passByteStringMozMap(MozMap<ByteString> arg);
   383   void passMozMapOfMozMaps(MozMap<MozMap<long>> arg);
   384   MozMap<long> receiveMozMap();
   385   MozMap<long>? receiveNullableMozMap();
   386   MozMap<long?> receiveMozMapOfNullableInts();
   387   MozMap<long?>? receiveNullableMozMapOfNullableInts();
   388   MozMap<MozMap<long>> receiveMozMapOfMozMaps();
   389   MozMap<any> receiveAnyMozMap();
   391   // Typed array types
   392   void passArrayBuffer(ArrayBuffer arg);
   393   void passNullableArrayBuffer(ArrayBuffer? arg);
   394   void passOptionalArrayBuffer(optional ArrayBuffer arg);
   395   void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
   396   void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
   397   void passArrayBufferView(ArrayBufferView arg);
   398   void passInt8Array(Int8Array arg);
   399   void passInt16Array(Int16Array arg);
   400   void passInt32Array(Int32Array arg);
   401   void passUint8Array(Uint8Array arg);
   402   void passUint16Array(Uint16Array arg);
   403   void passUint32Array(Uint32Array arg);
   404   void passUint8ClampedArray(Uint8ClampedArray arg);
   405   void passFloat32Array(Float32Array arg);
   406   void passFloat64Array(Float64Array arg);
   407   void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
   408   void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
   409   void passMozMapOfArrayBuffers(MozMap<ArrayBuffer> arg);
   410   void passMozMapOfNullableArrayBuffers(MozMap<ArrayBuffer?> arg);
   411   void passVariadicTypedArray(Float32Array... arg);
   412   void passVariadicNullableTypedArray(Float32Array?... arg);
   413   Uint8Array receiveUint8Array();
   415   // DOMString types
   416   void passString(DOMString arg);
   417   void passNullableString(DOMString? arg);
   418   void passOptionalString(optional DOMString arg);
   419   void passOptionalStringWithDefaultValue(optional DOMString arg = "abc");
   420   void passOptionalNullableString(optional DOMString? arg);
   421   void passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null);
   422   void passVariadicString(DOMString... arg);
   424   // ByteString types
   425   void passByteString(ByteString arg);
   426   void passNullableByteString(ByteString? arg);
   427   void passOptionalByteString(optional ByteString arg);
   428   void passOptionalNullableByteString(optional ByteString? arg);
   429   void passVariadicByteString(ByteString... arg);
   431   // Enumerated types
   432   void passEnum(TestEnum arg);
   433   void passNullableEnum(TestEnum? arg);
   434   void passOptionalEnum(optional TestEnum arg);
   435   void passEnumWithDefault(optional TestEnum arg = "a");
   436   void passOptionalNullableEnum(optional TestEnum? arg);
   437   void passOptionalNullableEnumWithDefaultValue(optional TestEnum? arg = null);
   438   void passOptionalNullableEnumWithDefaultValue2(optional TestEnum? arg = "a");
   439   TestEnum receiveEnum();
   440   TestEnum? receiveNullableEnum();
   441   attribute TestEnum enumAttribute;
   442   readonly attribute TestEnum readonlyEnumAttribute;
   444   // Callback types
   445   void passCallback(TestCallback arg);
   446   void passNullableCallback(TestCallback? arg);
   447   void passOptionalCallback(optional TestCallback arg);
   448   void passOptionalNullableCallback(optional TestCallback? arg);
   449   void passOptionalNullableCallbackWithDefaultValue(optional TestCallback? arg = null);
   450   TestCallback receiveCallback();
   451   TestCallback? receiveNullableCallback();
   452   void passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg);
   453   void passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg);
   454   void passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null);
   455   attribute TestTreatAsNullCallback treatAsNullCallback;
   456   attribute TestTreatAsNullCallback? nullableTreatAsNullCallback;
   458   // Any types
   459   void passAny(any arg);
   460   void passVariadicAny(any... arg);
   461   void passOptionalAny(optional any arg);
   462   void passAnyDefaultNull(optional any arg = null);
   463   void passSequenceOfAny(sequence<any> arg);
   464   void passNullableSequenceOfAny(sequence<any>? arg);
   465   void passOptionalSequenceOfAny(optional sequence<any> arg);
   466   void passOptionalNullableSequenceOfAny(optional sequence<any>? arg);
   467   void passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null);
   468   void passSequenceOfSequenceOfAny(sequence<sequence<any>> arg);
   469   void passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg);
   470   void passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg);
   471   void passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg);
   472   void passMozMapOfAny(MozMap<any> arg);
   473   void passNullableMozMapOfAny(MozMap<any>? arg);
   474   void passOptionalMozMapOfAny(optional MozMap<any> arg);
   475   void passOptionalNullableMozMapOfAny(optional MozMap<any>? arg);
   476   void passOptionalMozMapOfAnyWithDefaultValue(optional MozMap<any>? arg = null);
   477   void passMozMapOfMozMapOfAny(MozMap<MozMap<any>> arg);
   478   void passMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?> arg);
   479   void passNullableMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?>? arg);
   480   void passOptionalNullableMozMapOfNullableMozMapOfAny(optional MozMap<MozMap<any>?>? arg);
   481   void passOptionalNullableMozMapOfNullableSequenceOfAny(optional MozMap<sequence<any>?>? arg);
   482   void passOptionalNullableSequenceOfNullableMozMapOfAny(optional sequence<MozMap<any>?>? arg);
   483   any receiveAny();
   485   // object types
   486   void passObject(object arg);
   487   void passVariadicObject(object... arg);
   488   void passNullableObject(object? arg);
   489   void passVariadicNullableObject(object... arg);
   490   void passOptionalObject(optional object arg);
   491   void passOptionalNullableObject(optional object? arg);
   492   void passOptionalNullableObjectWithDefaultValue(optional object? arg = null);
   493   void passSequenceOfObject(sequence<object> arg);
   494   void passSequenceOfNullableObject(sequence<object?> arg);
   495   void passNullableSequenceOfObject(sequence<object>? arg);
   496   void passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg);
   497   void passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg);
   498   void passMozMapOfObject(MozMap<object> arg);
   499   object receiveObject();
   500   object? receiveNullableObject();
   502   // Union types
   503   void passUnion((object or long) arg);
   504   // Some  union tests are debug-only to avoid creating all those
   505   // unused union types in opt builds.
   506 #ifdef DEBUG
   507   void passUnion2((long or boolean) arg);
   508   void passUnion3((object or long or boolean) arg);
   509   void passUnion4((Node or long or boolean) arg);
   510   void passUnion5((object or boolean) arg);
   511   void passUnion6((object or DOMString) arg);
   512   void passUnion7((object or DOMString or long) arg);
   513   void passUnion8((object or DOMString or boolean) arg);
   514   void passUnion9((object or DOMString or long or boolean) arg);
   515   void passUnion10(optional (EventInit or long) arg);
   516   void passUnion11(optional (CustomEventInit or long) arg);
   517   void passUnion12(optional (EventInit or long) arg = 5);
   518   void passUnion13(optional (object or long?) arg = null);
   519   void passUnion14(optional (object or long?) arg = 5);
   520   void passUnionWithCallback((EventHandler or long) arg);
   521 #endif
   522   void passUnionWithNullable((object? or long) arg);
   523   void passNullableUnion((object or long)? arg);
   524   void passOptionalUnion(optional (object or long) arg);
   525   void passOptionalNullableUnion(optional (object or long)? arg);
   526   void passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null);
   527   //void passUnionWithInterfaces((TestInterface or TestExternalInterface) arg);
   528   //void passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg);
   529   //void passUnionWithSequence((sequence<object> or long) arg);
   530   void passUnionWithArrayBuffer((ArrayBuffer or long) arg);
   531   void passUnionWithString((DOMString or object) arg);
   532   //void passUnionWithEnum((TestEnum or object) arg);
   533   // Trying to use a callback in a union won't include the test
   534   // headers, unfortunately, so won't compile.
   535   //void passUnionWithCallback((TestCallback or long) arg);
   536   void passUnionWithObject((object or long) arg);
   537   //void passUnionWithDict((Dict or long) arg);
   539   void passUnionWithDefaultValue1(optional (double or DOMString) arg = "");
   540   void passUnionWithDefaultValue2(optional (double or DOMString) arg = 1);
   541   void passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5);
   542   void passUnionWithDefaultValue4(optional (float or DOMString) arg = "");
   543   void passUnionWithDefaultValue5(optional (float or DOMString) arg = 1);
   544   void passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5);
   545   void passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = "");
   546   void passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1);
   547   void passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5);
   548   void passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity);
   549   void passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = "");
   550   void passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1);
   551   void passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity);
   553   void passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = "");
   554   void passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1);
   555   void passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null);
   556   void passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = "");
   557   void passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1);
   558   void passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null);
   559   void passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = "");
   560   void passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1);
   561   void passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null);
   562   void passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = "");
   563   void passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1);
   564   void passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null);
   566   void passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg);
   567   void passSequenceOfUnions2(sequence<(object or long)> arg);
   568   void passVariadicUnion((CanvasPattern or CanvasGradient)... arg);
   570   void passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg);
   571   void passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg);
   572   void passMozMapOfUnions(MozMap<(CanvasPattern or CanvasGradient)> arg);
   573   // XXXbz no move constructor on some unions
   574   // void passMozMapOfUnions2(MozMap<(object or long)> arg);
   576   (CanvasPattern or CanvasGradient) receiveUnion();
   577   (object or long) receiveUnion2();
   578   (CanvasPattern? or CanvasGradient) receiveUnionContainingNull();
   579   (CanvasPattern or CanvasGradient)? receiveNullableUnion();
   580   (object or long)? receiveNullableUnion2();
   582   attribute (CanvasPattern or CanvasGradient) writableUnion;
   583   attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull;
   584   attribute (CanvasPattern or CanvasGradient)? writableNullableUnion;
   586   // Date types
   587   void passDate(Date arg);
   588   void passNullableDate(Date? arg);
   589   void passOptionalDate(optional Date arg);
   590   void passOptionalNullableDate(optional Date? arg);
   591   void passOptionalNullableDateWithDefaultValue(optional Date? arg = null);
   592   void passDateSequence(sequence<Date> arg);
   593   void passNullableDateSequence(sequence<Date?> arg);
   594   void passDateMozMap(MozMap<Date> arg);
   595   Date receiveDate();
   596   Date? receiveNullableDate();
   598   // binaryNames tests
   599   void methodRenamedFrom();
   600   void methodRenamedFrom(byte argument);
   601   readonly attribute byte attributeGetterRenamedFrom;
   602   attribute byte attributeRenamedFrom;
   604   void passDictionary(optional Dict x);
   605   [Cached, Pure]
   606   readonly attribute Dict readonlyDictionary;
   607   [Cached, Pure]
   608   readonly attribute Dict? readonlyNullableDictionary;
   609   [Cached, Pure]
   610   attribute Dict writableDictionary;
   611   [Cached, Pure, Frozen]
   612   readonly attribute Dict readonlyFrozenDictionary;
   613   [Cached, Pure, Frozen]
   614   readonly attribute Dict? readonlyFrozenNullableDictionary;
   615   [Cached, Pure, Frozen]
   616   attribute Dict writableFrozenDictionary;
   617   Dict receiveDictionary();
   618   Dict? receiveNullableDictionary();
   619   void passOtherDictionary(optional GrandparentDict x);
   620   void passSequenceOfDictionaries(sequence<Dict> x);
   621   void passMozMapOfDictionaries(MozMap<GrandparentDict> x);
   622   // No support for nullable dictionaries inside a sequence (nor should there be)
   623   //  void passSequenceOfNullableDictionaries(sequence<Dict?> x);
   624   void passDictionaryOrLong(optional Dict x);
   625   void passDictionaryOrLong(long x);
   627   void passDictContainingDict(optional DictContainingDict arg);
   628   void passDictContainingSequence(optional DictContainingSequence arg);
   629   DictContainingSequence receiveDictContainingSequence();
   631   // EnforceRange/Clamp tests
   632   void dontEnforceRangeOrClamp(byte arg);
   633   void doEnforceRange([EnforceRange] byte arg);
   634   void doClamp([Clamp] byte arg);
   635   [EnforceRange] attribute byte enforcedByte;
   636   [Clamp] attribute byte clampedByte;
   638   // Typedefs
   639   const myLong myLongConstant = 5;
   640   void exerciseTypedefInterfaces1(AnotherNameForTestInterface arg);
   641   AnotherNameForTestInterface exerciseTypedefInterfaces2(NullableTestInterface arg);
   642   void exerciseTypedefInterfaces3(YetAnotherNameForTestInterface arg);
   644   // Static methods and attributes
   645   static attribute boolean staticAttribute;
   646   static void staticMethod(boolean arg);
   647   static void staticMethodWithContext(any arg);
   649   // Overload resolution tests
   650   //void overload1(DOMString... strs);
   651   boolean overload1(TestInterface arg);
   652   TestInterface overload1(DOMString strs, TestInterface arg);
   653   void overload2(TestInterface arg);
   654   void overload2(optional Dict arg);
   655   void overload2(boolean arg);
   656   void overload2(DOMString arg);
   657   void overload2(Date arg);
   658   void overload3(TestInterface arg);
   659   void overload3(TestCallback arg);
   660   void overload3(boolean arg);
   661   void overload4(TestInterface arg);
   662   void overload4(TestCallbackInterface arg);
   663   void overload4(DOMString arg);
   664   void overload5(long arg);
   665   void overload5(TestEnum arg);
   666   void overload6(long arg);
   667   void overload6(boolean arg);
   668   void overload7(long arg);
   669   void overload7(boolean arg);
   670   void overload7(ByteString arg);
   671   void overload8(long arg);
   672   void overload8(TestInterface arg);
   673   void overload9(long? arg);
   674   void overload9(DOMString arg);
   675   void overload10(long? arg);
   676   void overload10(object arg);
   677   void overload11(long arg);
   678   void overload11(DOMString? arg);
   679   void overload12(long arg);
   680   void overload12(boolean? arg);
   681   void overload13(long? arg);
   682   void overload13(boolean arg);
   683   void overload14(optional long arg);
   684   void overload14(TestInterface arg);
   685   void overload15(long arg);
   686   void overload15(optional TestInterface arg);
   687   void overload16(long arg);
   688   void overload16(optional TestInterface? arg);
   690   // Variadic handling
   691   void passVariadicThirdArg(DOMString arg1, long arg2, TestInterface... arg3);
   693   // Conditionally exposed methods/attributes
   694   [Pref="abc.def"]
   695   readonly attribute boolean prefable1;
   696   [Pref="abc.def"]
   697   readonly attribute boolean prefable2;
   698   [Pref="ghi.jkl"]
   699   readonly attribute boolean prefable3;
   700   [Pref="ghi.jkl"]
   701   readonly attribute boolean prefable4;
   702   [Pref="abc.def"]
   703   readonly attribute boolean prefable5;
   704   [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
   705   readonly attribute boolean prefable6;
   706   [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
   707   readonly attribute boolean prefable7;
   708   [Pref="ghi.jkl", Func="nsGenericHTMLElement::TouchEventsEnabled"]
   709   readonly attribute boolean prefable8;
   710   [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
   711   readonly attribute boolean prefable9;
   712   [Pref="abc.def"]
   713   void prefable10();
   714   [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
   715   void prefable11();
   716   [Pref="abc.def", Func="TestFuncControlledMember"]
   717   readonly attribute boolean prefable12;
   718   [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
   719   void prefable13();
   720   [Pref="abc.def", Func="TestFuncControlledMember"]
   721   readonly attribute boolean prefable14;
   722   [Func="TestFuncControlledMember"]
   723   readonly attribute boolean prefable15;
   724   [Func="TestFuncControlledMember"]
   725   readonly attribute boolean prefable16;
   726   [Pref="abc.def", Func="TestFuncControlledMember"]
   727   void prefable17();
   728   [Func="TestFuncControlledMember"]
   729   void prefable18();
   730   [Func="TestFuncControlledMember"]
   731   void prefable19();
   732   [Pref="abc.def", Func="TestFuncControlledMember", ChromeOnly]
   733   void prefable20();
   734   [Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
   735   void prefable21();
   736   [Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
   737   void prefable22();
   738   [Pref="abc.def", Func="TestFuncControlledMember", AvailableIn=CertifiedApps]
   739   void prefable23();
   740   [Pref="abc.def", Func="TestFuncControlledMember", AvailableIn=PrivilegedApps]
   741   void prefable24();
   743   // Miscellania
   744   [LenientThis] attribute long attrWithLenientThis;
   745   [Unforgeable] readonly attribute long unforgeableAttr;
   746   [Unforgeable, ChromeOnly] readonly attribute long unforgeableAttr2;
   747   stringifier;
   748   void passRenamedInterface(TestRenamedInterface arg);
   749   [PutForwards=writableByte] readonly attribute TestInterface putForwardsAttr;
   750   [PutForwards=writableByte, LenientThis] readonly attribute TestInterface putForwardsAttr2;
   751   [PutForwards=writableByte, ChromeOnly] readonly attribute TestInterface putForwardsAttr3;
   752   [Throws] void throwingMethod();
   753   [Throws] attribute boolean throwingAttr;
   754   [GetterThrows] attribute boolean throwingGetterAttr;
   755   [SetterThrows] attribute boolean throwingSetterAttr;
   756   legacycaller short(unsigned long arg1, TestInterface arg2);
   757   void passArgsWithDefaults(optional long arg1,
   758                             optional TestInterface? arg2 = null,
   759                             optional Dict arg3, optional double arg4 = 5.0,
   760                             optional float arg5);
   762   attribute any jsonifierShouldSkipThis;
   763   attribute TestParentInterface jsonifierShouldSkipThis2;
   764   attribute TestCallbackInterface jsonifierShouldSkipThis3;
   765   jsonifier;
   767   // If you add things here, add them to TestExampleGen and TestJSImplGen as well
   768 };
   770 interface TestParentInterface {
   771 };
   773 interface TestChildInterface : TestParentInterface {
   774 };
   776 interface TestNonWrapperCacheInterface {
   777 };
   779 [NoInterfaceObject]
   780 interface ImplementedInterfaceParent {
   781   void implementedParentMethod();
   782   attribute boolean implementedParentProperty;
   784   const long implementedParentConstant = 8;
   785 };
   787 ImplementedInterfaceParent implements IndirectlyImplementedInterface;
   789 [NoInterfaceObject]
   790 interface IndirectlyImplementedInterface {
   791   void indirectlyImplementedMethod();
   792   attribute boolean indirectlyImplementedProperty;
   794   const long indirectlyImplementedConstant = 9;
   795 };
   797 [NoInterfaceObject]
   798 interface ImplementedInterface : ImplementedInterfaceParent {
   799   void implementedMethod();
   800   attribute boolean implementedProperty;
   802   const long implementedConstant = 5;
   803 };
   805 [NoInterfaceObject]
   806 interface DiamondImplements {
   807   readonly attribute long diamondImplementedProperty;
   808 };
   809 [NoInterfaceObject]
   810 interface DiamondBranch1A {
   811 };
   812 [NoInterfaceObject]
   813 interface DiamondBranch1B {
   814 };
   815 [NoInterfaceObject]
   816 interface DiamondBranch2A : DiamondImplements {
   817 };
   818 [NoInterfaceObject]
   819 interface DiamondBranch2B : DiamondImplements {
   820 };
   821 TestInterface implements DiamondBranch1A;
   822 TestInterface implements DiamondBranch1B;
   823 TestInterface implements DiamondBranch2A;
   824 TestInterface implements DiamondBranch2B;
   825 DiamondBranch1A implements DiamondImplements;
   826 DiamondBranch1B implements DiamondImplements;
   828 dictionary Dict : ParentDict {
   829   TestEnum someEnum;
   830   long x;
   831   long a;
   832   long b = 8;
   833   long z = 9;
   834   [EnforceRange] unsigned long enforcedUnsignedLong;
   835   [Clamp] unsigned long clampedUnsignedLong;
   836   DOMString str;
   837   DOMString empty = "";
   838   TestEnum otherEnum = "b";
   839   DOMString otherStr = "def";
   840   DOMString? yetAnotherStr = null;
   841   DOMString template;
   842   object someObj;
   843   boolean prototype;
   844   object? anotherObj = null;
   845   TestCallback? someCallback = null;
   846   any someAny;
   847   any anotherAny = null;
   849   unrestricted float  urFloat = 0;
   850   unrestricted float  urFloat2 = 1.1;
   851   unrestricted float  urFloat3 = -1.1;
   852   unrestricted float? urFloat4 = null;
   853   unrestricted float  infUrFloat = Infinity;
   854   unrestricted float  negativeInfUrFloat = -Infinity;
   855   unrestricted float  nanUrFloat = NaN;
   857   unrestricted double  urDouble = 0;
   858   unrestricted double  urDouble2 = 1.1;
   859   unrestricted double  urDouble3 = -1.1;
   860   unrestricted double? urDouble4 = null;
   861   unrestricted double  infUrDouble = Infinity;
   862   unrestricted double  negativeInfUrDouble = -Infinity;
   863   unrestricted double  nanUrDouble = NaN;
   865   (float or DOMString) floatOrString = "str";
   866   (object or long) objectOrLong;
   867 #ifdef DEBUG
   868   (EventInit or long) eventInitOrLong;
   869   (EventInit or long)? nullableEventInitOrLong;
   870   (Node or long)? nullableNodeOrLong;
   871   // CustomEventInit is useful to test because it needs rooting.
   872   (CustomEventInit or long) eventInitOrLong2;
   873   (CustomEventInit or long)? nullableEventInitOrLong2;
   874   (EventInit or long) eventInitOrLongWithDefaultValue = null;
   875   (CustomEventInit or long) eventInitOrLongWithDefaultValue2 = null;
   876   (EventInit or long) eventInitOrLongWithDefaultValue3 = 5;
   877   (CustomEventInit or long) eventInitOrLongWithDefaultValue4 = 5;
   878 #endif
   880   ArrayBuffer arrayBuffer;
   881   ArrayBuffer? nullableArrayBuffer;
   882   Uint8Array uint8Array;
   883   Float64Array? float64Array = null;
   884 };
   886 dictionary ParentDict : GrandparentDict {
   887   long c = 5;
   888   TestInterface someInterface;
   889   TestInterface? someNullableInterface = null;
   890   TestExternalInterface someExternalInterface;
   891   any parentAny;
   892 };
   894 dictionary DictContainingDict {
   895   Dict memberDict;
   896 };
   898 dictionary DictContainingSequence {
   899   sequence<long> ourSequence;
   900   sequence<TestInterface> ourSequence2;
   901   sequence<any> ourSequence3;
   902   sequence<object> ourSequence4;
   903   sequence<object?> ourSequence5;
   904   sequence<object>? ourSequence6;
   905   sequence<object?>? ourSequence7;
   906   sequence<object>? ourSequence8 = null;
   907   sequence<object?>? ourSequence9 = null;
   908   sequence<(float or DOMString)> ourSequence10;
   909 };
   911 dictionary DictForConstructor {
   912   Dict dict;
   913   DictContainingDict dict2;
   914   sequence<Dict> seq1;
   915   sequence<sequence<Dict>>? seq2;
   916   sequence<sequence<Dict>?> seq3;
   917   sequence<any> seq4;
   918   sequence<any> seq5;
   919   sequence<DictContainingSequence> seq6;
   920   object obj1;
   921   object? obj2;
   922   any any1 = null;
   923 };
   925 interface TestIndexedGetterInterface {
   926   getter long item(unsigned long idx);
   927   readonly attribute unsigned long length;
   928   legacycaller void();
   929 };
   931 interface TestNamedGetterInterface {
   932   getter DOMString (DOMString name);
   933 };
   935 interface TestIndexedGetterAndSetterAndNamedGetterInterface {
   936   getter DOMString (DOMString myName);
   937   getter long (unsigned long index);
   938   setter creator void (unsigned long index, long arg);
   939 };
   941 interface TestIndexedAndNamedGetterInterface {
   942   getter long (unsigned long index);
   943   getter DOMString namedItem(DOMString name);
   944   readonly attribute unsigned long length;
   945 };
   947 interface TestIndexedSetterInterface {
   948   setter creator void setItem(unsigned long idx, DOMString item);
   949   getter DOMString (unsigned long idx);
   950 };
   952 interface TestNamedSetterInterface {
   953   setter creator void (DOMString myName, TestIndexedSetterInterface item);
   954   getter TestIndexedSetterInterface (DOMString name);
   955 };
   957 interface TestIndexedAndNamedSetterInterface {
   958   setter creator void (unsigned long index, TestIndexedSetterInterface item);
   959   getter TestIndexedSetterInterface (unsigned long index);
   960   setter creator void setNamedItem(DOMString name, TestIndexedSetterInterface item);
   961   getter TestIndexedSetterInterface (DOMString name);
   962 };
   964 interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterface {
   965   getter long item(unsigned long index);
   966   getter DOMString namedItem(DOMString name);
   967   setter creator void (unsigned long index, long item);
   968   setter creator void (DOMString name, DOMString item);
   969   stringifier DOMString ();
   970   readonly attribute unsigned long length;
   971 };
   973 interface TestIndexedDeleterInterface {
   974   deleter void delItem(unsigned long idx);
   975   getter long (unsigned long index);
   976 };
   978 interface TestIndexedDeleterWithRetvalInterface {
   979   deleter boolean delItem(unsigned long index);
   980   getter long (unsigned long index);
   981 };
   983 interface TestNamedDeleterInterface {
   984   deleter void (DOMString name);
   985   getter long (DOMString name);
   986 };
   988 interface TestNamedDeleterWithRetvalInterface {
   989   deleter boolean delNamedItem(DOMString name);
   990   getter long (DOMString name);
   991 };
   993 interface TestIndexedAndNamedDeleterInterface {
   994   deleter void (unsigned long index);
   995   getter long (unsigned long index);
   996   deleter void delNamedItem(DOMString name);
   997   getter long (DOMString name);
   998 };
  1000 interface TestCppKeywordNamedMethodsInterface {
  1001   boolean continue();
  1002   boolean delete();
  1003   long volatile();
  1004 };

mercurial