| /* |
| * Copyright (C) 2013 Google Inc. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are |
| * met: |
| * |
| * * Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * * Redistributions in binary form must reproduce the above |
| * copyright notice, this list of conditions and the following disclaimer |
| * in the documentation and/or other materials provided with the |
| * distribution. |
| * * Neither the name of Google Inc. nor the names of its |
| * contributors may be used to endorse or promote products derived from |
| * this software without specific prior written permission. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| enum TestEnum {"", "EnumValue1", "EnumValue2", "EnumValue3"}; |
| |
| interface TestObjectPython { |
| // Constants |
| const unsigned short CONST_VALUE_0 = 0; |
| const unsigned short CONST_VALUE_1 = 1; |
| const unsigned short CONST_VALUE_2 = 2; |
| const unsigned short CONST_VALUE_4 = 4; |
| const unsigned short CONST_VALUE_8 = 8; |
| const short CONST_VALUE_9 = -1; |
| const DOMString CONST_VALUE_10 = "my constant string"; |
| const unsigned short CONST_VALUE_11 = 0xffffffff; |
| const unsigned short CONST_VALUE_12 = 0x01; |
| const unsigned short CONST_VALUE_13 = 0X20; |
| const unsigned short CONST_VALUE_14 = 0x1abc; |
| const unsigned short CONST_VALUE_15 = 010; |
| const unsigned short CONST_VALUE_16 = -010; |
| const unsigned short CONST_VALUE_16 = -0x1A; |
| const unsigned short CONST_VALUE_17 = -0X1a; |
| |
| // Extended attributes |
| [DeprecateAs=Constant] const short DEPRECATED_CONSTANT = 1; |
| [RuntimeEnabled=FeatureName] const short FEATURE_ENABLED_CONST = 1; |
| [Reflect=CONST_IMPL] const short CONST_JAVASCRIPT = 1; |
| |
| |
| // Attributes |
| // TestInterfaceEmpty is used as a stub interface type, for testing behavior |
| // that should not depend on particular type (beyond "interface or not"). |
| // read only |
| readonly attribute DOMString readonlyStringAttribute; |
| readonly attribute TestInterfaceEmpty readonlyTestInterfaceEmptyAttribute; |
| readonly attribute long readonlyLongAttribute; |
| // Basic types |
| attribute Date dateAttribute; |
| attribute DOMString stringAttribute; |
| readonly attribute DOMTimeStamp readonlyDOMTimeStampAttribute; // FIXME: Perl CG doesn't translate typedef DOMTimeStamp -> unsigned long long; remove readonly once moved to Python-only |
| attribute boolean booleanAttribute; |
| attribute byte byteAttribute; |
| attribute double doubleAttribute; |
| attribute float floatAttribute; |
| attribute long longAttribute; |
| attribute long long longLongAttribute; |
| attribute octet octetAttribute; |
| attribute short shortAttribute; |
| attribute unsigned long unsignedLongAttribute; |
| attribute unsigned long long unsignedLongLongAttribute; |
| attribute unsigned short unsignedShortAttribute; |
| // Names that with an acronym |
| attribute long cssAttribute; |
| attribute long imeAttribute; |
| attribute long svgAttribute; |
| attribute long xmlAttribute; |
| // Non-wrapper types |
| attribute NodeFilter nodeFilterAttribute; |
| attribute SerializedScriptValue serializedScriptValueAttribute; |
| attribute any anyAttribute; |
| // Custom type conversions |
| attribute Promise promiseAttribute; |
| // DOM Node types |
| attribute Document documentAttribute; |
| attribute DocumentFragment documentFragmentAttribute; |
| attribute DocumentType documentTypeAttribute; |
| attribute Element elementAttribute; |
| attribute Entity entityAttribute; |
| attribute Node nodeAttribute; |
| attribute ShadowRoot shadowRootAttribute; |
| // Typed arrays |
| attribute ArrayBuffer arrayBufferAttribute; |
| attribute Float32Array float32ArrayAttribute; |
| attribute Uint8Array uint8ArrayAttribute; |
| // Usual case for is_keep_alive_for_gc |
| attribute TestInterfaceEmpty testInterfaceEmptyAttribute; |
| // Exceptions for is_keep_alive_for_gc |
| attribute TestInterfaceEmpty self; |
| readonly attribute Window readonlyWindowAttribute; // FIXME: support [ImplementedAs] on interface |
| attribute HTMLCollection htmlCollectionAttribute; |
| attribute HTMLElement htmlElementAttribute; |
| // Arrays |
| attribute DOMString[] stringArrayAttribute; |
| attribute TestInterfaceEmpty[] testInterfaceEmptyArrayAttribute; |
| attribute float[] floatArrayAttribute; |
| // Nullable attributes |
| attribute DOMString? nullableStringAttribute; |
| attribute long? nullableLongAttribute; |
| // Enumerations |
| attribute TestEnum testEnumAttribute; |
| // Static attributes |
| static attribute DOMString staticStringAttribute; |
| static attribute long staticLongAttribute; |
| // Constructors |
| // attribute attribute TestSubObjConstructor TestSubObj; |
| attribute TestObjectAConstructor testObjectAConstructorAttribute; |
| // Exceptional type |
| attribute EventHandler eventHandlerAttribute; |
| |
| // Extended attributes |
| [ActivityLogging=ForAllWorlds] attribute long activityLoggingAccessForAllWorldsLongAttribute; |
| [ActivityLogging=GetterForAllWorlds] attribute long activityLoggingGetterForAllWorldsLongAttribute; |
| [ActivityLogging=SetterForAllWorlds] attribute long activityLoggingSetterForAllWorldsLongAttribute; |
| [CachedAttribute=isValueDirty] attribute any cachedAttributeAnyAttribute; |
| [CallWith=ExecutionContext] attribute any callWithExecutionContextAnyAttribute; |
| [CheckSecurity=Node] readonly attribute Document checkSecurityForNodeReadonlyDocumentAttribute; // All uses are read only |
| [Conditional=CONDITION] attribute long conditionalLongAttribute; |
| [Conditional=CONDITION_1&CONDITION_2] attribute long conditionalAndLongAttribute; |
| [Conditional=CONDITION_1|CONDITION_2] attribute long conditionalOrLongAttribute; |
| [Custom] attribute object customObjectAttribute; |
| [Custom=Getter] attribute long customGetterLongAttribute; |
| [Custom=Getter] readonly attribute object customGetterReadonlyObjectAttribute; |
| [Custom=Setter] attribute long customSetterLongAttribute; |
| [Conditional=CONDITION, Custom] attribute long customLongAttribute; |
| [CustomElementCallbacks] readonly attribute long customElementsCallbacksReadonlyLongAttribute; |
| [DeprecateAs=LongAttribute] attribute long deprecatedLongAttribute; |
| [EnforceRange] attribute long enforceRangeLongAttribute; |
| [ExposeJSAccessors] attribute long exposeJSAccessorsLongAttribute; |
| [RaisesException=Getter] attribute long getterRaisesExceptionLongAttribute; |
| [ImplementedAs=implementedAsName] attribute long implementedAsLongAttribute; |
| [Custom, ImplementedAs=implementedAsNameWithCustom] attribute long customImplementedAsLongAttribute; |
| [Custom=Getter, ImplementedAs=implementedAsNameWithCustomGetter] attribute long customGetterImplementedAsLongAttribute; |
| [Custom=Setter, ImplementedAs=implementedAsNameWithCustomGetter] attribute long customSetterImplementedAsLongAttribute; |
| [MeasureAs=TestFeature] attribute long measureAsLongAttribute; |
| [NotEnumerable] attribute long notEnumerableLongAttribute; |
| [PerContextEnabled=FeatureName] attribute long perContextEnabledLongAttribute; |
| [PerWorldBindings] attribute long perWorldBindingsLongAttribute; |
| [PerWorldBindings] readonly attribute long perWorldBindingsReadonlyLongAttribute; // Separate read only attribute to check attribute configuration |
| [ActivityLogging=ForAllWorlds, PerWorldBindings] attribute long activityLoggingAccessPerWorldBindingsLongAttribute; |
| [ActivityLogging=ForIsolatedWorlds, PerWorldBindings] attribute long activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute; |
| [ActivityLogging=GetterForAllWorlds, PerWorldBindings] attribute long activityLoggingGetterPerWorldBindingsLongAttribute; |
| [ActivityLogging=GetterForIsolatedWorlds, PerWorldBindings] attribute long activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute; |
| [RaisesException] attribute long raisesExceptionLongAttribute; |
| [Reflect] attribute TestInterface reflectTestInterfaceAttribute; |
| [Reflect=reflectedNameAttribute] attribute TestInterface reflectReflectedNameAttributeTestAttribute; |
| // [Reflect] exceptional types: exceptional getters, exceptional setters, |
| // or range checking for unsigned |
| [Reflect] attribute boolean reflectBooleanAttribute; |
| [Reflect] attribute long reflectLongAttribute; |
| [Reflect] attribute unsigned short reflectUnsignedShortAttribute; |
| [Reflect] attribute unsigned long reflectUnsignedLongAttribute; |
| // [Reflect] exceptional names |
| [Reflect] attribute DOMString id; |
| [Reflect] attribute DOMString name; |
| [Reflect] attribute DOMString class; |
| [Reflect=id] attribute DOMString reflectedId; |
| [Reflect=name] attribute DOMString reflectedName; |
| [Reflect=class] attribute DOMString reflectedClass; |
| [Replaceable] readonly attribute long replaceableReadonlyLongAttribute; |
| [RuntimeEnabled=FeatureName] attribute long runtimeEnabledLongAttribute; |
| [Conditional=CONDITION, RuntimeEnabled=FeatureName] attribute long conditionalRuntimeEnabledLongAttribute; |
| [SetterCallWith=ActiveWindow&FirstWindow] attribute DOMString setterCallWithActiveWindowAndFirstWindowStringAttribute; |
| [RaisesException=Setter] attribute long setterRaisesExceptionLongAttribute; |
| [StrictTypeChecking] attribute float strictTypeCheckingFloatAttribute; // nop for non-interface types |
| [StrictTypeChecking] attribute TestInterface strictTypeCheckingTestInterfaceAttribute; |
| [TreatNullAs=NullString] attribute DOMString treatNullAsNullStringStringAttribute; |
| [TreatReturnedNullStringAs=Null] attribute DOMString treatReturnedNullStringAsNullStringAttribute; |
| [TreatReturnedNullStringAs=Undefined] attribute DOMString treatReturnedNullStringAsUndefinedStringAttribute; |
| [Reflect, URL] attribute DOMString urlStringAttribute; |
| [Reflect=ReflectUrlAttribute, URL] attribute DOMString urlStringAttribute; |
| [Unforgeable] attribute long unforgeableLongAttribute; |
| |
| |
| // Methods |
| void voidMethod(); |
| static void staticVoidMethod(); |
| |
| // Types |
| // Basic types |
| Date dateMethod(); |
| DOMString stringMethod(); |
| DOMTimeStamp readonlyDOMTimeStampMethod(); |
| boolean booleanMethod(); |
| byte byteMethod(); |
| double doubleMethod(); |
| float floatMethod(); |
| long longMethod(); |
| long long longLongMethod(); |
| octet octetMethod(); |
| short shortMethod(); |
| unsigned long unsignedLongMethod(); |
| unsigned long long unsignedLongLongMethod(); |
| unsigned short unsignedShortMethod(); |
| |
| void voidMethodDateArg(Date dateArg); |
| void voidMethodStringArg(DOMString stringArg); |
| // void voidMethodDOMTimeStampArg(DOMTimeStamp domTimeStampArg); // FIXME: Perl CG doesn't translate typedef DOMTimeStamp -> unsigned long long; uncomment once moved to Python-only |
| void voidMethodBooleanArg(boolean booleanArg); |
| void voidMethodByteArg(byte byteArg); |
| void voidMethodDoubleArg(double doubleArg); |
| void voidMethodFloatArg(float floatArg); |
| void voidMethodLongArg(long longArg); |
| void voidMethodLongLongArg(long long longLongArg); |
| void voidMethodOctetArg(octet octetArg); |
| void voidMethodShortArg(short shortArg); |
| void voidMethodUnsignedLongArg(unsigned long unsignedLongArg); |
| void voidMethodUnsignedLongLongArg(unsigned long long unsignedLongLongArg); |
| void voidMethodUnsignedShortArg(unsigned short unsignedShortArg); |
| // Interface types |
| TestInterfaceEmpty testInterfaceEmptyMethod(); |
| void voidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg); |
| void voidMethodLongArgTestInterfaceEmptyArg(long longArg, TestInterfaceEmpty testInterfaceEmptyArg); |
| // Custom type conversions |
| CompareHow compareHowMethod(); |
| any anyMethod(); |
| void voidMethodMediaQueryListListenerArg(MediaQueryListListener mediaQueryListListenerArg); |
| void voidMethodCompareHowArg(CompareHow compareHowArg); |
| void voidMethodAnyArg(any anyArg); |
| // DOM node types |
| void voidMethodAttrArg(Attr attrArg); |
| void voidMethodDocumentArg(Document documentArg); |
| void voidMethodDocumentTypeArg(DocumentType documentTypeArg); |
| void voidMethodElementArg(Element elementArg); |
| void voidMethodNodeArg(Node nodeArg); |
| // Typed arrays |
| ArrayBuffer arrayBufferMethod(); |
| ArrayBufferView arrayBufferViewMethod(); |
| Float32Array float32ArrayMethod(); |
| Int32Array int32ArrayMethod(); |
| Uint8Array uint8ArrayMethod(); |
| void voidMethodArrayBufferArg(ArrayBuffer arrayBufferArg); |
| void voidMethodArrayBufferViewArg(ArrayBufferView arrayBufferViewArg); |
| void voidMethodFloat32ArrayArg(Float32Array float32ArrayArg); |
| void voidMethodInt32ArrayArg(Int32Array int32ArrayArg); |
| void voidMethodUint8ArrayArg(Uint8Array uint8ArrayArg); |
| // Arrays |
| long[] longArrayMethod(); |
| DOMString[] stringArrayMethod(); |
| TestInterfaceEmpty[] testInterfaceEmptyArrayMethod(); |
| void voidMethodArrayLongArg(long[] arrayLongArg); |
| void voidMethodArrayStringArg(DOMString[] arrayStringArg); |
| void voidMethodArrayTestInterfaceEmptyArg(TestInterfaceEmpty[] arrayTestInterfaceEmptyArg); |
| // Sequences |
| sequence<long> sequenceLongMethod(); |
| sequence<DOMString> sequenceStringMethod(); |
| sequence<TestInterfaceEmpty> sequenceTestInterfaceEmptyMethod(); |
| void voidMethodSequenceLongArg(sequence<long> sequenceLongArg); |
| void voidMethodSequenceStringArg(sequence<DOMString> sequenceStringArg); |
| void voidMethodSequenceTestInterfaceEmptyArg(sequence<TestInterfaceEmpty> sequenceTestInterfaceEmptyArg); |
| // Nullable types |
| // Currently only used on interface type arguments |
| void voidMethodNullableStringArg(TestInterfaceEmpty? nullableTestInterfaceEmptyArg); |
| // Enumerations |
| TestEnum testEnumMethod(); |
| void voidMethodTestEnumArg(TestEnum testEnumTypeArg); |
| // Exceptional types |
| Dictionary dictionaryMethod(); |
| NodeFilter nodeFilterMethod(); |
| Promise promiseMethod(); |
| SerializedScriptValue serializedScriptValueMethod(); |
| XPathNSResolver xPathNSResolverMethod(); |
| void voidMethodDictionaryArg(Dictionary dictionaryArg); |
| void voidMethodNodeFilterArg(NodeFilter nodeFilterArg); |
| void voidMethodPromiseArg(Promise promiseArg); |
| void voidMethodSerializedScriptValueArg(SerializedScriptValue serializedScriptValueArg); |
| void voidMethodXPathNSResolverArg(XPathNSResolver xPathNSResolverArg); |
| void voidMethodSequenceDictionaryArg(sequence<Dictionary> sequenceDictionaryArg); |
| |
| // Arguments |
| void voidMethodStringArgLongArg(DOMString stringArg, long longArg); |
| // Optional arguments |
| void voidMethodOptionalStringArg(optional DOMString optionalStringArg); |
| void voidMethodOptionalTestInterfaceEmptyArg(optional TestInterfaceEmpty optionalTestInterfaceEmptyArg); |
| void voidMethodOptionalLongArg(optional long optionalLongArg); |
| DOMString stringMethodOptionalLongArg(optional long optionalLongArg); |
| TestInterfaceEmpty testInterfaceEmptyMethodOptionalLongArg(optional long optionalLongArg); |
| long longMethodOptionalLongArg(optional long optionalLongArg); |
| void voidMethodLongArgOptionalLongArg(long longArg, optional long optionalLongArg); |
| void voidMethodLongArgOptionalLongArgOptionalLongArg(long longArg, optional long optionalLongArg1, optional long optionalLongArg2); |
| void voidMethodLongArgOptionalTestInterfaceEmptyArg(long longArg, optional TestInterfaceEmpty optionalTestInterfaceEmpty); |
| void voidMethodTestInterfaceEmptyArgOptionalLongArg(TestInterfaceEmpty optionalTestInterfaceEmpty, optional long longArg); |
| // Optional arguments: exceptional case |
| void voidMethodOptionalDictionaryArg(optional Dictionary optionalDictionaryArg); |
| |
| // Variadic operations |
| void voidMethodVariadicStringArg(DOMString... variadicStringArgs); |
| void voidMethodStringArgVariadicStringArg(DOMString stringArg, DOMString... variadicStringArgs); |
| void voidMethodVariadicTestInterfaceEmptyArg(TestInterfaceEmpty... variadicTestInterfaceEmptyArgs); |
| void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg, TestInterfaceEmpty... variadicTestInterfaceEmptyArgs); |
| |
| // Overloaded methods |
| void overloadedMethodA(long longArg); |
| void overloadedMethodA(long longArg1, long longArg2); |
| void overloadedMethodB(long longArg); |
| void overloadedMethodB(long longArg1, optional long longArg2); |
| void overloadedMethodC(long longArg); |
| void overloadedMethodC(long longArg, long... longArgs); |
| void overloadedMethodD(long longArg); |
| void overloadedMethodD(TestInterfaceEmpty testInterfaceEmptyArg); |
| void overloadedMethodE(long longArg); |
| void overloadedMethodE(long[] longArrayArg); |
| void overloadedMethodF(long longArg); |
| void overloadedMethodF(TestInterfaceEmpty? testInterfaceEmptyNullableArg); |
| void overloadedMethodG(); |
| void overloadedMethodG([StrictTypeChecking] DOMString strictTypeCheckingStringArg); |
| |
| [PerWorldBindings] void overloadedPerWorldBindingsMethod(); |
| [PerWorldBindings] void overloadedPerWorldBindingsMethod(long longArg); |
| |
| static void overloadedStaticMethod(long longArg); |
| static void overloadedStaticMethod(long longArg1, long longArg2); |
| |
| // Exceptional methods for EventListener |
| void addEventListener(DOMString type, |
| EventListener listener, |
| optional boolean useCapture); |
| void removeEventListener(DOMString type, |
| EventListener listener, |
| optional boolean useCapture); |
| |
| // Extended attributes for arguments |
| // [Clamp] |
| void voidMethodClampUnsignedShortArg([Clamp] unsigned short clampUnsignedShortArg); |
| void voidMethodClampUnsignedLongArg([Clamp] unsigned long clampUnsignedLongArg); |
| // [Default] |
| void voidMethodDefaultUndefinedTestInterfaceEmptyArg([Default=Undefined] optional TestInterfaceEmpty defaultUndefinedTestInterfaceEmptyArg); |
| void voidMethodDefaultUndefinedLongArg([Default=Undefined] optional long defaultUndefinedLongArg); |
| void voidMethodDefaultUndefinedStringArg([Default=Undefined] optional DOMString defaultUndefinedStringArg); |
| void voidMethodDefaultNullStringStringArg([Default=NullString] optional DOMString defaultNullStringStringArg); |
| // [EnforceRange] |
| void voidMethodEnforceRangeLongArg([EnforceRange] long enforceRangeLongArg); |
| // [TreatNullAs], [TreatUndefinedAs] |
| void voidMethodTreatNullAsNullStringStringArg([TreatNullAs=NullString] DOMString treatNullAsNullStringStringArg); |
| void voidMethodTreatNullAsNullStringTreatUndefinedAsNullStringStringArg([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString treatNullAsNullStringStringArg); |
| |
| // Extended attributes for methods |
| [ActivityLogging=ForAllWorlds] void activityLoggingAccessForAllWorldsMethod(); |
| [CallWith=ScriptState] void callWithScriptStateVoidMethod(); |
| [CallWith=ScriptState] long callWithScriptStateLongMethod(); |
| [CallWith=ExecutionContext] void callWithExecutionContextVoidMethod(); |
| [CallWith=ScriptState&ExecutionContext] void callWithScriptStateExecutionContextVoidMethod(); |
| [CallWith=ScriptState&ScriptArguments] void callWithScriptStateScriptArgumentsVoidMethod(); |
| [CallWith=ScriptState&ScriptArguments] void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg(optional boolean optionalBooleanArg); |
| [CallWith=ActiveWindow] void callWithActiveWindow(); |
| [CallWith=ActiveWindow&FirstWindow] void callWithActiveWindowScriptWindow(); |
| [CheckSecurity=Node] void checkSecurityForNodeVoidMethod(); |
| [Conditional=CONDITION] void conditionalConditionVoidMethod(); |
| [Conditional=CONDITION_1&CONDITION_2] void conditionalCondition1AndCondition2VoidMethod(); |
| [Conditional=CONDITION] static void conditionalConditionStaticVoidMethod(); |
| [Custom] void customVoidMethod(); |
| [Conditional=CONDITION, Custom] void conditionalConditionCustomVoidMethod(); |
| [CustomElementCallbacks] void customElementCallbacksVoidMethod(); |
| [DeprecateAs=voidMethod] void deprecatedVoidMethod(); |
| [DoNotCheckSignature] void doNotCheckSignatureVoidMethod(); |
| [ImplementedAs=implementedAsMethodName] void implementedAsVoidMethod(); |
| [MeasureAs=TestFeature] void measureAsVoidMethod(); |
| [NotEnumerable] void notEnumerableVoidMethod(); |
| [PerContextEnabled=FeatureName] void perContextEnabledVoidMethod(); |
| [PerWorldBindings] void perWorldBindingsVoidMethod(); |
| [ActivityLogging=ForAllWorlds, PerWorldBindings] void activityLoggingForAllWorldsPerWorldBindingsVoidMethod(); |
| [ActivityLogging=ForIsolatedWorlds, PerWorldBindings] void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod(); |
| [PerWorldBindings] void perWorldBindingsVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg); |
| [RaisesException] void raisesExceptionVoidMethod(); |
| [RaisesException] void raisesExceptionVoidMethodOptionalLongArg(optional long optionalLongArg); |
| [ReadOnly] void readOnlyVoidMethod(); |
| [NotEnumerable, ReadOnly] void notEnumerableReadOnlyVoidMethod(); |
| [RuntimeEnabled=FeatureName] void runtimeEnabledVoidMethod(); |
| [PerWorldBindings, RuntimeEnabled=FeatureName] void perWorldBindingsRuntimeEnabledVoidMethod(); |
| [StrictTypeChecking] void strictTypeCheckingVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg); |
| [TreatReturnedNullStringAs=Null] DOMString treatReturnedNullStringAsNullStringMethod(); |
| [TreatReturnedNullStringAs=Undefined] DOMString treatReturnedNullStringAsUndefinedStringMethod(); |
| [Unforgeable] void unforgeableVoidMethod(); |
| }; |