/* * 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. */ // This IDL file is for testing the bindings code generator and for tracking // changes in its output. [ Constructor(STRING hello, TEST_CALLBACK_FUNCTION testCallbackFunction, TEST_CALLBACK_INTERFACE testCallbackInterface), ] interface TestTypedefs { attribute ULONGLONG unsignedLongLongAttr; attribute SCRIPT_VALUE serializedScriptValue; static readonly attribute T TestSubObj; void func(optional SEQUENCE_OF_LONGS x = []); void setShadow(DOUBLE width, DOUBLE height, unrestricted float blur, optional STRING color, optional DOUBLE alpha); ULONGLONG methodWithSequenceArg(sequence sequenceArg); void nullableSequenceArg(SEQUENCE_OF_STRINGS? sequenceArg); void sequenceOfNullablesArg(sequence sequenceArg); void nullableSequenceOfNullablesArg(SEQUENCE_OF_NULLABLE_STRINGS? sequenceArg); void nullableSequenceOfUnionsArg(sequence<(STRING or SEQUENCE_OF_STRINGS)>? sequenceArg); void unionArg(UNION_STRING_LONG unionArg); void funcWithClamp([Clamp] ULONGLONG arg1, optional [Clamp] ULONGLONG arg2); void funcWithClampInTypedef(CLAMPED_LONG arg); attribute [Clamp] ULONGLONG attributeWithClamp; attribute CLAMPED_LONG attributeWithClampInTypedef; SVGPOINT pointFunction(); [MayThrowException] SEQUENCE_OF_STRINGS stringSequenceFunction(SEQUENCE_OF_STRINGS values); [MayThrowException] sequence stringSequenceFunction2(sequence values); boolean callWithSequenceThatRequiresInclude(sequence sequenceArg); // Exceptions [MayThrowException] void methodWithException(); // Builtin Typedefs attribute BufferSource bufferSourceAttr; attribute DOMTimeStamp domTimeStampAttr; }; typedef unrestricted float DOUBLE; typedef unsigned long long ULONGLONG; typedef SerializedScriptValue SCRIPT_VALUE; typedef sequence SEQUENCE_OF_LONGS; typedef long? NULLABLE_LONG; typedef [Clamp] long CLAMPED_LONG; typedef SVGPoint SVGPOINT; typedef DOMString STRING; typedef sequence SEQUENCE_OF_STRINGS; typedef sequence SEQUENCE_OF_NULLABLE_STRINGS; typedef TestCallbackFunction TEST_CALLBACK_FUNCTION; typedef TestCallbackInterface TEST_CALLBACK_INTERFACE; typedef TestSubObjConstructor T; typedef Int32Array ARRAY; typedef DOMException E; typedef TestEventTarget TEST_EVENT_TARGET; typedef (DOMString or long) UNION_STRING_LONG;