TestExampleGen.webidl (48470B)
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 */ 6 [LegacyFactoryFunction=Example, 7 LegacyFactoryFunction=Example(DOMString str), 8 LegacyFactoryFunction=Example2(DictForConstructor dict, any any1, object obj1, 9 object? obj2, sequence<Dict> seq, optional any any2, 10 optional object obj3, optional object? obj4), 11 LegacyFactoryFunction=Example2((long or record<DOMString, any>) arg1), 12 Exposed=Window] 13 interface TestExampleInterface { 14 constructor(); 15 constructor(DOMString str); 16 constructor(unsigned long num, boolean? boolArg); 17 constructor(TestInterface? iface); 18 constructor(unsigned long arg1, TestInterface iface); 19 constructor(ArrayBuffer arrayBuf); 20 constructor(Uint8Array typedArr); 21 // constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3); 22 23 // Integer types 24 // XXXbz add tests for throwing versions of all the integer stuff 25 readonly attribute byte readonlyByte; 26 attribute byte writableByte; 27 undefined passByte(byte arg); 28 byte receiveByte(); 29 undefined passOptionalByte(optional byte arg); 30 undefined passOptionalByteBeforeRequired(optional byte arg1, byte arg2); 31 undefined passOptionalByteWithDefault(optional byte arg = 0); 32 undefined passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2); 33 undefined passNullableByte(byte? arg); 34 undefined passOptionalNullableByte(optional byte? arg); 35 undefined passVariadicByte(byte... arg); 36 [Cached, Pure] 37 readonly attribute byte cachedByte; 38 [StoreInSlot, Constant] 39 readonly attribute byte cachedConstantByte; 40 [Cached, Pure] 41 attribute byte cachedWritableByte; 42 [Affects=Nothing] 43 attribute byte sideEffectFreeByte; 44 [Affects=Nothing, DependsOn=DOMState] 45 attribute byte domDependentByte; 46 [Affects=Nothing, DependsOn=Nothing] 47 readonly attribute byte constantByte; 48 [DependsOn=DeviceState, Affects=Nothing] 49 readonly attribute byte deviceStateDependentByte; 50 [Affects=Nothing] 51 byte returnByteSideEffectFree(); 52 [Affects=Nothing, DependsOn=DOMState] 53 byte returnDOMDependentByte(); 54 [Affects=Nothing, DependsOn=Nothing] 55 byte returnConstantByte(); 56 [DependsOn=DeviceState, Affects=Nothing] 57 byte returnDeviceStateDependentByte(); 58 59 readonly attribute short readonlyShort; 60 attribute short writableShort; 61 undefined passShort(short arg); 62 short receiveShort(); 63 undefined passOptionalShort(optional short arg); 64 undefined passOptionalShortWithDefault(optional short arg = 5); 65 66 readonly attribute long readonlyLong; 67 attribute long writableLong; 68 undefined passLong(long arg); 69 long receiveLong(); 70 undefined passOptionalLong(optional long arg); 71 undefined passOptionalLongWithDefault(optional long arg = 7); 72 73 readonly attribute long long readonlyLongLong; 74 attribute long long writableLongLong; 75 undefined passLongLong(long long arg); 76 long long receiveLongLong(); 77 undefined passOptionalLongLong(optional long long arg); 78 undefined passOptionalLongLongWithDefault(optional long long arg = -12); 79 80 readonly attribute octet readonlyOctet; 81 attribute octet writableOctet; 82 undefined passOctet(octet arg); 83 octet receiveOctet(); 84 undefined passOptionalOctet(optional octet arg); 85 undefined passOptionalOctetWithDefault(optional octet arg = 19); 86 87 readonly attribute unsigned short readonlyUnsignedShort; 88 attribute unsigned short writableUnsignedShort; 89 undefined passUnsignedShort(unsigned short arg); 90 unsigned short receiveUnsignedShort(); 91 undefined passOptionalUnsignedShort(optional unsigned short arg); 92 undefined passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2); 93 94 readonly attribute unsigned long readonlyUnsignedLong; 95 attribute unsigned long writableUnsignedLong; 96 undefined passUnsignedLong(unsigned long arg); 97 unsigned long receiveUnsignedLong(); 98 undefined passOptionalUnsignedLong(optional unsigned long arg); 99 undefined passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6); 100 101 readonly attribute unsigned long long readonlyUnsignedLongLong; 102 attribute unsigned long long writableUnsignedLongLong; 103 undefined passUnsignedLongLong(unsigned long long arg); 104 unsigned long long receiveUnsignedLongLong(); 105 undefined passOptionalUnsignedLongLong(optional unsigned long long arg); 106 undefined passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17); 107 108 attribute float writableFloat; 109 attribute unrestricted float writableUnrestrictedFloat; 110 attribute float? writableNullableFloat; 111 attribute unrestricted float? writableNullableUnrestrictedFloat; 112 attribute double writableDouble; 113 attribute unrestricted double writableUnrestrictedDouble; 114 attribute double? writableNullableDouble; 115 attribute unrestricted double? writableNullableUnrestrictedDouble; 116 undefined passFloat(float arg1, unrestricted float arg2, 117 float? arg3, unrestricted float? arg4, 118 double arg5, unrestricted double arg6, 119 double? arg7, unrestricted double? arg8, 120 sequence<float> arg9, sequence<unrestricted float> arg10, 121 sequence<float?> arg11, sequence<unrestricted float?> arg12, 122 sequence<double> arg13, sequence<unrestricted double> arg14, 123 sequence<double?> arg15, sequence<unrestricted double?> arg16); 124 [LenientFloat] 125 undefined passLenientFloat(float arg1, unrestricted float arg2, 126 float? arg3, unrestricted float? arg4, 127 double arg5, unrestricted double arg6, 128 double? arg7, unrestricted double? arg8, 129 sequence<float> arg9, 130 sequence<unrestricted float> arg10, 131 sequence<float?> arg11, 132 sequence<unrestricted float?> arg12, 133 sequence<double> arg13, 134 sequence<unrestricted double> arg14, 135 sequence<double?> arg15, 136 sequence<unrestricted double?> arg16); 137 [LenientFloat] 138 attribute float lenientFloatAttr; 139 [LenientFloat] 140 attribute double lenientDoubleAttr; 141 142 // Castable interface types 143 // XXXbz add tests for throwing versions of all the castable interface stuff 144 TestInterface receiveSelf(); 145 TestInterface? receiveNullableSelf(); 146 TestInterface receiveWeakSelf(); 147 TestInterface? receiveWeakNullableSelf(); 148 undefined passSelf(TestInterface arg); 149 undefined passNullableSelf(TestInterface? arg); 150 attribute TestInterface nonNullSelf; 151 attribute TestInterface? nullableSelf; 152 [Cached, Pure] 153 readonly attribute TestInterface cachedSelf; 154 // Optional arguments 155 undefined passOptionalSelf(optional TestInterface? arg); 156 undefined passOptionalNonNullSelf(optional TestInterface arg); 157 undefined passOptionalSelfWithDefault(optional TestInterface? arg = null); 158 159 // Non-wrapper-cache interface types 160 [NewObject] 161 TestNonWrapperCacheInterface receiveNonWrapperCacheInterface(); 162 [NewObject] 163 TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface(); 164 [NewObject] 165 sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence(); 166 [NewObject] 167 sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence(); 168 [NewObject] 169 sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence(); 170 [NewObject] 171 sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence(); 172 173 // External interface types 174 TestExternalInterface receiveExternal(); 175 TestExternalInterface? receiveNullableExternal(); 176 TestExternalInterface receiveWeakExternal(); 177 TestExternalInterface? receiveWeakNullableExternal(); 178 undefined passExternal(TestExternalInterface arg); 179 undefined passNullableExternal(TestExternalInterface? arg); 180 attribute TestExternalInterface nonNullExternal; 181 attribute TestExternalInterface? nullableExternal; 182 // Optional arguments 183 undefined passOptionalExternal(optional TestExternalInterface? arg); 184 undefined passOptionalNonNullExternal(optional TestExternalInterface arg); 185 undefined passOptionalExternalWithDefault(optional TestExternalInterface? arg = null); 186 187 // Callback interface types 188 TestCallbackInterface receiveCallbackInterface(); 189 TestCallbackInterface? receiveNullableCallbackInterface(); 190 TestCallbackInterface receiveWeakCallbackInterface(); 191 TestCallbackInterface? receiveWeakNullableCallbackInterface(); 192 undefined passCallbackInterface(TestCallbackInterface arg); 193 undefined passNullableCallbackInterface(TestCallbackInterface? arg); 194 attribute TestCallbackInterface nonNullCallbackInterface; 195 attribute TestCallbackInterface? nullableCallbackInterface; 196 // Optional arguments 197 undefined passOptionalCallbackInterface(optional TestCallbackInterface? arg); 198 undefined passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg); 199 undefined passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null); 200 201 // Sequence types 202 [Cached, Pure] 203 readonly attribute sequence<long> readonlySequence; 204 [Cached, Pure] 205 readonly attribute sequence<Dict> readonlySequenceOfDictionaries; 206 [Cached, Pure] 207 readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries; 208 [Cached, Pure, Frozen] 209 readonly attribute sequence<long> readonlyFrozenSequence; 210 [Cached, Pure, Frozen] 211 readonly attribute sequence<long>? readonlyFrozenNullableSequence; 212 sequence<long> receiveSequence(); 213 sequence<long>? receiveNullableSequence(); 214 sequence<long?> receiveSequenceOfNullableInts(); 215 sequence<long?>? receiveNullableSequenceOfNullableInts(); 216 undefined passSequence(sequence<long> arg); 217 undefined passNullableSequence(sequence<long>? arg); 218 undefined passSequenceOfNullableInts(sequence<long?> arg); 219 undefined passOptionalSequenceOfNullableInts(optional sequence<long?> arg); 220 undefined passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg); 221 sequence<TestInterface> receiveCastableObjectSequence(); 222 sequence<TestCallbackInterface> receiveCallbackObjectSequence(); 223 sequence<TestInterface?> receiveNullableCastableObjectSequence(); 224 sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence(); 225 sequence<TestInterface>? receiveCastableObjectNullableSequence(); 226 sequence<TestInterface?>? receiveNullableCastableObjectNullableSequence(); 227 sequence<TestInterface> receiveWeakCastableObjectSequence(); 228 sequence<TestInterface?> receiveWeakNullableCastableObjectSequence(); 229 sequence<TestInterface>? receiveWeakCastableObjectNullableSequence(); 230 sequence<TestInterface?>? receiveWeakNullableCastableObjectNullableSequence(); 231 undefined passCastableObjectSequence(sequence<TestInterface> arg); 232 undefined passNullableCastableObjectSequence(sequence<TestInterface?> arg); 233 undefined passCastableObjectNullableSequence(sequence<TestInterface>? arg); 234 undefined passNullableCastableObjectNullableSequence(sequence<TestInterface?>? arg); 235 undefined passOptionalSequence(optional sequence<long> arg); 236 undefined passOptionalSequenceWithDefaultValue(optional sequence<long> arg = []); 237 undefined passOptionalNullableSequence(optional sequence<long>? arg); 238 undefined passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null); 239 undefined passOptionalNullableSequenceWithDefaultValue2(optional sequence<long>? arg = []); 240 undefined passOptionalObjectSequence(optional sequence<TestInterface> arg); 241 undefined passExternalInterfaceSequence(sequence<TestExternalInterface> arg); 242 undefined passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg); 243 244 sequence<DOMString> receiveStringSequence(); 245 undefined passStringSequence(sequence<DOMString> arg); 246 247 sequence<ByteString> receiveByteStringSequence(); 248 undefined passByteStringSequence(sequence<ByteString> arg); 249 250 sequence<UTF8String> receiveUTF8StringSequence(); 251 undefined passUTF8StringSequence(sequence<UTF8String> arg); 252 253 sequence<any> receiveAnySequence(); 254 sequence<any>? receiveNullableAnySequence(); 255 //XXXbz No support for sequence of sequence return values yet. 256 //sequence<sequence<any>> receiveAnySequenceSequence(); 257 258 sequence<object> receiveObjectSequence(); 259 sequence<object?> receiveNullableObjectSequence(); 260 261 undefined passSequenceOfSequences(sequence<sequence<long>> arg); 262 undefined passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg); 263 //XXXbz No support for sequence of sequence return values yet. 264 //sequence<sequence<long>> receiveSequenceOfSequences(); 265 266 // record types 267 undefined passRecord(record<DOMString, long> arg); 268 undefined passNullableRecord(record<DOMString, long>? arg); 269 undefined passRecordOfNullableInts(record<DOMString, long?> arg); 270 undefined passOptionalRecordOfNullableInts(optional record<DOMString, long?> arg); 271 undefined passOptionalNullableRecordOfNullableInts(optional record<DOMString, long?>? arg); 272 undefined passCastableObjectRecord(record<DOMString, TestInterface> arg); 273 undefined passNullableCastableObjectRecord(record<DOMString, TestInterface?> arg); 274 undefined passCastableObjectNullableRecord(record<DOMString, TestInterface>? arg); 275 undefined passNullableCastableObjectNullableRecord(record<DOMString, TestInterface?>? arg); 276 undefined passOptionalRecord(optional record<DOMString, long> arg); 277 undefined passOptionalNullableRecord(optional record<DOMString, long>? arg); 278 undefined passOptionalNullableRecordWithDefaultValue(optional record<DOMString, long>? arg = null); 279 undefined passOptionalObjectRecord(optional record<DOMString, TestInterface> arg); 280 undefined passExternalInterfaceRecord(record<DOMString, TestExternalInterface> arg); 281 undefined passNullableExternalInterfaceRecord(record<DOMString, TestExternalInterface?> arg); 282 undefined passStringRecord(record<DOMString, DOMString> arg); 283 undefined passByteStringRecord(record<DOMString, ByteString> arg); 284 undefined passUTF8StringRecord(record<DOMString, UTF8String> arg); 285 undefined passRecordOfRecords(record<DOMString, record<DOMString, long>> arg); 286 record<DOMString, long> receiveRecord(); 287 record<DOMString, long>? receiveNullableRecord(); 288 record<DOMString, long?> receiveRecordOfNullableInts(); 289 record<DOMString, long?>? receiveNullableRecordOfNullableInts(); 290 //XXXbz No support for record of records return values yet. 291 //record<DOMString, record<DOMString, long>> receiveRecordOfRecords(); 292 record<DOMString, any> receiveAnyRecord(); 293 294 // Typed array types 295 undefined passArrayBuffer(ArrayBuffer arg); 296 undefined passNullableArrayBuffer(ArrayBuffer? arg); 297 undefined passOptionalArrayBuffer(optional ArrayBuffer arg); 298 undefined passOptionalNullableArrayBuffer(optional ArrayBuffer? arg); 299 undefined passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null); 300 undefined passArrayBufferView(ArrayBufferView arg); 301 undefined passInt8Array(Int8Array arg); 302 undefined passInt16Array(Int16Array arg); 303 undefined passInt32Array(Int32Array arg); 304 undefined passUint8Array(Uint8Array arg); 305 undefined passUint16Array(Uint16Array arg); 306 undefined passUint32Array(Uint32Array arg); 307 undefined passUint8ClampedArray(Uint8ClampedArray arg); 308 undefined passFloat32Array(Float32Array arg); 309 undefined passFloat64Array(Float64Array arg); 310 undefined passBigUint64Array(BigUint64Array arg); 311 undefined passBigInt64Array(BigInt64Array arg); 312 undefined passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg); 313 undefined passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg); 314 undefined passRecordOfArrayBuffers(record<DOMString, ArrayBuffer> arg); 315 undefined passRecordOfNullableArrayBuffers(record<DOMString, ArrayBuffer?> arg); 316 undefined passVariadicTypedArray(Float32Array... arg); 317 undefined passVariadicNullableTypedArray(Float32Array?... arg); 318 Uint8Array receiveUint8Array(); 319 attribute Uint8Array uint8ArrayAttr; 320 321 // DOMString types 322 undefined passString(DOMString arg); 323 undefined passNullableString(DOMString? arg); 324 undefined passOptionalString(optional DOMString arg); 325 undefined passOptionalStringWithDefaultValue(optional DOMString arg = "abc"); 326 undefined passOptionalNullableString(optional DOMString? arg); 327 undefined passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null); 328 undefined passVariadicString(DOMString... arg); 329 330 // ByteString types 331 undefined passByteString(ByteString arg); 332 undefined passNullableByteString(ByteString? arg); 333 undefined passOptionalByteString(optional ByteString arg); 334 undefined passOptionalByteStringWithDefaultValue(optional ByteString arg = "abc"); 335 undefined passOptionalNullableByteString(optional ByteString? arg); 336 undefined passOptionalNullableByteStringWithDefaultValue(optional ByteString? arg = null); 337 undefined passVariadicByteString(ByteString... arg); 338 undefined passUnionByteString((ByteString or long) arg); 339 undefined passOptionalUnionByteString(optional (ByteString or long) arg); 340 undefined passOptionalUnionByteStringWithDefaultValue(optional (ByteString or long) arg = "abc"); 341 342 // UTF8String types 343 undefined passUTF8String(UTF8String arg); 344 undefined passNullableUTF8String(UTF8String? arg); 345 undefined passOptionalUTF8String(optional UTF8String arg); 346 undefined passOptionalUTF8StringWithDefaultValue(optional UTF8String arg = "abc"); 347 undefined passOptionalNullableUTF8String(optional UTF8String? arg); 348 undefined passOptionalNullableUTF8StringWithDefaultValue(optional UTF8String? arg = null); 349 undefined passVariadicUTF8String(UTF8String... arg); 350 undefined passUnionUTF8String((UTF8String or long) arg); 351 undefined passOptionalUnionUTF8String(optional (UTF8String or long) arg); 352 undefined passOptionalUnionUTF8StringWithDefaultValue(optional (UTF8String or long) arg = "abc"); 353 354 // USVString types 355 undefined passSVS(USVString arg); 356 undefined passNullableSVS(USVString? arg); 357 undefined passOptionalSVS(optional USVString arg); 358 undefined passOptionalSVSWithDefaultValue(optional USVString arg = "abc"); 359 undefined passOptionalNullableSVS(optional USVString? arg); 360 undefined passOptionalNullableSVSWithDefaultValue(optional USVString? arg = null); 361 undefined passVariadicSVS(USVString... arg); 362 USVString receiveSVS(); 363 364 // JSString types 365 undefined passJSString(JSString arg); 366 // undefined passNullableJSString(JSString? arg); // NOT SUPPORTED YET 367 // undefined passOptionalJSString(optional JSString arg); // NOT SUPPORTED YET 368 undefined passOptionalJSStringWithDefaultValue(optional JSString arg = "abc"); 369 // undefined passOptionalNullableJSString(optional JSString? arg); // NOT SUPPORTED YET 370 // undefined passOptionalNullableJSStringWithDefaultValue(optional JSString? arg = null); // NOT SUPPORTED YET 371 // undefined passVariadicJSString(JSString... arg); // NOT SUPPORTED YET 372 // undefined passRecordOfJSString(record<DOMString, JSString> arg); // NOT SUPPORTED YET 373 // undefined passSequenceOfJSString(sequence<JSString> arg); // NOT SUPPORTED YET 374 // undefined passUnionJSString((JSString or long) arg); // NOT SUPPORTED YET 375 JSString receiveJSString(); 376 // sequence<JSString> receiveJSStringSequence(); // NOT SUPPORTED YET 377 // (JSString or long) receiveJSStringUnion(); // NOT SUPPORTED YET 378 // record<DOMString, JSString> receiveJSStringRecord(); // NOT SUPPORTED YET 379 readonly attribute JSString readonlyJSStringAttr; 380 attribute JSString jsStringAttr; 381 382 // Enumerated types 383 undefined passEnum(TestEnum arg); 384 undefined passNullableEnum(TestEnum? arg); 385 undefined passOptionalEnum(optional TestEnum arg); 386 undefined passEnumWithDefault(optional TestEnum arg = "a"); 387 undefined passOptionalNullableEnum(optional TestEnum? arg); 388 undefined passOptionalNullableEnumWithDefaultValue(optional TestEnum? arg = null); 389 undefined passOptionalNullableEnumWithDefaultValue2(optional TestEnum? arg = "a"); 390 TestEnum receiveEnum(); 391 TestEnum? receiveNullableEnum(); 392 attribute TestEnum enumAttribute; 393 readonly attribute TestEnum readonlyEnumAttribute; 394 395 // Callback types 396 undefined passCallback(TestCallback arg); 397 undefined passNullableCallback(TestCallback? arg); 398 undefined passOptionalCallback(optional TestCallback arg); 399 undefined passOptionalNullableCallback(optional TestCallback? arg); 400 undefined passOptionalNullableCallbackWithDefaultValue(optional TestCallback? arg = null); 401 TestCallback receiveCallback(); 402 TestCallback? receiveNullableCallback(); 403 undefined passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg); 404 undefined passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg); 405 undefined passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null); 406 407 // Any types 408 undefined passAny(any arg); 409 undefined passVariadicAny(any... arg); 410 undefined passOptionalAny(optional any arg); 411 undefined passAnyDefaultNull(optional any arg = null); 412 undefined passSequenceOfAny(sequence<any> arg); 413 undefined passNullableSequenceOfAny(sequence<any>? arg); 414 undefined passOptionalSequenceOfAny(optional sequence<any> arg); 415 undefined passOptionalNullableSequenceOfAny(optional sequence<any>? arg); 416 undefined passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null); 417 undefined passSequenceOfSequenceOfAny(sequence<sequence<any>> arg); 418 undefined passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg); 419 undefined passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg); 420 undefined passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg); 421 undefined passRecordOfAny(record<DOMString, any> arg); 422 undefined passNullableRecordOfAny(record<DOMString, any>? arg); 423 undefined passOptionalRecordOfAny(optional record<DOMString, any> arg); 424 undefined passOptionalNullableRecordOfAny(optional record<DOMString, any>? arg); 425 undefined passOptionalRecordOfAnyWithDefaultValue(optional record<DOMString, any>? arg = null); 426 undefined passRecordOfRecordOfAny(record<DOMString, record<DOMString, any>> arg); 427 undefined passRecordOfNullableRecordOfAny(record<DOMString, record<DOMString, any>?> arg); 428 undefined passNullableRecordOfNullableRecordOfAny(record<DOMString, record<DOMString, any>?>? arg); 429 undefined passOptionalNullableRecordOfNullableRecordOfAny(optional record<DOMString, record<DOMString, any>?>? arg); 430 undefined passOptionalNullableRecordOfNullableSequenceOfAny(optional record<DOMString, sequence<any>?>? arg); 431 undefined passOptionalNullableSequenceOfNullableRecordOfAny(optional sequence<record<DOMString, any>?>? arg); 432 any receiveAny(); 433 434 // object types 435 undefined passObject(object arg); 436 undefined passVariadicObject(object... arg); 437 undefined passNullableObject(object? arg); 438 undefined passVariadicNullableObject(object... arg); 439 undefined passOptionalObject(optional object arg); 440 undefined passOptionalNullableObject(optional object? arg); 441 undefined passOptionalNullableObjectWithDefaultValue(optional object? arg = null); 442 undefined passSequenceOfObject(sequence<object> arg); 443 undefined passSequenceOfNullableObject(sequence<object?> arg); 444 undefined passNullableSequenceOfObject(sequence<object>? arg); 445 undefined passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg); 446 undefined passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg); 447 undefined passRecordOfObject(record<DOMString, object> arg); 448 object receiveObject(); 449 object? receiveNullableObject(); 450 451 // Union types 452 undefined passUnion((object or long) arg); 453 // Some union tests are debug-only to avoid creating all those 454 // unused union types in opt builds. 455 456 #ifdef DEBUG 457 undefined passUnion2((long or boolean) arg); 458 undefined passUnion3((object or long or boolean) arg); 459 undefined passUnion4((Node or long or boolean) arg); 460 undefined passUnion5((object or boolean) arg); 461 undefined passUnion6((object or DOMString) arg); 462 undefined passUnion7((object or DOMString or long) arg); 463 undefined passUnion8((object or DOMString or boolean) arg); 464 undefined passUnion9((object or DOMString or long or boolean) arg); 465 undefined passUnion10(optional (EventInit or long) arg = {}); 466 undefined passUnion11(optional (CustomEventInit or long) arg = {}); 467 undefined passUnion12(optional (EventInit or long) arg = 5); 468 undefined passUnion13(optional (object or long?) arg = null); 469 undefined passUnion14(optional (object or long?) arg = 5); 470 undefined passUnion15((sequence<long> or long) arg); 471 undefined passUnion16(optional (sequence<long> or long) arg); 472 undefined passUnion17(optional (sequence<long>? or long) arg = 5); 473 undefined passUnion18((sequence<object> or long) arg); 474 undefined passUnion19(optional (sequence<object> or long) arg); 475 undefined passUnion20(optional (sequence<object> or long) arg = []); 476 undefined passUnion21((record<DOMString, long> or long) arg); 477 undefined passUnion22((record<DOMString, object> or long) arg); 478 undefined passUnion23((sequence<ImageData> or long) arg); 479 undefined passUnion24((sequence<ImageData?> or long) arg); 480 undefined passUnion25((sequence<sequence<ImageData>> or long) arg); 481 undefined passUnion26((sequence<sequence<ImageData?>> or long) arg); 482 undefined passUnion27(optional (sequence<DOMString> or EventInit) arg = {}); 483 undefined passUnion28(optional (EventInit or sequence<DOMString>) arg = {}); 484 undefined passUnionWithCallback((EventHandler or long) arg); 485 undefined passUnionWithByteString((ByteString or long) arg); 486 undefined passUnionWithUTF8String((UTF8String or long) arg); 487 undefined passUnionWithRecord((record<DOMString, DOMString> or DOMString) arg); 488 undefined passUnionWithRecordAndSequence((record<DOMString, DOMString> or sequence<DOMString>) arg); 489 undefined passUnionWithSequenceAndRecord((sequence<DOMString> or record<DOMString, DOMString>) arg); 490 undefined passUnionWithSVS((USVString or long) arg); 491 #endif 492 undefined passUnionWithNullable((object? or long) arg); 493 undefined passNullableUnion((object or long)? arg); 494 undefined passOptionalUnion(optional (object or long) arg); 495 undefined passOptionalNullableUnion(optional (object or long)? arg); 496 undefined passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null); 497 //undefined passUnionWithInterfaces((TestInterface or TestExternalInterface) arg); 498 //undefined passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg); 499 //undefined passUnionWithSequence((sequence<object> or long) arg); 500 undefined passUnionWithArrayBuffer((UTF8String or ArrayBuffer) arg); 501 undefined passUnionWithArrayBufferOrNull((UTF8String or ArrayBuffer?) arg); 502 undefined passUnionWithTypedArrays((ArrayBufferView or ArrayBuffer) arg); 503 undefined passUnionWithTypedArraysOrNull((ArrayBufferView or ArrayBuffer?) arg); 504 undefined passUnionWithString((DOMString or object) arg); 505 // Using an enum in a union. Note that we use some enum not declared in our 506 // binding file, because UnionTypes.h will need to include the binding header 507 // for this enum. Pick an enum from an interface that won't drag in too much 508 // stuff. 509 undefined passUnionWithEnum((SupportedType or object) arg); 510 511 // Trying to use a callback in a union won't include the test 512 // headers, unfortunately, so won't compile. 513 // undefined passUnionWithCallback((TestCallback or long) arg); 514 undefined passUnionWithObject((object or long) arg); 515 //undefined passUnionWithDict((Dict or long) arg); 516 517 undefined passUnionWithDefaultValue1(optional (double or DOMString) arg = ""); 518 undefined passUnionWithDefaultValue2(optional (double or DOMString) arg = 1); 519 undefined passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5); 520 undefined passUnionWithDefaultValue4(optional (float or DOMString) arg = ""); 521 undefined passUnionWithDefaultValue5(optional (float or DOMString) arg = 1); 522 undefined passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5); 523 undefined passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = ""); 524 undefined passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1); 525 undefined passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5); 526 undefined passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity); 527 undefined passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = ""); 528 undefined passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1); 529 undefined passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity); 530 undefined passUnionWithDefaultValue14(optional (double or ByteString) arg = ""); 531 undefined passUnionWithDefaultValue15(optional (double or ByteString) arg = 1); 532 undefined passUnionWithDefaultValue16(optional (double or ByteString) arg = 1.5); 533 undefined passUnionWithDefaultValue17(optional (double or SupportedType) arg = "text/html"); 534 undefined passUnionWithDefaultValue18(optional (double or SupportedType) arg = 1); 535 undefined passUnionWithDefaultValue19(optional (double or SupportedType) arg = 1.5); 536 undefined passUnionWithDefaultValue20(optional (double or USVString) arg = "abc"); 537 undefined passUnionWithDefaultValue21(optional (double or USVString) arg = 1); 538 undefined passUnionWithDefaultValue22(optional (double or USVString) arg = 1.5); 539 undefined passUnionWithDefaultValue23(optional (double or UTF8String) arg = ""); 540 undefined passUnionWithDefaultValue24(optional (double or UTF8String) arg = 1); 541 undefined passUnionWithDefaultValue25(optional (double or UTF8String) arg = 1.5); 542 543 undefined passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = ""); 544 undefined passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1); 545 undefined passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null); 546 undefined passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = ""); 547 undefined passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1); 548 undefined passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null); 549 undefined passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = ""); 550 undefined passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1); 551 undefined passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null); 552 undefined passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = ""); 553 undefined passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1); 554 undefined passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null); 555 undefined passNullableUnionWithDefaultValue13(optional (double or ByteString)? arg = ""); 556 undefined passNullableUnionWithDefaultValue14(optional (double or ByteString)? arg = 1); 557 undefined passNullableUnionWithDefaultValue15(optional (double or ByteString)? arg = 1.5); 558 undefined passNullableUnionWithDefaultValue16(optional (double or ByteString)? arg = null); 559 undefined passNullableUnionWithDefaultValue17(optional (double or SupportedType)? arg = "text/html"); 560 undefined passNullableUnionWithDefaultValue18(optional (double or SupportedType)? arg = 1); 561 undefined passNullableUnionWithDefaultValue19(optional (double or SupportedType)? arg = 1.5); 562 undefined passNullableUnionWithDefaultValue20(optional (double or SupportedType)? arg = null); 563 undefined passNullableUnionWithDefaultValue21(optional (double or USVString)? arg = "abc"); 564 undefined passNullableUnionWithDefaultValue22(optional (double or USVString)? arg = 1); 565 undefined passNullableUnionWithDefaultValue23(optional (double or USVString)? arg = 1.5); 566 undefined passNullableUnionWithDefaultValue24(optional (double or USVString)? arg = null); 567 undefined passNullableUnionWithDefaultValue25(optional (double or UTF8String)? arg = ""); 568 undefined passNullableUnionWithDefaultValue26(optional (double or UTF8String)? arg = 1); 569 undefined passNullableUnionWithDefaultValue27(optional (double or UTF8String)? arg = 1.5); 570 undefined passNullableUnionWithDefaultValue28(optional (double or UTF8String)? arg = null); 571 572 undefined passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg); 573 undefined passSequenceOfUnions2(sequence<(object or long)> arg); 574 undefined passVariadicUnion((CanvasPattern or CanvasGradient)... arg); 575 576 undefined passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg); 577 undefined passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg); 578 undefined passRecordOfUnions(record<DOMString, (CanvasPattern or CanvasGradient)> arg); 579 // XXXbz no move constructor on some unions 580 // undefined passRecordOfUnions2(record<DOMString, (object or long)> arg); 581 582 (CanvasPattern or CanvasGradient) receiveUnion(); 583 (object or long) receiveUnion2(); 584 (CanvasPattern? or CanvasGradient) receiveUnionContainingNull(); 585 (CanvasPattern or CanvasGradient)? receiveNullableUnion(); 586 (object or long)? receiveNullableUnion2(); 587 (undefined or CanvasPattern) receiveUnionWithUndefined(); 588 (undefined? or CanvasPattern) receiveUnionWithNullableUndefined(); 589 (undefined or CanvasPattern?) receiveUnionWithUndefinedAndNullable(); 590 (undefined or CanvasPattern)? receiveNullableUnionWithUndefined(); 591 592 attribute (CanvasPattern or CanvasGradient) writableUnion; 593 attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull; 594 attribute (CanvasPattern or CanvasGradient)? writableNullableUnion; 595 attribute (undefined or CanvasPattern) writableUnionWithUndefined; 596 attribute (undefined? or CanvasPattern) writableUnionWithNullableUndefined; 597 attribute (undefined or CanvasPattern?) writableUnionWithUndefinedAndNullable; 598 attribute (undefined or CanvasPattern)? writableNullableUnionWithUndefined; 599 600 // Promise types 601 undefined passPromise(Promise<any> arg); 602 undefined passOptionalPromise(optional Promise<any> arg); 603 undefined passPromiseSequence(sequence<Promise<any>> arg); 604 Promise<any> receivePromise(); 605 Promise<any> receiveAddrefedPromise(); 606 607 // ObservableArray types 608 attribute ObservableArray<boolean> booleanObservableArray; 609 attribute ObservableArray<object> objectObservableArray; 610 attribute ObservableArray<any> anyObservableArray; 611 attribute ObservableArray<TestInterface> interfaceObservableArray; 612 attribute ObservableArray<long?> nullableObservableArray; 613 614 // binaryNames tests 615 [BinaryName="methodRenamedTo"] 616 undefined methodRenamedFrom(); 617 [BinaryName="methodRenamedTo"] 618 undefined methodRenamedFrom(byte argument); 619 [BinaryName="attributeGetterRenamedTo"] 620 readonly attribute byte attributeGetterRenamedFrom; 621 [BinaryName="attributeRenamedTo"] 622 attribute byte attributeRenamedFrom; 623 624 undefined passDictionary(optional Dict x = {}); 625 undefined passDictionary2(Dict x); 626 [Cached, Pure] 627 readonly attribute Dict readonlyDictionary; 628 [Cached, Pure] 629 readonly attribute Dict? readonlyNullableDictionary; 630 [Cached, Pure] 631 attribute Dict writableDictionary; 632 [Cached, Pure, Frozen] 633 readonly attribute Dict readonlyFrozenDictionary; 634 [Cached, Pure, Frozen] 635 readonly attribute Dict? readonlyFrozenNullableDictionary; 636 [Cached, Pure, Frozen] 637 attribute Dict writableFrozenDictionary; 638 Dict receiveDictionary(); 639 Dict? receiveNullableDictionary(); 640 undefined passOtherDictionary(optional GrandparentDict x = {}); 641 undefined passSequenceOfDictionaries(sequence<Dict> x); 642 undefined passRecordOfDictionaries(record<DOMString, GrandparentDict> x); 643 // No support for nullable dictionaries inside a sequence (nor should there be) 644 // undefined passSequenceOfNullableDictionaries(sequence<Dict?> x); 645 undefined passDictionaryOrLong(optional Dict x = {}); 646 undefined passDictionaryOrLong(long x); 647 648 undefined passDictContainingDict(optional DictContainingDict arg = {}); 649 undefined passDictContainingSequence(optional DictContainingSequence arg = {}); 650 DictContainingSequence receiveDictContainingSequence(); 651 undefined passVariadicDictionary(Dict... arg); 652 653 // EnforceRange/Clamp tests 654 undefined dontEnforceRangeOrClamp(byte arg); 655 undefined doEnforceRange([EnforceRange] byte arg); 656 undefined doEnforceRangeNullable([EnforceRange] byte? arg); 657 undefined doClamp([Clamp] byte arg); 658 undefined doClampNullable([Clamp] byte? arg); 659 attribute [EnforceRange] byte enforcedByte; 660 attribute [EnforceRange] byte? enforcedByteNullable; 661 attribute [Clamp] byte clampedByte; 662 attribute [Clamp] byte? clampedByteNullable; 663 664 // Typedefs 665 const myLong myLongConstant = 5; 666 undefined exerciseTypedefInterfaces1(AnotherNameForTestInterface arg); 667 AnotherNameForTestInterface exerciseTypedefInterfaces2(NullableTestInterface arg); 668 undefined exerciseTypedefInterfaces3(YetAnotherNameForTestInterface arg); 669 670 // Deprecated methods and attributes 671 [Deprecated="Components"] 672 attribute boolean deprecatedAttribute; 673 [Deprecated="Components"] 674 undefined deprecatedMethod(boolean arg); 675 [Deprecated="Components"] 676 undefined deprecatedMethodWithContext(any arg); 677 678 // Static methods and attributes 679 static attribute boolean staticAttribute; 680 static undefined staticMethod(boolean arg); 681 static undefined staticMethodWithContext(any arg); 682 683 // Deprecated methods and attributes; 684 [Deprecated="Components"] 685 static attribute boolean staticDeprecatedAttribute; 686 [Deprecated="Components"] 687 static undefined staticDeprecatedMethod(boolean arg); 688 [Deprecated="Components"] 689 static undefined staticDeprecatedMethodWithContext(any arg); 690 691 // Overload resolution tests 692 //undefined overload1(DOMString... strs); 693 boolean overload1(TestInterface arg); 694 TestInterface overload1(DOMString strs, TestInterface arg); 695 undefined overload2(TestInterface arg); 696 undefined overload2(optional Dict arg = {}); 697 undefined overload2(boolean arg); 698 undefined overload2(DOMString arg); 699 undefined overload3(TestInterface arg); 700 undefined overload3(TestCallback arg); 701 undefined overload3(boolean arg); 702 undefined overload4(TestInterface arg); 703 undefined overload4(TestCallbackInterface arg); 704 undefined overload4(DOMString arg); 705 undefined overload5(long arg); 706 undefined overload5(TestEnum arg); 707 undefined overload6(long arg); 708 undefined overload6(boolean arg); 709 undefined overload7(long arg); 710 undefined overload7(boolean arg); 711 undefined overload7(ByteString arg); 712 undefined overload8(long arg); 713 undefined overload8(TestInterface arg); 714 undefined overload9(long? arg); 715 undefined overload9(DOMString arg); 716 undefined overload10(long? arg); 717 undefined overload10(object arg); 718 undefined overload11(long arg); 719 undefined overload11(DOMString? arg); 720 undefined overload12(long arg); 721 undefined overload12(boolean? arg); 722 undefined overload13(long? arg); 723 undefined overload13(boolean arg); 724 undefined overload14(optional long arg); 725 undefined overload14(TestInterface arg); 726 undefined overload15(long arg); 727 undefined overload15(optional TestInterface arg); 728 undefined overload16(long arg); 729 undefined overload16(optional TestInterface? arg); 730 undefined overload17(sequence<long> arg); 731 undefined overload17(record<DOMString, long> arg); 732 undefined overload18(record<DOMString, DOMString> arg); 733 undefined overload18(sequence<DOMString> arg); 734 undefined overload19(sequence<long> arg); 735 undefined overload19(optional Dict arg = {}); 736 undefined overload20(optional Dict arg = {}); 737 undefined overload20(sequence<long> arg); 738 739 // Variadic handling 740 undefined passVariadicThirdArg(DOMString arg1, long arg2, TestInterface... arg3); 741 742 // Conditionally exposed methods/attributes 743 [Pref="dom.webidl.test1"] 744 readonly attribute boolean prefable1; 745 [Pref="dom.webidl.test1"] 746 readonly attribute boolean prefable2; 747 [Pref="dom.webidl.test2"] 748 readonly attribute boolean prefable3; 749 [Pref="dom.webidl.test2"] 750 readonly attribute boolean prefable4; 751 [Pref="dom.webidl.test1"] 752 readonly attribute boolean prefable5; 753 [Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 754 readonly attribute boolean prefable6; 755 [Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 756 readonly attribute boolean prefable7; 757 [Pref="dom.webidl.test2", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 758 readonly attribute boolean prefable8; 759 [Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 760 readonly attribute boolean prefable9; 761 [Pref="dom.webidl.test1"] 762 undefined prefable10(); 763 [Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 764 undefined prefable11(); 765 [Pref="dom.webidl.test1", Func="TestFuncControlledMember"] 766 readonly attribute boolean prefable12; 767 [Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 768 undefined prefable13(); 769 [Pref="dom.webidl.test1", Func="TestFuncControlledMember"] 770 readonly attribute boolean prefable14; 771 [Func="TestFuncControlledMember"] 772 readonly attribute boolean prefable15; 773 [Func="TestFuncControlledMember"] 774 readonly attribute boolean prefable16; 775 [Pref="dom.webidl.test1", Func="TestFuncControlledMember"] 776 undefined prefable17(); 777 [Func="TestFuncControlledMember"] 778 undefined prefable18(); 779 [Func="TestFuncControlledMember"] 780 undefined prefable19(); 781 [Trial="TestTrial"] 782 undefined prefable20(); 783 [Trial="TestTrial"] 784 readonly attribute boolean prefable21; 785 [Trial="TestTrial", Func="TestFuncControlledMember"] 786 readonly attribute boolean prefable22; 787 788 // Conditionally exposed methods/attributes involving [SecureContext] 789 [SecureContext] 790 readonly attribute boolean conditionalOnSecureContext1; 791 [SecureContext, Pref="dom.webidl.test1"] 792 readonly attribute boolean conditionalOnSecureContext2; 793 [SecureContext, Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 794 readonly attribute boolean conditionalOnSecureContext3; 795 [SecureContext, Pref="dom.webidl.test1", Func="TestFuncControlledMember"] 796 readonly attribute boolean conditionalOnSecureContext4; 797 [SecureContext] 798 undefined conditionalOnSecureContext5(); 799 [SecureContext, Pref="dom.webidl.test1"] 800 undefined conditionalOnSecureContext6(); 801 [SecureContext, Pref="dom.webidl.test1", Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] 802 undefined conditionalOnSecureContext7(); 803 [SecureContext, Pref="dom.webidl.test1", Func="TestFuncControlledMember"] 804 undefined conditionalOnSecureContext8(); 805 [SecureContext, Trial="TestTrial"] 806 readonly attribute boolean conditionalOnSecureContext9; 807 [SecureContext, Trial="TestTrial"] 808 undefined conditionalOnSecureContext10(); 809 810 // Miscellania 811 [LegacyLenientThis] attribute long attrWithLenientThis; 812 [LegacyUnforgeable] readonly attribute long unforgeableAttr; 813 [LegacyUnforgeable, ChromeOnly] readonly attribute long unforgeableAttr2; 814 [LegacyUnforgeable] long unforgeableMethod(); 815 [LegacyUnforgeable, ChromeOnly] long unforgeableMethod2(); 816 stringifier; 817 undefined passRenamedInterface(TestRenamedInterface arg); 818 [PutForwards=writableByte] readonly attribute TestExampleInterface putForwardsAttr; 819 [PutForwards=writableByte, LegacyLenientThis] readonly attribute TestExampleInterface putForwardsAttr2; 820 [PutForwards=writableByte, ChromeOnly] readonly attribute TestExampleInterface putForwardsAttr3; 821 [Throws] undefined throwingMethod(); 822 [Throws] attribute boolean throwingAttr; 823 [GetterThrows] attribute boolean throwingGetterAttr; 824 [SetterThrows] attribute boolean throwingSetterAttr; 825 [CanOOM] undefined canOOMMethod(); 826 [CanOOM] attribute boolean canOOMAttr; 827 [GetterCanOOM] attribute boolean canOOMGetterAttr; 828 [SetterCanOOM] attribute boolean canOOMSetterAttr; 829 [NeedsSubjectPrincipal] undefined needsSubjectPrincipalMethod(); 830 [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr; 831 [NeedsSubjectPrincipal=NonSystem] undefined needsNonSystemSubjectPrincipalMethod(); 832 [NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr; 833 [NeedsCallerType] undefined needsCallerTypeMethod(); 834 [NeedsCallerType] attribute boolean needsCallerTypeAttr; 835 [CEReactions] undefined ceReactionsMethod(); 836 [CEReactions] undefined ceReactionsMethodOverload(); 837 [CEReactions] undefined ceReactionsMethodOverload(DOMString bar); 838 [CEReactions] attribute boolean ceReactionsAttr; 839 legacycaller short(unsigned long arg1, TestInterface arg2); 840 undefined passArgsWithDefaults(optional long arg1, 841 optional TestInterface? arg2 = null, 842 optional Dict arg3 = {}, optional double arg4 = 5.0, 843 optional float arg5); 844 attribute any toJSONShouldSkipThis; 845 attribute TestParentInterface toJSONShouldSkipThis2; 846 attribute TestCallbackInterface toJSONShouldSkipThis3; 847 [Default] object toJSON(); 848 849 attribute byte dashed-attribute; 850 undefined dashed-method(); 851 852 // [NonEnumerable] tests 853 [NonEnumerable] 854 attribute boolean nonEnumerableAttr; 855 [NonEnumerable] 856 const boolean nonEnumerableConst = true; 857 [NonEnumerable] 858 undefined nonEnumerableMethod(); 859 860 // [AllowShared] tests 861 attribute [AllowShared] ArrayBufferViewTypedef allowSharedArrayBufferViewTypedef; 862 attribute [AllowShared] ArrayBufferView allowSharedArrayBufferView; 863 attribute [AllowShared] ArrayBufferView? allowSharedNullableArrayBufferView; 864 attribute [AllowShared] ArrayBuffer allowSharedArrayBuffer; 865 attribute [AllowShared] ArrayBuffer? allowSharedNullableArrayBuffer; 866 867 undefined passAllowSharedArrayBufferViewTypedef(AllowSharedArrayBufferViewTypedef foo); 868 undefined passAllowSharedArrayBufferView([AllowShared] ArrayBufferView foo); 869 undefined passAllowSharedNullableArrayBufferView([AllowShared] ArrayBufferView? foo); 870 undefined passAllowSharedArrayBuffer([AllowShared] ArrayBuffer foo); 871 undefined passAllowSharedNullableArrayBuffer([AllowShared] ArrayBuffer? foo); 872 undefined passUnionArrayBuffer((DOMString or ArrayBuffer) foo); 873 undefined passUnionAllowSharedArrayBuffer((DOMString or [AllowShared] ArrayBuffer) foo); 874 undefined passAllowSharedInt8ArrayOrInt16Array([AllowShared] (Int8Array or Int16Array) foo); 875 876 [Frozen, ReflectedHTMLAttributeReturningFrozenArray] 877 attribute sequence<Element>? reflectedHTMLAttributeReturningFrozenArray; 878 879 // If you add things here, add them to TestExampleGen. If they need to be 880 // supported in JS-implemented WebIDL then you need to add them to 881 // TestJSImplGen as well, if they are not supported in JS-implemented WebIDL 882 // then the codegen should throw for that specific case. 883 }; 884 885 [Exposed=Window] 886 interface TestExampleProxyInterface { 887 getter long longIndexedGetter(unsigned long ix); 888 setter undefined longIndexedSetter(unsigned long y, long z); 889 readonly attribute unsigned long length; 890 stringifier DOMString myStringifier(); 891 getter short shortNameGetter(DOMString nom); 892 deleter undefined (DOMString nomnom); 893 setter undefined shortNamedSetter(DOMString me, short value); 894 }; 895 896 [Exposed=(Window,Worker)] 897 interface TestExampleWorkerInterface { 898 [NeedsSubjectPrincipal] undefined needsSubjectPrincipalMethod(); 899 [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr; 900 [NeedsCallerType] undefined needsCallerTypeMethod(); 901 [NeedsCallerType] attribute boolean needsCallerTypeAttr; 902 [NeedsSubjectPrincipal=NonSystem] undefined needsNonSystemSubjectPrincipalMethod(); 903 [NeedsSubjectPrincipal=NonSystem] attribute boolean needsNonSystemSubjectPrincipalAttr; 904 }; 905 906 [Exposed=Window] 907 interface TestExampleThrowingConstructorInterface { 908 [Throws] 909 constructor(); 910 [Throws] 911 constructor(DOMString str); 912 [Throws] 913 constructor(unsigned long num, boolean? boolArg); 914 [Throws] 915 constructor(TestInterface? iface); 916 [Throws] 917 constructor(unsigned long arg1, TestInterface iface); 918 [Throws] 919 constructor(ArrayBuffer arrayBuf); 920 [Throws] 921 constructor(Uint8Array typedArr); 922 // [Throws] constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3); 923 };