/* * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. * Copyright (C) 2006 Samuel Weinig * * 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. */ [ JSGenerateToNativeObject, JSInlineGetOwnPropertySlot, V8CustomToJSObject ] interface Element : Node { // DOM Level 1 Core [TreatReturnedNullStringAs=Null] readonly attribute DOMString tagName; [TreatReturnedNullStringAs=Null] DOMString getAttribute(in [Optional=DefaultIsUndefined] DOMString name); [ObjCLegacyUnnamedParameters] void setAttribute(in [Optional=DefaultIsUndefined] DOMString name, in [Optional=DefaultIsUndefined] DOMString value) raises(DOMException); void removeAttribute(in [Optional=DefaultIsUndefined] DOMString name); Attr getAttributeNode(in [Optional=DefaultIsUndefined] DOMString name); Attr setAttributeNode(in [Optional=DefaultIsUndefined] Attr newAttr) raises(DOMException); Attr removeAttributeNode(in [Optional=DefaultIsUndefined] Attr oldAttr) raises(DOMException); NodeList getElementsByTagName(in [Optional=DefaultIsUndefined] DOMString name); // DOM Level 2 Core [ObjCLegacyUnnamedParameters] DOMString getAttributeNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI, in [Optional=DefaultIsUndefined] DOMString localName); [ObjCLegacyUnnamedParameters] void setAttributeNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI, in [Optional=DefaultIsUndefined] DOMString qualifiedName, in [Optional=DefaultIsUndefined] DOMString value) raises(DOMException); [ObjCLegacyUnnamedParameters] void removeAttributeNS(in [TreatNullAs=NullString] DOMString namespaceURI, in DOMString localName); [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI, in [Optional=DefaultIsUndefined] DOMString localName); [ObjCLegacyUnnamedParameters] Attr getAttributeNodeNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI, in [Optional=DefaultIsUndefined] DOMString localName); Attr setAttributeNodeNS(in [Optional=DefaultIsUndefined] Attr newAttr) raises(DOMException); boolean hasAttribute(in DOMString name); [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI, in [Optional=DefaultIsUndefined] DOMString localName); readonly attribute CSSStyleDeclaration style; // Common extensions readonly attribute long offsetLeft; readonly attribute long offsetTop; readonly attribute long offsetWidth; readonly attribute long offsetHeight; readonly attribute Element offsetParent; readonly attribute long clientLeft; readonly attribute long clientTop; readonly attribute long clientWidth; readonly attribute long clientHeight; attribute long scrollLeft; attribute long scrollTop; readonly attribute long scrollWidth; readonly attribute long scrollHeight; void focus(); void blur(); void scrollIntoView(in [Optional] boolean alignWithTop); // WebKit extensions void scrollIntoViewIfNeeded(in [Optional] boolean centerIfNeeded); void scrollByLines(in [Optional=DefaultIsUndefined] long lines); void scrollByPages(in [Optional=DefaultIsUndefined] long pages); #if defined(ENABLE_ANIMATION_API) && ENABLE_ANIMATION_API WebKitAnimationList webkitGetAnimations(); #endif // HTML 5 NodeList getElementsByClassName(in [Optional=DefaultIsUndefined] DOMString name); [Reflect=class] attribute DOMString className; readonly attribute DOMTokenList classList; #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT readonly attribute DOMStringMap dataset; #endif // NodeSelector - Selector API Element querySelector(in DOMString selectors) raises(DOMException); NodeList querySelectorAll(in DOMString selectors) raises(DOMException); // WebKit extension, pending specification. boolean webkitMatchesSelector(in [Optional=DefaultIsUndefined] DOMString selectors) raises(DOMException); // ElementTraversal API readonly attribute Element firstElementChild; readonly attribute Element lastElementChild; readonly attribute Element previousElementSibling; readonly attribute Element nextElementSibling; readonly attribute unsigned long childElementCount; // ShadowAware API #if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM [Reflect, V8EnabledAtRuntime=shadowDOM] attribute DOMString pseudo; [V8EnabledAtRuntime=shadowDOM, ImplementedAs=createShadowRoot] ShadowRoot webkitCreateShadowRoot() raises(DOMException); #endif // DOM 4 void remove() raises(DOMException); #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT // CSSOM View Module API ClientRectList getClientRects(); ClientRect getBoundingClientRect(); #endif #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C // Objective-C extensions readonly attribute DOMString innerText; #endif #if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API // Mozilla version const unsigned short ALLOW_KEYBOARD_INPUT = 1; [V8EnabledAtRuntime] void webkitRequestFullScreen(in [Optional=DefaultIsUndefined] unsigned short flags); // W3C version [V8EnabledAtRuntime] void webkitRequestFullscreen(); #endif [Conditional=POINTER_LOCK] void webkitRequestPointerLock(); // CSS Regions API [Conditional=CSS_REGIONS] readonly attribute DOMString webkitRegionOverset; [Conditional=CSS_REGIONS] sequence webkitGetRegionFlowRanges(); #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C // Event handler DOM attributes [NotEnumerable] attribute EventListener onabort; [NotEnumerable] attribute EventListener onblur; [NotEnumerable] attribute EventListener onchange; [NotEnumerable] attribute EventListener onclick; [NotEnumerable] attribute EventListener oncontextmenu; [NotEnumerable] attribute EventListener ondblclick; [NotEnumerable] attribute EventListener ondrag; [NotEnumerable] attribute EventListener ondragend; [NotEnumerable] attribute EventListener ondragenter; [NotEnumerable] attribute EventListener ondragleave; [NotEnumerable] attribute EventListener ondragover; [NotEnumerable] attribute EventListener ondragstart; [NotEnumerable] attribute EventListener ondrop; [NotEnumerable] attribute EventListener onerror; [NotEnumerable] attribute EventListener onfocus; [NotEnumerable] attribute EventListener oninput; [NotEnumerable] attribute EventListener oninvalid; [NotEnumerable] attribute EventListener onkeydown; [NotEnumerable] attribute EventListener onkeypress; [NotEnumerable] attribute EventListener onkeyup; [NotEnumerable] attribute EventListener onload; [NotEnumerable] attribute EventListener onmousedown; [NotEnumerable] attribute EventListener onmousemove; [NotEnumerable] attribute EventListener onmouseout; [NotEnumerable] attribute EventListener onmouseover; [NotEnumerable] attribute EventListener onmouseup; [NotEnumerable] attribute EventListener onmousewheel; [NotEnumerable] attribute EventListener onscroll; [NotEnumerable] attribute EventListener onselect; [NotEnumerable] attribute EventListener onsubmit; // attribute [NotEnumerable] EventListener oncanplay; // attribute [NotEnumerable] EventListener oncanplaythrough; // attribute [NotEnumerable] EventListener ondurationchange; // attribute [NotEnumerable] EventListener onemptied; // attribute [NotEnumerable] EventListener onended; // attribute [NotEnumerable] EventListener onloadeddata; // attribute [NotEnumerable] EventListener onloadedmetadata; // attribute [NotEnumerable] EventListener onloadstart; // attribute [NotEnumerable] EventListener onpause; // attribute [NotEnumerable] EventListener onplay; // attribute [NotEnumerable] EventListener onplaying; // attribute [NotEnumerable] EventListener onprogress; // attribute [NotEnumerable] EventListener onratechange; // attribute [NotEnumerable] EventListener onreadystatechange; // attribute [NotEnumerable] EventListener onseeked; // attribute [NotEnumerable] EventListener onseeking; // attribute [NotEnumerable] EventListener onshow; // attribute [NotEnumerable] EventListener onstalled; // attribute [NotEnumerable] EventListener onsuspend; // attribute [NotEnumerable] EventListener ontimeupdate; // attribute [NotEnumerable] EventListener onvolumechange; // attribute [NotEnumerable] EventListener onwaiting; // WebKit extensions [NotEnumerable] attribute EventListener onbeforecut; [NotEnumerable] attribute EventListener oncut; [NotEnumerable] attribute EventListener onbeforecopy; [NotEnumerable] attribute EventListener oncopy; [NotEnumerable] attribute EventListener onbeforepaste; [NotEnumerable] attribute EventListener onpaste; [NotEnumerable] attribute EventListener onreset; [NotEnumerable] attribute EventListener onsearch; [NotEnumerable] attribute EventListener onselectstart; [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] attribute EventListener ontouchstart; [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] attribute EventListener ontouchmove; [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] attribute EventListener ontouchend; [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] attribute EventListener ontouchcancel; [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenchange; [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenerror; #endif };