diff -r 000000000000 -r 6474c204b198 dom/interfaces/html/nsIDOMHTMLSelectElement.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/interfaces/html/nsIDOMHTMLSelectElement.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,60 @@ +/* -*- 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; + +[scriptable, 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; +};