TestInterfaceObservableArray.webidl (2431B)
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 7 callback SetDeleteObjectCallback = undefined (object value, unsigned long index); 8 callback SetDeleteBooleanCallback = undefined (boolean value, unsigned long index); 9 callback SetDeleteInterfaceCallback = undefined (TestInterfaceObservableArray value, unsigned long index); 10 11 dictionary ObservableArrayCallbacks { 12 SetDeleteObjectCallback setObjectCallback; 13 SetDeleteObjectCallback deleteObjectCallback; 14 SetDeleteBooleanCallback setBooleanCallback; 15 SetDeleteBooleanCallback deleteBooleanCallback; 16 SetDeleteInterfaceCallback setInterfaceCallback; 17 SetDeleteInterfaceCallback deleteInterfaceCallback; 18 }; 19 20 [Pref="dom.expose_test_interfaces", 21 Exposed=Window] 22 interface TestInterfaceObservableArray { 23 [Throws] 24 constructor(optional ObservableArrayCallbacks callbacks = {}); 25 26 // Testing for ObservableArray 27 attribute ObservableArray<boolean> observableArrayBoolean; 28 attribute ObservableArray<object> observableArrayObject; 29 attribute ObservableArray<TestInterfaceObservableArray> observableArrayInterface; 30 31 // Tests for C++ helper function 32 [Throws] 33 boolean booleanElementAtInternal(unsigned long index); 34 [Throws] 35 TestInterfaceObservableArray interfaceElementAtInternal(unsigned long index); 36 [Throws] 37 object objectElementAtInternal(unsigned long index); 38 39 [Throws] 40 undefined booleanReplaceElementAtInternal(unsigned long index, boolean value); 41 [Throws] 42 undefined interfaceReplaceElementAtInternal(unsigned long index, TestInterfaceObservableArray value); 43 [Throws] 44 undefined objectReplaceElementAtInternal(unsigned long index, object value); 45 46 [Throws] 47 undefined booleanAppendElementInternal(boolean value); 48 [Throws] 49 undefined interfaceAppendElementInternal(TestInterfaceObservableArray value); 50 [Throws] 51 undefined objectAppendElementInternal(object value); 52 53 [Throws] 54 undefined booleanRemoveLastElementInternal(); 55 [Throws] 56 undefined interfaceRemoveLastElementInternal(); 57 [Throws] 58 undefined objectRemoveLastElementInternal(); 59 60 [Throws] 61 unsigned long booleanLengthInternal(); 62 [Throws] 63 unsigned long interfaceLengthInternal(); 64 [Throws] 65 unsigned long objectLengthInternal(); 66 };