Source code

Revision control

Copy as Markdown

Other Tools

/* -*- 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 ElementInternals {
// Shadow root access
readonly attribute ShadowRoot? shadowRoot;
// Form-associated custom elements
undefined setFormValue((File or USVString or FormData)? value,
optional (File or USVString or FormData)? state);
readonly attribute HTMLFormElement? form;
undefined setValidity(optional ValidityStateFlags flags = {},
optional DOMString message,
optional HTMLElement anchor);
readonly attribute boolean willValidate;
readonly attribute ValidityState validity;
readonly attribute DOMString validationMessage;
boolean checkValidity();
boolean reportValidity();
readonly attribute NodeList labels;
[Pref="dom.element.customstateset.enabled", SameObject] readonly attribute CustomStateSet states;
[Pref="dom.element.customstateset.enabled", Exposed=Window]
interface CustomStateSet {
partial interface CustomStateSet {
// Setlike methods need to be overriden.
undefined add(DOMString state);
boolean delete(DOMString state);
undefined clear();
partial interface ElementInternals {
[ChromeOnly, Throws]
readonly attribute HTMLElement? validationAnchor;
ElementInternals includes ARIAMixin;
dictionary ValidityStateFlags {
boolean valueMissing = false;
boolean typeMismatch = false;
boolean patternMismatch = false;
boolean tooLong = false;
boolean tooShort = false;
boolean rangeUnderflow = false;
boolean rangeOverflow = false;
boolean stepMismatch = false;
boolean badInput = false;
boolean customError = false;