/* -*- 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 "nsIDOMHTMLOptionsCollection.idl" /** * The nsIDOMHTMLSelectElement interface is the interface to a [X]HTML * select element. * * 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/ */ interface nsIDOMValidityState; [uuid(d8914a2d-3556-4b66-911c-a84c4394e7fa)] interface nsIDOMHTMLSelectElement : nsISupports { attribute boolean autofocus; attribute boolean disabled; readonly attribute nsIDOMHTMLFormElement form; attribute boolean multiple; attribute DOMString name; attribute unsigned long size; readonly attribute DOMString type; readonly attribute nsIDOMHTMLOptionsCollection options; attribute unsigned long length; nsIDOMNode item(in unsigned long index); nsIDOMNode namedItem(in DOMString name); // This add method implementation means the following // since IDL doesn't support overfload. // void add(in nsIDOMHTMLElement, [optional] in nsIDOMHTMLElement) // void add(in nsIDOMHTMLElement, in long) void add(in nsIDOMHTMLElement element, [optional] in nsIVariant before) raises(DOMException); void remove(in long index); readonly attribute nsIDOMHTMLCollection selectedOptions; attribute long selectedIndex; attribute DOMString value; // The following lines are part of the constraint validation API, see: // http://www.whatwg.org/specs/web-apps/current-work/#the-constraint-validation-api readonly attribute boolean willValidate; readonly attribute nsIDOMValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); attribute boolean required; };