/* -*- 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/. */ #include "nsIDOMHTMLElement.idl" #include "nsIDOMHTMLCollection.idl" interface nsIDOMHTMLOptionElement; interface nsIDOMHTMLSelectElement; /** * The nsIDOMHTMLOptionsCollection interface is the interface to a * collection of [X]HTML option elements. * * This interface is trying to follow the DOM Level 2 HTML specification: * http://www.w3.org/TR/DOM-Level-2-HTML/ * * with changes from the work-in-progress WHATWG HTML specification: * http://www.whatwg.org/specs/web-apps/current-work/ */ // Introduced in DOM Level 2: [uuid(4173cc53-30f6-4d12-a770-981ba53164e2)] interface nsIDOMHTMLOptionsCollection : nsISupports { attribute unsigned long length; // raises(DOMException) on setting // FIXME item should just be inherited from nsIDOMHTMLCollection nsIDOMNode item(in unsigned long index); // FIXME namedItem (and getNamedItem) should return a NodeList if there are // multiple matching items nsIDOMNode namedItem(in DOMString name); attribute long selectedIndex; [noscript] void setOption(in unsigned long index, in nsIDOMHTMLOptionElement option); [noscript] readonly attribute nsIDOMHTMLSelectElement select; // This add method implementation means the following // since IDL doesn't support overloading. // void add(in nsIDOMHTMLOptionElement, // [optional] in nsIDOMHTMLOptionElement) // void add(in nsIDOMHTMLOptionElement, in long) void add(in nsIDOMHTMLOptionElement option, [optional] in nsIVariant before); void remove(in long index); };