author Luke Chang <>
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
 * The origin of this IDL file is

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;
  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;

  readonly attribute DOMString type;

  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);
  void remove(long index);
  [CEReactions, Throws]
  setter creator void (unsigned long index, HTMLOptionElement? option);

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

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

  readonly attribute NodeList labels;

  void remove();

// Chrome only interface

partial interface HTMLSelectElement {
  attribute boolean openInParentProcess;
  AutocompleteInfo getAutocompleteInfo();
  attribute DOMString previewValue;