/* -*- 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; void setInternal(DOMString aKey, long aValue); void 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; void setInternal(DOMString aKey); void 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; void setInternal(DOMString aKey, object aObject); void clearInternal(); boolean deleteInternal(DOMString aKey); boolean hasInternal(DOMString aKey); [Throws] object? getInternal(DOMString aKey); }; [Pref="dom.expose_test_interfaces", JSImplementation="@mozilla.org/dom/test-interface-js-maplike;1", Exposed=Window] interface TestInterfaceJSMaplike { [Throws] constructor(); readonly maplike; void setInternal(DOMString aKey, long aValue); void clearInternal(); boolean deleteInternal(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; };