Bug 1885602 - Part 5: Implement navigating to the SUMO help topic from the menu heade...
[gecko.git] / dom / webidl / TestInterfaceObservableArray.webidl
blobf608790ba57393718b5bd1e89cb2654c568515a6
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  */
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);
11 dictionary ObservableArrayCallbacks {
12   SetDeleteObjectCallback setObjectCallback;
13   SetDeleteObjectCallback deleteObjectCallback;
14   SetDeleteBooleanCallback setBooleanCallback;
15   SetDeleteBooleanCallback deleteBooleanCallback;
16   SetDeleteInterfaceCallback setInterfaceCallback;
17   SetDeleteInterfaceCallback deleteInterfaceCallback;
20 [Pref="dom.expose_test_interfaces",
21  Exposed=Window]
22 interface TestInterfaceObservableArray {
23   [Throws]
24   constructor(optional ObservableArrayCallbacks callbacks = {});
26   // Testing for ObservableArray
27   attribute ObservableArray<boolean> observableArrayBoolean;
28   attribute ObservableArray<object> observableArrayObject;
29   attribute ObservableArray<TestInterfaceObservableArray> observableArrayInterface;
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);
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);
46   [Throws]
47   undefined booleanAppendElementInternal(boolean value);
48   [Throws]
49   undefined interfaceAppendElementInternal(TestInterfaceObservableArray value);
50   [Throws]
51   undefined objectAppendElementInternal(object value);
53   [Throws]
54   undefined booleanRemoveLastElementInternal();
55   [Throws]
56   undefined interfaceRemoveLastElementInternal();
57   [Throws]
58   undefined objectRemoveLastElementInternal();
60   [Throws]
61   unsigned long booleanLengthInternal();
62   [Throws]
63   unsigned long interfaceLengthInternal();
64   [Throws]
65   unsigned long objectLengthInternal();