diff options
Diffstat (limited to 'dom/webidl/HTMLElement.webidl')
-rw-r--r-- | dom/webidl/HTMLElement.webidl | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/dom/webidl/HTMLElement.webidl b/dom/webidl/HTMLElement.webidl new file mode 100644 index 0000000000..32b79b2e88 --- /dev/null +++ b/dom/webidl/HTMLElement.webidl @@ -0,0 +1,121 @@ +/* -*- 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/specs/web-apps/current-work/ and + * http://dev.w3.org/csswg/cssom-view/ + * + * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and + * Opera Software ASA. You are granted a license to use, reproduce + * and create derivative works of this document. + */ + +[Exposed=Window] +interface HTMLElement : Element { + [HTMLConstructor] constructor(); + + // metadata attributes + [CEReactions] + attribute DOMString title; + [CEReactions] + attribute DOMString lang; + [CEReactions, SetterThrows, Pure] + attribute boolean translate; + [CEReactions, SetterThrows, Pure] + attribute DOMString dir; + + [CEReactions, GetterThrows, Pure] + attribute [LegacyNullToEmptyString] DOMString innerText; + [CEReactions, GetterThrows, SetterThrows, Pure] + attribute [LegacyNullToEmptyString] DOMString outerText; + + // user interaction + [CEReactions, SetterThrows, Pure] + attribute boolean hidden; + [CEReactions, SetterThrows, Pure, Pref="html5.inert.enabled"] + attribute boolean inert; + [NeedsCallerType] + undefined click(); + [CEReactions, SetterThrows, Pure] + attribute DOMString accessKey; + [Pure] + readonly attribute DOMString accessKeyLabel; + [CEReactions, SetterThrows, Pure] + attribute boolean draggable; + //[PutForwards=value] readonly attribute DOMTokenList dropzone; + [CEReactions, SetterThrows, Pure] + attribute DOMString contentEditable; + [Pure] + readonly attribute boolean isContentEditable; + [CEReactions, SetterThrows, Pure, Pref="dom.element.popover.enabled"] + attribute DOMString? popover; + [CEReactions, SetterThrows, Pure] + attribute boolean spellcheck; + [CEReactions, Pure, SetterThrows, Pref="dom.forms.inputmode"] + attribute DOMString inputMode; + [CEReactions, Pure, SetterThrows, Pref="dom.forms.enterkeyhint"] + attribute DOMString enterKeyHint; + [CEReactions, Pure, SetterThrows, Pref="dom.forms.autocapitalize"] + attribute DOMString autocapitalize; + + attribute DOMString nonce; + + // command API + //readonly attribute DOMString? commandType; + //readonly attribute DOMString? commandLabel; + //readonly attribute DOMString? commandIcon; + //readonly attribute boolean? commandHidden; + //readonly attribute boolean? commandDisabled; + //readonly attribute boolean? commandChecked; + + // https://html.spec.whatwg.org/multipage/custom-elements.html#dom-attachinternals + [Throws] + ElementInternals attachInternals(); + + [Throws, Pref="dom.element.popover.enabled"] + undefined showPopover(); + [Throws, Pref="dom.element.popover.enabled"] + undefined hidePopover(); + [Throws, Pref="dom.element.popover.enabled"] + undefined togglePopover(optional boolean force); +}; + +// http://dev.w3.org/csswg/cssom-view/#extensions-to-the-htmlelement-interface +partial interface HTMLElement { + // CSSOM things are not [Pure] because they can flush + readonly attribute Element? offsetParent; + readonly attribute long offsetTop; + readonly attribute long offsetLeft; + readonly attribute long offsetWidth; + readonly attribute long offsetHeight; +}; + +partial interface HTMLElement { + [ChromeOnly] + readonly attribute ElementInternals? internals; + + [ChromeOnly] + readonly attribute boolean isFormAssociatedCustomElements; +}; + +interface mixin TouchEventHandlers { + [Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] + attribute EventHandler ontouchstart; + [Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] + attribute EventHandler ontouchend; + [Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] + attribute EventHandler ontouchmove; + [Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] + attribute EventHandler ontouchcancel; +}; + +HTMLElement includes GlobalEventHandlers; +HTMLElement includes HTMLOrForeignElement; +HTMLElement includes ElementCSSInlineStyle; +HTMLElement includes TouchEventHandlers; +HTMLElement includes OnErrorEventHandlerForNodes; + +[Exposed=Window] +interface HTMLUnknownElement : HTMLElement {}; |