/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceMaplike { [Throws] constructor(); maplike; undefined setInternal(DOMString aKey, long aValue); undefined clearInternal(); boolean deleteInternal(DOMString aKey); boolean hasInternal(DOMString aKey); [Throws] long getInternal(DOMString aKey); }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceMaplikeObject { [Throws] constructor(); readonly maplike; undefined setInternal(DOMString aKey); undefined clearInternal(); boolean deleteInternal(DOMString aKey); boolean hasInternal(DOMString aKey); [Throws] TestInterfaceMaplike? getInternal(DOMString aKey); }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceMaplikeJSObject { [Throws] constructor(); readonly maplike; undefined setInternal(DOMString aKey, object aObject); undefined clearInternal(); boolean deleteInternal(DOMString aKey); boolean hasInternal(DOMString aKey); [Throws] object? getInternal(DOMString aKey); }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceSetlike { [Throws] constructor(); setlike; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceSetlikeNode { [Throws] constructor(); setlike; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceIterableSingle { [Throws] constructor(); iterable; getter long(unsigned long index); readonly attribute unsigned long length; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceIterableDouble { [Throws] constructor(); iterable; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceIterableDoubleUnion { [Throws] constructor(); iterable; }; dictionary TestInterfaceAsyncIterableSingleOptions { boolean failToInit = false; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceAsyncIterableSingle { [Throws] constructor(optional TestInterfaceAsyncIterableSingleOptions options = {}); async iterable; }; callback TestThrowingCallback = undefined(); dictionary TestInterfaceAsyncIteratorOptions { unsigned long multiplier = 1; sequence> blockingPromises = []; unsigned long failNextAfter = 4294967295; boolean throwFromNext = false; TestThrowingCallback throwFromReturn; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceAsyncIterableSingleWithArgs { [Throws] constructor(); [GenerateReturnMethod] async iterable(optional TestInterfaceAsyncIteratorOptions options = {}); readonly attribute long returnCallCount; readonly attribute any returnLastCalledWith; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceAsyncIterableDouble { [Throws] constructor(); async iterable; }; [Pref="dom.expose_test_interfaces", Exposed=Window] interface TestInterfaceAsyncIterableDoubleUnion { [Throws] constructor(); async iterable; };