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/.
7 [Pref="dom.expose_test_interfaces",
9 interface TestInterfaceMaplike {
13 maplike<DOMString, long>;
14 undefined setInternal(DOMString aKey, long aValue);
15 undefined clearInternal();
16 boolean deleteInternal(DOMString aKey);
17 boolean hasInternal(DOMString aKey);
19 long getInternal(DOMString aKey);
22 [Pref="dom.expose_test_interfaces",
24 interface TestInterfaceMaplikeObject {
28 readonly maplike<DOMString, TestInterfaceMaplike>;
29 undefined setInternal(DOMString aKey);
30 undefined clearInternal();
31 boolean deleteInternal(DOMString aKey);
32 boolean hasInternal(DOMString aKey);
34 TestInterfaceMaplike? getInternal(DOMString aKey);
37 [Pref="dom.expose_test_interfaces",
39 interface TestInterfaceMaplikeJSObject {
43 readonly maplike<DOMString, object>;
44 undefined setInternal(DOMString aKey, object aObject);
45 undefined clearInternal();
46 boolean deleteInternal(DOMString aKey);
47 boolean hasInternal(DOMString aKey);
49 object? getInternal(DOMString aKey);
52 [Pref="dom.expose_test_interfaces",
54 interface TestInterfaceSetlike {
61 [Pref="dom.expose_test_interfaces",
63 interface TestInterfaceSetlikeNode {
70 [Pref="dom.expose_test_interfaces",
72 interface TestInterfaceIterableSingle {
77 getter long(unsigned long index);
78 readonly attribute unsigned long length;
81 [Pref="dom.expose_test_interfaces",
83 interface TestInterfaceIterableDouble {
87 iterable<DOMString, DOMString>;
90 [Pref="dom.expose_test_interfaces",
92 interface TestInterfaceIterableDoubleUnion {
96 iterable<DOMString, (DOMString or long)>;
99 dictionary TestInterfaceAsyncIterableSingleOptions {
100 boolean failToInit = false;
103 [Pref="dom.expose_test_interfaces",
105 interface TestInterfaceAsyncIterableSingle {
107 constructor(optional TestInterfaceAsyncIterableSingleOptions options = {});
109 async iterable<long>;
112 callback TestThrowingCallback = undefined();
114 dictionary TestInterfaceAsyncIteratorOptions {
115 unsigned long multiplier = 1;
116 sequence<Promise<any>> blockingPromises = [];
117 unsigned long failNextAfter = 4294967295;
118 boolean throwFromNext = false;
119 TestThrowingCallback throwFromReturn;
122 [Pref="dom.expose_test_interfaces",
124 interface TestInterfaceAsyncIterableSingleWithArgs {
128 [GenerateReturnMethod]
129 async iterable<long>(optional TestInterfaceAsyncIteratorOptions options = {});
131 readonly attribute long returnCallCount;
133 readonly attribute any returnLastCalledWith;
136 [Pref="dom.expose_test_interfaces",
138 interface TestInterfaceAsyncIterableDouble {
142 async iterable<DOMString, DOMString>;
145 [Pref="dom.expose_test_interfaces",
147 interface TestInterfaceAsyncIterableDoubleUnion {
151 async iterable<DOMString, (DOMString or long)>;