dom/webidl/HTMLSelectElement.webidl
author Luke Chang <lchang@mozilla.com>
Thu, 27 Jul 2017 11:41:15 +0800
changeset 616659 d85567af2a5b4a337a8645c3138aa63826363ba3
parent 608826 a3148fb9d930e3a608605c7a26e03bda72096079
child 693208 dffccd112b821970c76f6e3d004cb28f5526a30f
child 695329 c361c42843fe83e3f6203acd7af665e4646ccf4d
permissions -rw-r--r--
Bug 1362290 - Support non-experimental autocomplete pref. r=baku MozReview-Commit-ID: LABuNLbq2Io

/* -*- 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/.
 *
 * The origin of this IDL file is
 * http://www.whatwg.org/html/#the-select-element
 */

[HTMLConstructor]
interface HTMLSelectElement : HTMLElement {
  [CEReactions, SetterThrows, Pure]
           attribute boolean autofocus;
  [CEReactions, Pref="dom.forms.autocomplete.formautofill", SetterThrows, Pure]
           attribute DOMString autocomplete;
  [CEReactions, SetterThrows, Pure]
           attribute boolean disabled;
  [Pure]
  readonly attribute HTMLFormElement? form;
  [CEReactions, SetterThrows, Pure]
           attribute boolean multiple;
  [CEReactions, SetterThrows, Pure]
           attribute DOMString name;
  [CEReactions, SetterThrows, Pure]
           attribute boolean required;
  [CEReactions, SetterThrows, Pure]
           attribute unsigned long size;

  [Pure]
  readonly attribute DOMString type;

  [Constant]
  readonly attribute HTMLOptionsCollection options;
  [CEReactions, SetterThrows, Pure]
           attribute unsigned long length;
  getter Element? item(unsigned long index);
  HTMLOptionElement? namedItem(DOMString name);
  [CEReactions, Throws]
  void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
  [CEReactions]
  void remove(long index);
  [CEReactions, Throws]
  setter creator void (unsigned long index, HTMLOptionElement? option);

  readonly attribute HTMLCollection selectedOptions;
  [SetterThrows, Pure]
           attribute long selectedIndex;
  [Pure]
           attribute DOMString value;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  [Throws]
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  boolean reportValidity();
  void setCustomValidity(DOMString error);

  readonly attribute NodeList labels;

  // https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720
  [CEReactions]
  void remove();
};

// Chrome only interface

partial interface HTMLSelectElement {
  [ChromeOnly]
  attribute boolean openInParentProcess;
  [ChromeOnly]
  AutocompleteInfo getAutocompleteInfo();
  [ChromeOnly]
  attribute DOMString previewValue;
};