| /* |
| * Copyright (C) 2006, 2007, 2009, 2015 Apple Inc. All rights reserved. |
| * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Library General Public |
| * License as published by the Free Software Foundation; either |
| * version 2 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Library General Public License for more details. |
| * |
| * You should have received a copy of the GNU Library General Public License |
| * along with this library; see the file COPYING.LIB. If not, write to |
| * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| * Boston, MA 02110-1301, USA. |
| */ |
| |
| [ |
| CustomToJSObject, |
| DOMJIT, |
| JSCustomHeader, |
| JSGenerateToNativeObject, |
| ExportMacro=WEBCORE_EXPORT, |
| Exposed=Window |
| ] interface Element : Node { |
| readonly attribute DOMString? namespaceURI; |
| readonly attribute DOMString? prefix; |
| readonly attribute DOMString localName; |
| readonly attribute DOMString tagName; |
| |
| [CEReactions, Reflect] attribute DOMString id; |
| [CEReactions, Reflect=class] attribute DOMString className; |
| [SameObject, PutForwards=value] readonly attribute DOMTokenList classList; |
| [CEReactions, Reflect, Unscopable] attribute DOMString slot; |
| [SameObject, PutForwards=value] readonly attribute DOMTokenList part; |
| |
| [DOMJIT=ReadDOM] boolean hasAttributes(); |
| [SameObject] readonly attribute NamedNodeMap attributes; |
| sequence<DOMString> getAttributeNames(); |
| [DOMJIT=ReadDOM] DOMString? getAttribute([AtomString] DOMString qualifiedName); |
| DOMString? getAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName); |
| [CEReactions] undefined setAttribute([AtomString] DOMString qualifiedName, [AtomString] DOMString value); |
| [CEReactions] undefined setAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString qualifiedName, [AtomString] DOMString value); |
| [CEReactions, ImplementedAs=removeAttributeForBindings] undefined removeAttribute([AtomString] DOMString qualifiedName); |
| [CEReactions, ImplementedAs=removeAttributeNSForBindings] undefined removeAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName); |
| [CEReactions] boolean toggleAttribute([AtomString] DOMString qualifiedName, optional boolean force); |
| boolean hasAttribute([AtomString] DOMString qualifiedName); |
| boolean hasAttributeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName); |
| |
| [DOMJIT=ReadDOM] Attr? getAttributeNode([AtomString] DOMString qualifiedName); |
| Attr? getAttributeNodeNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName); |
| [CEReactions] Attr? setAttributeNode(Attr attr); |
| [CEReactions] Attr? setAttributeNodeNS(Attr attr); |
| [CEReactions] Attr removeAttributeNode(Attr attr); |
| |
| ShadowRoot attachShadow(ShadowRootInit init); |
| [ImplementedAs=shadowRootForBindings, CallWith=CurrentGlobalObject] readonly attribute ShadowRoot? shadowRoot; |
| |
| Element? closest(DOMString selectors); |
| boolean matches(DOMString selectors); |
| [ImplementedAs=matches] boolean webkitMatchesSelector(DOMString selectors); // Historical alias of .matches. |
| |
| [DOMJIT=ReadDOM] HTMLCollection getElementsByTagName([AtomString] DOMString qualifiedName); |
| HTMLCollection getElementsByTagNameNS([AtomString] DOMString? namespaceURI, [AtomString] DOMString localName); |
| HTMLCollection getElementsByClassName([AtomString] DOMString name); |
| |
| [CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // Historical. |
| undefined insertAdjacentText(DOMString where, DOMString data); // Historical. |
| |
| |
| // FIXME: Most of the following non-standard event handlers probably make more sense as part of the GlobalEventHandlers mixin. |
| |
| // Non-standard: Cannot find these in the latest specification (https://w3c.github.io/uievents/#events-focus-types). |
| [NotEnumerable] attribute EventHandler onfocusin; |
| [NotEnumerable] attribute EventHandler onfocusout; |
| |
| // Non-standard: https://developer.apple.com/reference/webkitjs/gestureevent. |
| [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturechange; |
| [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongestureend; |
| [NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturestart; |
| |
| // Non-standard: https://developer.apple.com/reference/webkitjs/element/1633146-onbeforeload. |
| [NotEnumerable] attribute EventHandler onbeforeload; |
| |
| // Non-standard: https://developer.apple.com/reference/webkitjs/element/1634205-onwebkitneedkey. |
| [NotEnumerable, Conditional=LEGACY_ENCRYPTED_MEDIA, EnabledBySetting=LegacyEncryptedMediaAPIEnabled] attribute EventHandler onwebkitneedkey; |
| |
| // Non-standard: https://developer.apple.com/reference/webkitjs/element/1633943-onwebkitpresentationmodechanged. |
| [NotEnumerable, Conditional=VIDEO_PRESENTATION_MODE] attribute EventHandler onwebkitpresentationmodechanged; |
| |
| // Non-standard: https://developer.apple.com/reference/webkitjs/element/1630042-onwebkitcurrentplaybacktargetisw. |
| [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitcurrentplaybacktargetiswirelesschanged; |
| |
| // Non-standard: https://developer.apple.com/reference/webkitjs/element/1629580-onwebkitplaybacktargetavailabili. |
| [NotEnumerable, Conditional=WIRELESS_PLAYBACK_TARGET] attribute EventHandler onwebkitplaybacktargetavailabilitychanged; |
| }; |
| |
| Element includes AccessibilityRole; |
| Element includes AriaAttributes; |
| Element includes Animatable; |
| Element includes ChildNode; |
| Element includes NonDocumentTypeChildNode; |
| Element includes ParentNode; |
| Element includes Slotable; |
| Element includes InnerHTML; |