blob: eb183e9eb84705957638859d9a3843c1aa1e825d [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// WARNING: Do not edit - generated code.
/**
* All your attribute manipulation needs in one place.
* Extends the regular Map interface by automatically coercing non-string
* values to strings.
*/
abstract class AttributeMap implements Map<String, String> {
void operator []=(String key, value);
}
/**
* All your element measurement needs in one place
*/
abstract class ElementRect {
// Relative to offsetParent
ClientRect get client;
ClientRect get offset;
ClientRect get scroll;
// In global coords
ClientRect get bounding;
// In global coords
List<ClientRect> get clientRects;
}
abstract class NodeSelector {
Element query(String selectors);
List<Element> queryAll(String selectors);
}
abstract class CSSClassSet implements Set<String> {
/**
* Adds the class [token] to the element if it is not on it, removes it if it
* is.
*/
bool toggle(String token);
/**
* Returns [:true:] classes cannot be added or removed from this
* [:CSSClassSet:].
*/
bool get frozen;
}
/// @domName Element
abstract class Element implements Node, NodeSelector {
factory Element.html(String html) =>
_ElementFactoryProvider.createElement_html(html);
factory Element.tag(String tag) =>
_ElementFactoryProvider.createElement_tag(tag);
AttributeMap get attributes;
void set attributes(Map<String, String> value);
/**
* @domName childElementCount, firstElementChild, lastElementChild,
* children, Node.nodes.add
*/
List<Element> get elements;
void set elements(Collection<Element> value);
/** @domName className, classList */
CSSClassSet get classes;
void set classes(Collection<String> value);
AttributeMap get dataAttributes;
void set dataAttributes(Map<String, String> value);
/**
* Adds the specified text as a text node after the last child of this.
*/
void addText(String text);
/**
* Parses the specified text as HTML and adds the resulting node after the
* last child of this.
*/
void addHTML(String html);
/**
* @domName getClientRects, getBoundingClientRect, clientHeight, clientWidth,
* clientTop, clientLeft, offsetHeight, offsetWidth, offsetTop, offsetLeft,
* scrollHeight, scrollWidth, scrollTop, scrollLeft
*/
Future<ElementRect> get rect;
/** @domName Window.getComputedStyle */
Future<CSSStyleDeclaration> get computedStyle;
/** @domName Window.getComputedStyle */
Future<CSSStyleDeclaration> getComputedStyle(String pseudoElement);
Element clone(bool deep);
Element get parent;
/**
* Experimental support for [web components][wc]. This field stores a
* reference to the component implementation. It was inspired by Mozilla's
* [x-tags][] project. Please note: in the future it may be possible to
* `extend Element` from your class, in which case this field will be
* deprecated and will simply return this [Element] object.
*
* [wc]: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html
* [x-tags]: http://x-tags.org/
*/
var xtag;
/**
* @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent
*/
ElementEvents get on;
/** @domName HTMLElement.children */
abstract HTMLCollection get $dom_children;
/** @domName HTMLElement.contentEditable */
String contentEditable;
/** @domName HTMLElement.dir */
String dir;
/** @domName HTMLElement.draggable */
bool draggable;
/** @domName HTMLElement.hidden */
bool hidden;
/** @domName HTMLElement.id */
String id;
/** @domName HTMLElement.innerHTML */
String innerHTML;
/** @domName HTMLElement.isContentEditable */
abstract bool get isContentEditable;
/** @domName HTMLElement.lang */
String lang;
/** @domName HTMLElement.outerHTML */
abstract String get outerHTML;
/** @domName HTMLElement.spellcheck */
bool spellcheck;
/** @domName HTMLElement.tabIndex */
int tabIndex;
/** @domName HTMLElement.title */
String title;
/** @domName HTMLElement.translate */
bool translate;
/** @domName HTMLElement.webkitdropzone */
String webkitdropzone;
/** @domName HTMLElement.click */
void click();
/** @domName HTMLElement.insertAdjacentElement */
Element insertAdjacentElement(String where, Element element);
/** @domName HTMLElement.insertAdjacentHTML */
void insertAdjacentHTML(String where, String html);
/** @domName HTMLElement.insertAdjacentText */
void insertAdjacentText(String where, String text);
static const int ALLOW_KEYBOARD_INPUT = 1;
/** @domName Element.childElementCount */
abstract int get $dom_childElementCount;
/** @domName Element.className */
String $dom_className;
/** @domName Element.clientHeight */
abstract int get $dom_clientHeight;
/** @domName Element.clientLeft */
abstract int get $dom_clientLeft;
/** @domName Element.clientTop */
abstract int get $dom_clientTop;
/** @domName Element.clientWidth */
abstract int get $dom_clientWidth;
/** @domName Element.dataset */
abstract Map<String, String> get dataset;
/** @domName Element.firstElementChild */
abstract Element get $dom_firstElementChild;
/** @domName Element.lastElementChild */
abstract Element get $dom_lastElementChild;
/** @domName Element.nextElementSibling */
abstract Element get nextElementSibling;
/** @domName Element.offsetHeight */
abstract int get $dom_offsetHeight;
/** @domName Element.offsetLeft */
abstract int get $dom_offsetLeft;
/** @domName Element.offsetParent */
abstract Element get offsetParent;
/** @domName Element.offsetTop */
abstract int get $dom_offsetTop;
/** @domName Element.offsetWidth */
abstract int get $dom_offsetWidth;
/** @domName Element.previousElementSibling */
abstract Element get previousElementSibling;
/** @domName Element.scrollHeight */
abstract int get $dom_scrollHeight;
/** @domName Element.scrollLeft */
int $dom_scrollLeft;
/** @domName Element.scrollTop */
int $dom_scrollTop;
/** @domName Element.scrollWidth */
abstract int get $dom_scrollWidth;
/** @domName Element.style */
abstract CSSStyleDeclaration get style;
/** @domName Element.tagName */
abstract String get tagName;
/** @domName Element.blur */
void blur();
/** @domName Element.focus */
void focus();
/** @domName Element.getAttribute */
String $dom_getAttribute(String name);
/** @domName Element.getBoundingClientRect */
ClientRect $dom_getBoundingClientRect();
/** @domName Element.getClientRects */
List<ClientRect> $dom_getClientRects();
/** @domName Element.getElementsByClassName */
List<Node> $dom_getElementsByClassName(String name);
/** @domName Element.getElementsByTagName */
List<Node> $dom_getElementsByTagName(String name);
/** @domName Element.hasAttribute */
bool $dom_hasAttribute(String name);
/** @domName Element.querySelector */
Element $dom_querySelector(String selectors);
/** @domName Element.querySelectorAll */
List<Node> $dom_querySelectorAll(String selectors);
/** @domName Element.remove */
void remove();
/** @domName Element.removeAttribute */
void $dom_removeAttribute(String name);
/** @domName Element.scrollByLines */
void scrollByLines(int lines);
/** @domName Element.scrollByPages */
void scrollByPages(int pages);
/** @domName Element.scrollIntoViewIfNeeded */
void scrollIntoView([bool centerIfNeeded]);
/** @domName Element.setAttribute */
void $dom_setAttribute(String name, String value);
/** @domName Element.webkitMatchesSelector */
bool matchesSelector(String selectors);
/** @domName Element.webkitRequestFullScreen */
void webkitRequestFullScreen(int flags);
/** @domName Element.webkitRequestFullscreen */
void webkitRequestFullscreen();
/** @domName Element.webkitRequestPointerLock */
void webkitRequestPointerLock();
}
abstract class ElementEvents implements Events {
EventListenerList get abort;
EventListenerList get beforeCopy;
EventListenerList get beforeCut;
EventListenerList get beforePaste;
EventListenerList get blur;
EventListenerList get change;
EventListenerList get click;
EventListenerList get contextMenu;
EventListenerList get copy;
EventListenerList get cut;
EventListenerList get doubleClick;
EventListenerList get drag;
EventListenerList get dragEnd;
EventListenerList get dragEnter;
EventListenerList get dragLeave;
EventListenerList get dragOver;
EventListenerList get dragStart;
EventListenerList get drop;
EventListenerList get error;
EventListenerList get focus;
EventListenerList get input;
EventListenerList get invalid;
EventListenerList get keyDown;
EventListenerList get keyPress;
EventListenerList get keyUp;
EventListenerList get load;
EventListenerList get mouseDown;
EventListenerList get mouseMove;
EventListenerList get mouseOut;
EventListenerList get mouseOver;
EventListenerList get mouseUp;
EventListenerList get mouseWheel;
EventListenerList get paste;
EventListenerList get reset;
EventListenerList get scroll;
EventListenerList get search;
EventListenerList get select;
EventListenerList get selectStart;
EventListenerList get submit;
EventListenerList get touchCancel;
EventListenerList get touchEnd;
EventListenerList get touchEnter;
EventListenerList get touchLeave;
EventListenerList get touchMove;
EventListenerList get touchStart;
EventListenerList get transitionEnd;
EventListenerList get fullscreenChange;
EventListenerList get fullscreenError;
}