| Index: bindings/tests/idls/TestObject.idl
|
| diff --git a/bindings/tests/idls/TestObject.idl b/bindings/tests/idls/TestObject.idl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8328c86d78466d1c529287582952b0d98f12bb25
|
| --- /dev/null
|
| +++ b/bindings/tests/idls/TestObject.idl
|
| @@ -0,0 +1,528 @@
|
| +/*
|
| + * 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"};
|
| +
|
| +callback VoidCallbackFunction = void ();
|
| +callback AnyCallbackFunctionOptionalAnyArg = any (optional any optionalAnyArg);
|
| +
|
| +dictionary TestDict {
|
| + boolean booleanMember;
|
| + long longMember1 = 1;
|
| +};
|
| +
|
| +dictionary TestDictDerived : TestDict {
|
| + unsigned short unsignedShortMember;
|
| + float floatMember4 = 4.0;
|
| +};
|
| +
|
| +// No extended attributes on the interface; those go in TestInterface.idl
|
| +interface TestObject {
|
| + // 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
|
| + //
|
| + // Naming convention:
|
| + // [ExtAttr] attribute Type extAttrTypeNameAttribute;
|
| + // E.g.,
|
| + // [Foo] attribute DOMString? fooStringOrNullAttribute
|
| + //
|
| + // Type name reference:
|
| + // http://heycam.github.io/webidl/#dfn-type-name
|
| + //
|
| + // 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;
|
| + attribute ByteString byteStringAttribute;
|
| + attribute ScalarValueString scalarValueStringAttribute;
|
| + attribute DOMTimeStamp domTimeStampAttribute;
|
| + 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 unrestricted double unrestrictedDoubleAttribute;
|
| + attribute unrestricted float unrestrictedFloatAttribute;
|
| + attribute unsigned long unsignedLongAttribute;
|
| + attribute unsigned long long unsignedLongLongAttribute;
|
| + attribute unsigned short unsignedShortAttribute;
|
| + // Interface type
|
| + attribute TestInterfaceEmpty testInterfaceEmptyAttribute;
|
| + // Self-reference
|
| + attribute TestObject testObjectAttribute;
|
| + // Callback function type
|
| + attribute VoidCallbackFunction voidCallbackFunctionAttribute;
|
| + attribute AnyCallbackFunctionOptionalAnyArg anyCallbackFunctionOptionalAnyArgAttribute;
|
| + // Names that begin 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;
|
| + attribute Window windowAttribute;
|
| + // DOM Node types
|
| + attribute Document documentAttribute;
|
| + attribute DocumentFragment documentFragmentAttribute;
|
| + attribute DocumentType documentTypeAttribute;
|
| + attribute Element elementAttribute;
|
| + attribute Node nodeAttribute;
|
| + attribute ShadowRoot shadowRootAttribute;
|
| + // Typed arrays
|
| + attribute ArrayBuffer arrayBufferAttribute;
|
| + attribute Float32Array float32ArrayAttribute;
|
| + attribute Uint8Array uint8ArrayAttribute;
|
| + // Exceptions for is_keep_alive_for_gc
|
| + readonly attribute TestInterfaceEmpty self;
|
| + readonly attribute EventTarget readonlyEventTargetAttribute;
|
| + readonly attribute EventTarget? readonlyEventTargetOrNullAttribute;
|
| + readonly attribute Window readonlyWindowAttribute;
|
| + readonly attribute HTMLCollection htmlCollectionAttribute;
|
| + readonly attribute HTMLElement htmlElementAttribute;
|
| + // Arrays
|
| + attribute DOMString[] stringArrayAttribute;
|
| + attribute TestInterfaceEmpty[] testInterfaceEmptyArrayAttribute;
|
| + attribute float[] floatArrayAttribute;
|
| + // Nullable attributes
|
| + attribute DOMString? stringOrNullAttribute;
|
| + attribute long? longOrNullAttribute;
|
| + attribute TestInterface? testInterfaceOrNullAttribute;
|
| + // Enumerations
|
| + attribute TestEnum testEnumAttribute;
|
| + // Static attributes
|
| + static attribute DOMString staticStringAttribute;
|
| + static attribute long staticLongAttribute;
|
| + // Exceptional type
|
| + attribute EventHandler eventHandlerAttribute;
|
| +
|
| + // Extended attributes
|
| + [LogActivity, LogAllWorlds] attribute long activityLoggingAccessForAllWorldsLongAttribute;
|
| + [LogActivity=GetterOnly, LogAllWorlds] attribute long activityLoggingGetterForAllWorldsLongAttribute;
|
| + [LogActivity=SetterOnly, LogAllWorlds] attribute long activityLoggingSetterForAllWorldsLongAttribute;
|
| + [CachedAttribute=isValueDirty] attribute any cachedAttributeAnyAttribute;
|
| + [CachedAttribute=isArrayDirty] attribute DOMString[] cachedArrayAttribute;
|
| + [CallWith=ExecutionContext] attribute any callWithExecutionContextAnyAttribute;
|
| + [CallWith=ScriptState] attribute any callWithScriptStateAnyAttribute;
|
| + [CallWith=ExecutionContext|ScriptState] attribute any callWithExecutionContextAndScriptStateAnyAttribute;
|
| + [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;
|
| + // Constructors: FIXME: replace suffix with [ConstructorAttribute]
|
| + attribute TestInterfaceEmptyConstructor testInterfaceEmptyConstructorAttribute;
|
| + [DeprecateAs=deprecatedTestInterfaceEmptyConstructorAttribute] attribute TestInterfaceEmptyConstructor testInterfaceEmptyConstructorAttribute;
|
| + [MeasureAs=FeatureName] attribute TestInterfaceEmptyConstructor measureAsFeatureNameTestInterfaceEmptyConstructorAttribute;
|
| + [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;
|
| + [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] readonly attribute TestInterfaceEmpty perWorldBindingsReadonlyTestInterfaceEmptyAttribute;
|
| + [LogActivity, LogAllWorlds, PerWorldBindings] attribute long activityLoggingAccessPerWorldBindingsLongAttribute;
|
| + [LogActivity, PerWorldBindings] attribute long activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute;
|
| + [LogActivity=GetterOnly, LogAllWorlds, PerWorldBindings] attribute long activityLoggingGetterPerWorldBindingsLongAttribute;
|
| + [LogActivity=GetterOnly, PerWorldBindings] attribute long activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute;
|
| + [PutForwards=href] readonly attribute TestNode location;
|
| + [PutForwards=hrefThrows] readonly attribute TestNode locationWithException;
|
| + [PutForwards=hrefCallWith] readonly attribute TestNode locationWithCallWith;
|
| + [PerWorldBindings, PutForwards=href] readonly attribute TestNode locationWithPerWorldBindings;
|
| + [PutForwards=attr1] readonly attribute TestInterfaceGarbageCollected locationGarbageCollected;
|
| + [PutForwards=attr1] readonly attribute TestInterfaceWillBeGarbageCollected locationWillBeGarbageCollected;
|
| + [RaisesException] attribute long raisesExceptionLongAttribute;
|
| + [RaisesException=Getter] attribute long raisesExceptionGetterLongAttribute;
|
| + [RaisesException=Setter] attribute long setterRaisesExceptionLongAttribute;
|
| + [RaisesException] attribute TestInterfaceEmpty raisesExceptionTestInterfaceEmptyAttribute;
|
| + [CachedAttribute=isValueDirty, RaisesException] attribute any cachedAttributeRaisesExceptionGetterAnyAttribute;
|
| + [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;
|
| + // Limited value attributes and enumerated attributes
|
| + [Reflect, ReflectOnly="unique"] attribute DOMString limitedToOnlyOneAttribute;
|
| + [Reflect, ReflectOnly="Per"|"Paal"|"Espen"] attribute DOMString limitedToOnlyAttribute;
|
| + [Reflect=other, ReflectOnly="Value1"|"Value2" ] attribute DOMString limitedToOnlyOtherAttribute;
|
| + [Reflect, ReflectOnly="rsa"|"dsa", ReflectMissing="rsa"] attribute DOMString limitedWithMissingDefaultAttribute;
|
| + [Reflect, ReflectOnly="ltr"|"rtl"|"auto", ReflectMissing="auto", ReflectInvalid="ltr"] attribute DOMString limitedWithInvalidMissingDefaultAttribute;
|
| + [Reflect, ReflectOnly="anonymous"|"use-credentials", ReflectEmpty="anonymous", ReflectInvalid="anonymous"] readonly attribute DOMString corsSettingAttribute;
|
| + [Reflect, ReflectOnly="empty"|"missing"|"invalid"|"a-normal", ReflectEmpty="empty", ReflectMissing="missing", ReflectInvalid="invalid"] readonly attribute DOMString limitedWithEmptyMissingInvalidAttribute;
|
| +
|
| + [Replaceable] readonly attribute long replaceableReadonlyLongAttribute;
|
| + [Replaceable, PutForwards=href] readonly attribute TestNode locationReplaceable;
|
| + [RuntimeEnabled=FeatureName] attribute long runtimeEnabledLongAttribute;
|
| + [PerContextEnabled=FeatureName, RuntimeEnabled=FeatureName] attribute long perContextEnabledRuntimeEnabledLongAttribute;
|
| + [Conditional=CONDITION, RuntimeEnabled=FeatureName] attribute long conditionalRuntimeEnabledLongAttribute;
|
| + [SetterCallWith=ActiveWindow&FirstWindow] attribute DOMString setterCallWithActiveWindowAndFirstWindowStringAttribute;
|
| + [SetterCallWith=ExecutionContext] attribute DOMString setterCallWithExecutionContextStringAttribute;
|
| + [TreatNullAs=NullString] attribute DOMString treatNullAsNullStringStringAttribute;
|
| + [TreatReturnedNullStringAs=Null] attribute DOMString treatReturnedNullStringAsNullStringAttribute;
|
| + [TreatReturnedNullStringAs=Undefined] attribute DOMString treatReturnedNullStringAsUndefinedStringAttribute;
|
| + [TreatReturnedNullStringAs=Null] attribute ByteString treatReturnedNullStringAsNullByteStringAttribute;
|
| + [TreatReturnedNullStringAs=Undefined] attribute ByteString treatReturnedNullStringAsUndefinedByteStringAttribute;
|
| + [TreatReturnedNullStringAs=Null] attribute ScalarValueString treatReturnedNullStringAsNullScalarValueStringAttribute;
|
| + [TreatReturnedNullStringAs=Undefined] attribute ScalarValueString treatReturnedNullStringAsUndefinedScalarValueStringAttribute;
|
| + [TypeChecking=Interface|Nullable] attribute float typeCheckingInterfaceNullableStringFloatAttribute; // nop for non-interface types
|
| + [TypeChecking=Interface] attribute TestInterface typeCheckingInterfaceTestInterfaceAttribute;
|
| + [TypeChecking=Nullable] attribute TestInterface? typeCheckingNullableTestInterfaceOrNullAttribute;
|
| + [TypeChecking=Interface|Nullable] attribute TestInterface? typeCheckingInterfaceNullableTestInterfaceOrNullAttribute;
|
| + [Reflect, URL] attribute DOMString urlStringAttribute;
|
| + [Reflect=reflectUrlAttribute, URL] attribute DOMString urlStringAttribute;
|
| + [Unforgeable] attribute long unforgeableLongAttribute;
|
| + [LogActivity=SetterOnly, LogPreviousValue] attribute long activityLoggingSetterOnlyLogPreviousValueAttribute;
|
| + [LogActivity, LogPreviousValue] attribute TestInterfaceEmpty activityLoggingLogPreviousValueInterfaceAttribute;
|
| +
|
| +
|
| + // Methods
|
| + //
|
| + // Naming convention:
|
| + // ReturnType returnTypeMethodTypeName1ArgTypeName2Arg(Type1 typeName1Arg, Type2 typeName2Arg);
|
| + // E.g.,
|
| + // void voidMethodStringArgLongArrayArg(DOMString stringArg, long[] longArrayArg);
|
| + void voidMethod();
|
| + static void staticVoidMethod();
|
| +
|
| + // Types
|
| + // Basic types
|
| + Date dateMethod();
|
| + DOMString stringMethod();
|
| + ByteString byteStringMethod();
|
| + ScalarValueString scalarValueStringMethod();
|
| + 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 voidMethodByteStringArg(ByteString stringArg);
|
| + void voidMethodScalarValueStringArg(ScalarValueString scalarValueStringArg);
|
| + void voidMethodDOMTimeStampArg(DOMTimeStamp domTimeStampArg);
|
| + 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);
|
| + // Callback function type
|
| + VoidCallbackFunction voidCallbackFunctionMethod();
|
| + AnyCallbackFunctionOptionalAnyArg anyCallbackFunctionOptionalAnyArgMethod();
|
| + void voidMethodVoidCallbackFunctionArg(VoidCallbackFunction voidCallbackFunctionArg);
|
| + void voidMethodAnyCallbackFunctionOptionalAnyArg(AnyCallbackFunctionOptionalAnyArg anyCallbackFunctionOptionalAnyArgArg);
|
| + // Custom type conversions
|
| + CompareHow compareHowMethod();
|
| + any anyMethod();
|
| + void voidMethodCompareHowArg(CompareHow compareHowArg);
|
| + void voidMethodEventTargetArg(EventTarget eventTargetArg);
|
| + void voidMethodMediaQueryListListenerArg(MediaQueryListListener mediaQueryListListenerArg);
|
| + 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 voidMethodArrayBufferOrNullArg(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> longSequenceMethod();
|
| + sequence<DOMString> stringSequenceMethod();
|
| + sequence<TestInterfaceEmpty> testInterfaceEmptySequenceMethod();
|
| + void voidMethodSequenceLongArg(sequence<long> longSequenceArg);
|
| + void voidMethodSequenceStringArg(sequence<DOMString> stringSequenceArg);
|
| + void voidMethodSequenceTestInterfaceEmptyArg(sequence<TestInterfaceEmpty> testInterfaceEmptySequenceArg);
|
| + // Nullable types
|
| + // Currently only used on interface type arguments
|
| + void voidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? nullableTestInterfaceEmptyArg);
|
| + // Callback interface types
|
| + void voidMethodTestCallbackInterfaceArg(TestCallbackInterface testCallbackInterfaceArg);
|
| + void voidMethodOptionalTestCallbackInterfaceArg(optional TestCallbackInterface optionalTestCallbackInterfaceArg);
|
| + void voidMethodTestCallbackInterfaceOrNullArg(TestCallbackInterface? testCallbackInterfaceArg);
|
| + // Enumerations
|
| + TestEnum testEnumMethod();
|
| + void voidMethodTestEnumArg(TestEnum testEnumTypeArg);
|
| + // Exceptional types
|
| + Dictionary dictionaryMethod();
|
| + NodeFilter nodeFilterMethod();
|
| + Promise promiseMethod();
|
| + SerializedScriptValue serializedScriptValueMethod();
|
| + XPathNSResolver xPathNSResolverMethod();
|
| + void voidMethodDictionaryArg(Dictionary dictionaryArg);
|
| + void voidMethodEventListenerArg(EventListener eventListenerArg);
|
| + void voidMethodNodeFilterArg(NodeFilter nodeFilterArg);
|
| + void voidMethodPromiseArg(Promise promiseArg);
|
| + void voidMethodSerializedScriptValueArg(SerializedScriptValue serializedScriptValueArg);
|
| + void voidMethodXPathNSResolverArg(XPathNSResolver xPathNSResolverArg);
|
| + void voidMethodDictionarySequenceArg(sequence<Dictionary> dictionarySequenceArg);
|
| +
|
| + // 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);
|
| +
|
| + // Optional arguments with defaults
|
| + void voidMethodDefaultStringArg(optional DOMString defaultStringArg = "foo");
|
| + void voidMethodDefaultNullStringArg(optional DOMString defaultStringArg = null);
|
| + void voidMethodDefaultLongArg(optional long defaultLongArg = 10);
|
| + void voidMethodDefaultDoubleArg(optional double defaultDoubleArg = 0.5);
|
| + void voidMethodDefaultTrueBooleanArg(optional boolean defaultBooleanArg = true);
|
| + void voidMethodDefaultFalseBooleanArg(optional boolean defaultBooleanArg = false);
|
| + void voidMethodDefaultNullableStringArg(optional DOMString? defaultStringArg = null);
|
| + void voidMethodDefaultNullableTestInterfaceArg(optional TestInterface? defaultTestInterfaceArg = null);
|
| +
|
| + // Variadic operations
|
| + void voidMethodVariadicStringArg(DOMString... variadicStringArgs);
|
| + void voidMethodStringArgVariadicStringArg(DOMString stringArg, DOMString... variadicStringArgs);
|
| + void voidMethodVariadicTestInterfaceEmptyArg(TestInterfaceEmpty... variadicTestInterfaceEmptyArgs);
|
| + void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg, TestInterfaceEmpty... variadicTestInterfaceEmptyArgs);
|
| + void voidMethodVariadicTestInterfaceGarbageCollectedArg(TestInterfaceGarbageCollected... variadicTestInterfaceGarbageCollectedArg);
|
| + void voidMethodVariadicTestInterfaceWillBeGarbageCollectedArg(TestInterfaceWillBeGarbageCollected... variadicTestInterfaceWillBeGarbageCollectedArg);
|
| +
|
| + // Overloaded methods
|
| + void overloadedMethodA(long longArg);
|
| + void overloadedMethodA(long longArg1, long longArg2);
|
| + void overloadedMethodB(long longArg);
|
| + void overloadedMethodB(DOMString stringArg, optional long longArg);
|
| + void overloadedMethodC(long longArg);
|
| + void overloadedMethodC(TestInterfaceEmpty testInterfaceEmptyArg);
|
| + void overloadedMethodD(long longArg);
|
| + void overloadedMethodD(long[] longArrayArg);
|
| + void overloadedMethodE(long longArg);
|
| + void overloadedMethodE(TestInterfaceEmpty? testInterfaceEmptyOrNullArg);
|
| + void overloadedMethodF(optional DOMString stringArg);
|
| + void overloadedMethodF(double doubleArg);
|
| + void overloadedMethodG(long longArg);
|
| + void overloadedMethodG(optional TestInterfaceEmpty? testInterfaceEmptyOrNullArg = null);
|
| + void overloadedMethodH(TestInterface testInterfaceArg);
|
| + void overloadedMethodH(TestInterfaceEmpty testInterfaceEmptyArg);
|
| + void overloadedMethodI(DOMString stringArg);
|
| + void overloadedMethodI(double doubleArg);
|
| +
|
| +
|
| + [PerWorldBindings] void overloadedPerWorldBindingsMethod();
|
| + [PerWorldBindings] void overloadedPerWorldBindingsMethod(long longArg);
|
| +
|
| + static void overloadedStaticMethod(long longArg);
|
| + static void overloadedStaticMethod(long longArg1, long longArg2);
|
| +
|
| + // 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);
|
| + // [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
|
| + [LogActivity, LogAllWorlds] void activityLoggingAccessForAllWorldsMethod();
|
| + [CallWith=ExecutionContext] void callWithExecutionContextVoidMethod();
|
| + [CallWith=ScriptState] void callWithScriptStateVoidMethod();
|
| + [CallWith=ScriptState] long callWithScriptStateLongMethod();
|
| + [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();
|
| + [DeprecateAs=TestFeatureA] void DeprecateAsOverloadedMethod();
|
| + [DeprecateAs=TestFeatureB] void DeprecateAsOverloadedMethod(long arg);
|
| + [DeprecateAs=TestFeature] void DeprecateAsSameValueOverloadedMethod();
|
| + [DeprecateAs=TestFeature] void DeprecateAsSameValueOverloadedMethod(long arg);
|
| + [MeasureAs=TestFeatureA] void measureAsOverloadedMethod();
|
| + [MeasureAs=TestFeatureB] void measureAsOverloadedMethod(long arg);
|
| + [MeasureAs=TestFeature] void measureAsSameValueOverloadedMethod();
|
| + [MeasureAs=TestFeature] void measureAsSameValueOverloadedMethod(long arg);
|
| + [DeprecateAs=TestFeatureA, MeasureAs=TestFeature] void deprecateAsMeasureAsSameValueOverloadedMethod();
|
| + [DeprecateAs=TestFeatureB, MeasureAs=TestFeature] void deprecateAsMeasureAsSameValueOverloadedMethod(long arg);
|
| + [DeprecateAs=TestFeature, MeasureAs=TestFeatureA] void deprecateAsSameValueMeasureAsOverloadedMethod();
|
| + [DeprecateAs=TestFeature, MeasureAs=TestFeatureB] void deprecateAsSameValueMeasureAsOverloadedMethod(long arg);
|
| + [DeprecateAs=TestFeatureA, MeasureAs=TestFeatureB] void deprecateAsSameValueMeasureAsSameValueOverloadedMethod();
|
| + [DeprecateAs=TestFeatureA, MeasureAs=TestFeatureB] void deprecateAsSameValueMeasureAsSameValueOverloadedMethod(long arg);
|
| + [NotEnumerable] void notEnumerableVoidMethod();
|
| + [PerContextEnabled=FeatureName] void perContextEnabledVoidMethod();
|
| + [PerWorldBindings] void perWorldBindingsVoidMethod();
|
| + [PerWorldBindings] void perWorldBindingsVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg);
|
| + [LogActivity, LogAllWorlds, PerWorldBindings] void activityLoggingForAllWorldsPerWorldBindingsVoidMethod();
|
| + [LogActivity, PerWorldBindings] void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod();
|
| + [RaisesException] void raisesExceptionVoidMethod();
|
| + [RaisesException] DOMString raisesExceptionStringMethod();
|
| + [RaisesException] void raisesExceptionVoidMethodOptionalLongArg(optional long optionalLongArg);
|
| + [RaisesException] void raisesExceptionVoidMethodTestCallbackInterfaceArg(TestCallbackInterface testCallbackInterfaceArg);
|
| + [RaisesException] void raisesExceptionVoidMethodOptionalTestCallbackInterfaceArg(optional TestCallbackInterface optionalTestCallbackInterfaceArg);
|
| + [RaisesException] TestInterfaceEmpty raisesExceptionTestInterfaceEmptyVoidMethod();
|
| + [CallWith=ExecutionContext, RaisesException] void callWithExecutionContextRaisesExceptionVoidMethodLongArg(long longArg);
|
| + [ReadOnly] void readOnlyVoidMethod();
|
| + [NotEnumerable, ReadOnly] void notEnumerableReadOnlyVoidMethod();
|
| + [RuntimeEnabled=FeatureName] void runtimeEnabledVoidMethod();
|
| + [PerWorldBindings, RuntimeEnabled=FeatureName] void perWorldBindingsRuntimeEnabledVoidMethod();
|
| + [RuntimeEnabled=FeatureName] void runtimeEnabledOverloadedVoidMethod(DOMString stringArg);
|
| + [RuntimeEnabled=FeatureName] void runtimeEnabledOverloadedVoidMethod(long longArg);
|
| + [RuntimeEnabled=FeatureName1] void partiallyRuntimeEnabledOverloadedVoidMethod(DOMString stringArg);
|
| + [RuntimeEnabled=FeatureName2] void partiallyRuntimeEnabledOverloadedVoidMethod(TestInterface testInterface);
|
| + void partiallyRuntimeEnabledOverloadedVoidMethod(long longArg);
|
| + [TreatReturnedNullStringAs=Null] DOMString treatReturnedNullStringAsNullStringMethod();
|
| + [TreatReturnedNullStringAs=Undefined] DOMString treatReturnedNullStringAsUndefinedStringMethod();
|
| + [TreatReturnedNullStringAs=Null] ByteString treatReturnedNullStringAsNullByteStringMethod();
|
| + [TreatReturnedNullStringAs=Undefined] ByteString treatReturnedNullStringAsUndefinedByteStringMethod();
|
| + [TreatReturnedNullStringAs=Null] ScalarValueString treatReturnedNullStringAsNullScalarValueStringMethod();
|
| + [TreatReturnedNullStringAs=Undefined] ScalarValueString treatReturnedNullStringAsUndefinedScalarValueStringMethod();
|
| + [TypeChecking=Interface] void typeCheckingInterfaceVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty testInterfaceEmptyArg);
|
| + [TypeChecking=Nullable] void typeCheckingNullableVoidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? testInterfaceEmptyOrNullArg);
|
| + [TypeChecking=Interface|Nullable] void typeCheckingInterfaceNullableVoidMethodTestInterfaceEmptyOrNullArg(TestInterfaceEmpty? testInterfaceEmptyOrNullArg);
|
| + [TypeChecking=Unrestricted] void typeCheckingUnrestrictedVoidMethodFloatArgDoubleArg(float floatArg, double doubleArg);
|
| + [Unforgeable] void unforgeableVoidMethod();
|
| + void voidMethodTestInterfaceGarbageCollectedSequenceArg(sequence<TestInterfaceGarbageCollected> testInterfaceGarbageCollectedSequenceArg);
|
| + void voidMethodTestInterfaceGarbageCollectedArrayArg(TestInterfaceGarbageCollected[] testInterfaceGarbageCollectedArrayArg);
|
| + void voidMethodTestInterfaceWillBeGarbageCollectedSequenceArg(sequence<TestInterfaceWillBeGarbageCollected> testInterfaceWillBeGarbageCollectedSequenceArg);
|
| + void voidMethodTestInterfaceWillBeGarbageCollectedArrayArg(TestInterfaceWillBeGarbageCollected[] testInterfaceWillBeGarbageCollectedArrayArg);
|
| +
|
| + // Extended attributes on referenced interfaces
|
| + // (not self; self-reference tests at interface themselves)
|
| + attribute TestInterface testInterfaceAttribute; // [ImplementedAs]
|
| + attribute TestInterfaceGarbageCollected testInterfaceGarbageCollectedAttribute; // [GarbageCollected]
|
| + attribute TestInterfaceGarbageCollected? testInterfaceGarbageCollectedOrNullAttribute; // [GarbageCollected]
|
| + attribute TestInterfaceWillBeGarbageCollected testInterfaceWillBeGarbageCollectedAttribute; // [WillBeGarbageCollected]
|
| + attribute TestInterfaceWillBeGarbageCollected? testInterfaceWillBeGarbageCollectedOrNullAttribute; // [WillBeGarbageCollected]
|
| +};
|
|
|