Index: lib/web_ui.dart |
diff --git a/lib/web_ui.dart b/lib/web_ui.dart |
index 9ae6f411d308cbbfa8bd96628d3036858b0b9a11..00ed711d23299bfb703088437b522752e02615bd 100644 |
--- a/lib/web_ui.dart |
+++ b/lib/web_ui.dart |
@@ -26,6 +26,7 @@ export 'watcher.dart'; |
import 'dart:async'; |
import 'dart:html'; |
+import 'dart:mirrors' show reflect; |
import 'package:meta/meta.dart'; |
/** |
@@ -124,27 +125,6 @@ abstract class WebComponent implements Element { |
/** Invoked when any attribute of the component is modified. */ |
void attributeChanged(String name, String oldValue, String newValue) {} |
- get model => host.model; |
- |
- void set model(newModel) { |
- host.model = newModel; |
- } |
- |
- get templateInstance => host.templateInstance; |
- get isTemplate => host.isTemplate; |
- get ref => host.ref; |
- get content => host.content; |
- DocumentFragment createInstance(model, BindingDelegate delegate) => |
- host.createInstance(model, delegate); |
- createBinding(String name, model, String path) => |
- host.createBinding(name, model, path); |
- void bind(String name, model, String path) => host.bind(name, model, path); |
- void unbind(String name) => host.unbind(name); |
- void unbindAll() => host.unbindAll(); |
- get bindings => host.bindings; |
- BindingDelegate get bindingDelegate => host.bindingDelegate; |
- set bindingDelegate(BindingDelegate value) { host.bindingDelegate = value; } |
- |
/** |
* **Note**: This is an implementation helper and should not need to be called |
@@ -327,424 +307,11 @@ abstract class WebComponent implements Element { |
insertionPoint.remove(); |
} |
- // TODO(jmesserly): this forwarding is temporary until Dart supports |
- // subclassing Elements. |
- // TODO(jmesserly): we were missing the setter for title, are other things |
- // missing setters? |
- |
- List<Node> get nodes => host.nodes; |
- |
- set nodes(Iterable<Node> value) { host.nodes = value; } |
- |
- /** |
- * Replaces this node with another node. |
- */ |
- Node replaceWith(Node otherNode) { host.replaceWith(otherNode); } |
- |
- /** |
- * Removes this node from the DOM. |
- */ |
- void remove() => host.remove(); |
- |
- Node get nextNode => host.nextNode; |
- |
- String get nodeName => host.nodeName; |
- Document get document => host.document; |
- |
- Node get previousNode => host.previousNode; |
- |
- String get text => host.text; |
- |
- set text(String v) { host.text = v; } |
- |
- bool contains(Node other) => host.contains(other); |
- |
- bool hasChildNodes() => host.hasChildNodes(); |
- |
- Node insertBefore(Node newChild, Node refChild) => |
- host.insertBefore(newChild, refChild); |
- |
- Node insertAllBefore(Iterable<Node> newChild, Node refChild) => |
- host.insertAllBefore(newChild, refChild); |
- |
- Map<String, String> get attributes => host.attributes; |
- set attributes(Map<String, String> value) { |
- host.attributes = value; |
- } |
- |
- List<Element> get elements => host.children; |
- |
- set elements(List<Element> value) { |
- host.children = value; |
- } |
- |
- List<Element> get children => host.children; |
- |
- set children(List<Element> value) { |
- host.children = value; |
- } |
- |
- Set<String> get classes => host.classes; |
- |
- set classes(Iterable<String> value) { |
- host.classes = value; |
- } |
- |
- CssRect get contentEdge => host.contentEdge; |
- CssRect get paddingEdge => host.paddingEdge; |
- CssRect get borderEdge => host.borderEdge; |
- CssRect get marginEdge => host.marginEdge; |
- Point get documentOffset => host.documentOffset; |
- Point offsetTo(Element parent) => host.offsetTo(parent); |
- |
- Map<String, String> getNamespacedAttributes(String namespace) => |
- host.getNamespacedAttributes(namespace); |
- |
- CssStyleDeclaration getComputedStyle([String pseudoElement]) |
- => host.getComputedStyle(pseudoElement); |
- |
- Element clone(bool deep) => host.clone(deep); |
- |
- Element get parent => host.parent; |
- |
- Node get parentNode => host.parentNode; |
- |
- String get nodeValue => host.nodeValue; |
- |
- @deprecated |
- // TODO(sigmund): restore the old return type and call host.on when |
- // dartbug.com/8131 is fixed. |
- dynamic get on { throw new UnsupportedError('on is deprecated'); } |
- |
- String get contentEditable => host.contentEditable; |
- set contentEditable(String v) { host.contentEditable = v; } |
- |
- String get dir => host.dir; |
- set dir(String v) { host.dir = v; } |
- |
- bool get draggable => host.draggable; |
- set draggable(bool v) { host.draggable = v; } |
- |
- bool get hidden => host.hidden; |
- set hidden(bool v) { host.hidden = v; } |
- |
- String get id => host.id; |
- set id(String v) { host.id = v; } |
- |
- String get innerHTML => host.innerHtml; |
- |
- void set innerHTML(String v) { |
- host.innerHtml = v; |
- } |
- |
- String get innerHtml => host.innerHtml; |
- void set innerHtml(String v) { |
- host.innerHtml = v; |
- } |
- |
- bool get isContentEditable => host.isContentEditable; |
- |
- String get lang => host.lang; |
- set lang(String v) { host.lang = v; } |
- |
- String get outerHtml => host.outerHtml; |
- |
- bool get spellcheck => host.spellcheck; |
- set spellcheck(bool v) { host.spellcheck = v; } |
- |
- int get tabIndex => host.tabIndex; |
- set tabIndex(int i) { host.tabIndex = i; } |
- |
- String get title => host.title; |
- |
- set title(String value) { host.title = value; } |
- |
- bool get translate => host.translate; |
- set translate(bool v) { host.translate = v; } |
- |
- String get dropzone => host.dropzone; |
- set dropzone(String v) { host.dropzone = v; } |
- |
- void click() { host.click(); } |
- |
- InputMethodContext getInputContext() => host.getInputContext(); |
- |
- Element insertAdjacentElement(String where, Element element) => |
- host.insertAdjacentElement(where, element); |
- |
- void insertAdjacentHtml(String where, String html) { |
- host.insertAdjacentHtml(where, html); |
- } |
- |
- void insertAdjacentText(String where, String text) { |
- host.insertAdjacentText(where, text); |
- } |
- |
- Map<String, String> get dataset => host.dataset; |
- |
- set dataset(Map<String, String> value) { |
- host.dataset = value; |
- } |
- |
- Element get nextElementSibling => host.nextElementSibling; |
- |
- Element get offsetParent => host.offsetParent; |
- |
- Element get previousElementSibling => host.previousElementSibling; |
- |
- CssStyleDeclaration get style => host.style; |
- |
- String get tagName => host.tagName; |
- |
- String get pseudo => host.pseudo; |
- |
- void set pseudo(String value) { |
- host.pseudo = value; |
- } |
- |
- // Note: we are not polyfilling the shadow root here. This will be fixed when |
- // we migrate to the JS Shadow DOM polyfills. You can still use getShadowRoot |
- // to retrieve a node that behaves as the shadow root when Shadow DOM is not |
- // enabled. |
- ShadowRoot get shadowRoot => host.shadowRoot; |
- |
- void blur() { host.blur(); } |
- |
- void focus() { host.focus(); } |
- |
- void scrollByLines(int lines) { |
- host.scrollByLines(lines); |
- } |
- |
- void scrollByPages(int pages) { |
- host.scrollByPages(pages); |
- } |
- |
- void scrollIntoView([ScrollAlignment alignment]) { |
- host.scrollIntoView(alignment); |
- } |
- |
- bool matches(String selectors) => host.matches(selectors); |
- |
- @deprecated |
- void requestFullScreen(int flags) { requestFullscreen(); } |
- |
- void requestFullscreen() { host.requestFullscreen(); } |
- |
- void requestPointerLock() { host.requestPointerLock(); } |
- |
- Element query(String selectors) => host.query(selectors); |
- |
- ElementList queryAll(String selectors) => host.queryAll(selectors); |
- |
- HtmlCollection get $dom_children => host.$dom_children; |
- |
- int get $dom_childElementCount => host.$dom_childElementCount; |
- |
- String get className => host.className; |
- set className(String value) { host.className = value; } |
- |
- @deprecated |
- int get clientHeight => client.height; |
- |
- @deprecated |
- int get clientLeft => client.left; |
- |
- @deprecated |
- int get clientTop => client.top; |
- |
- @deprecated |
- int get clientWidth => client.width; |
- |
- Rect get client => host.client; |
- |
- Element get $dom_firstElementChild => host.$dom_firstElementChild; |
- |
- Element get $dom_lastElementChild => host.$dom_lastElementChild; |
- |
- @deprecated |
- int get offsetHeight => offset.height; |
- |
- @deprecated |
- int get offsetLeft => offset.left; |
- |
- @deprecated |
- int get offsetTop => offset.top; |
- |
- @deprecated |
- int get offsetWidth => offset.width; |
- |
- Rect get offset => host.offset; |
- |
- int get scrollHeight => host.scrollHeight; |
- |
- int get scrollLeft => host.scrollLeft; |
- |
- int get scrollTop => host.scrollTop; |
- |
- set scrollLeft(int value) { host.scrollLeft = value; } |
- |
- set scrollTop(int value) { host.scrollTop = value; } |
- |
- int get scrollWidth => host.scrollWidth; |
- |
- String $dom_getAttribute(String name) => |
- host.$dom_getAttribute(name); |
- |
- String $dom_getAttributeNS(String namespaceUri, String localName) => |
- host.$dom_getAttributeNS(namespaceUri, localName); |
- |
- String $dom_setAttributeNS( |
- String namespaceUri, String localName, String value) { |
- host.$dom_setAttributeNS(namespaceUri, localName, value); |
- } |
- |
- bool $dom_hasAttributeNS(String namespaceUri, String localName) => |
- host.$dom_hasAttributeNS(namespaceUri, localName); |
- |
- void $dom_removeAttributeNS(String namespaceUri, String localName) => |
- host.$dom_removeAttributeNS(namespaceUri, localName); |
- |
- Rect getBoundingClientRect() => host.getBoundingClientRect(); |
- |
- List<Rect> getClientRects() => host.getClientRects(); |
- |
- List<Node> getElementsByClassName(String name) => |
- host.getElementsByClassName(name); |
- |
- List<Node> $dom_getElementsByTagName(String name) => |
- host.$dom_getElementsByTagName(name); |
- |
- bool $dom_hasAttribute(String name) => |
- host.$dom_hasAttribute(name); |
- |
- List<Node> $dom_querySelectorAll(String selectors) => |
- host.$dom_querySelectorAll(selectors); |
- |
- void $dom_removeAttribute(String name) => |
- host.$dom_removeAttribute(name); |
- |
- void $dom_setAttribute(String name, String value) => |
- host.$dom_setAttribute(name, value); |
- |
- get $dom_attributes => host.$dom_attributes; |
- |
- List<Node> get $dom_childNodes => host.$dom_childNodes; |
- |
- Node get firstChild => host.firstChild; |
- |
- Node get lastChild => host.lastChild; |
- |
- String get localName => host.localName; |
- String get $dom_localName => host.$dom_localName; |
- |
- String get namespaceUri => host.namespaceUri; |
- String get $dom_namespaceUri => host.$dom_namespaceUri; |
- |
- int get nodeType => host.nodeType; |
- |
- void $dom_addEventListener(String type, EventListener listener, |
- [bool useCapture]) { |
- host.$dom_addEventListener(type, listener, useCapture); |
- } |
- |
- bool dispatchEvent(Event event) => host.dispatchEvent(event); |
- |
- Node $dom_removeChild(Node oldChild) => host.$dom_removeChild(oldChild); |
- |
- void $dom_removeEventListener(String type, EventListener listener, |
- [bool useCapture]) { |
- host.$dom_removeEventListener(type, listener, useCapture); |
- } |
- |
- Node $dom_replaceChild(Node newChild, Node oldChild) => |
- host.$dom_replaceChild(newChild, oldChild); |
- |
- get xtag => host.xtag; |
- |
- set xtag(value) { host.xtag = value; } |
- |
- Node append(Node e) => host.append(e); |
- |
- void appendText(String text) => host.appendText(text); |
- |
- void appendHtml(String html) => host.appendHtml(html); |
- |
- void $dom_scrollIntoView([bool alignWithTop]) { |
- if (alignWithTop == null) { |
- host.$dom_scrollIntoView(); |
- } else { |
- host.$dom_scrollIntoView(alignWithTop); |
- } |
- } |
- |
- void $dom_scrollIntoViewIfNeeded([bool centerIfNeeded]) { |
- if (centerIfNeeded == null) { |
- host.$dom_scrollIntoViewIfNeeded(); |
- } else { |
- host.$dom_scrollIntoViewIfNeeded(centerIfNeeded); |
- } |
- } |
- |
- String get regionOverset => host.regionOverset; |
- |
- List<Range> getRegionFlowRanges() => host.getRegionFlowRanges(); |
- |
// TODO(jmesserly): rename "created" to "onCreated". |
void onCreated() => created(); |
- Stream<Event> get onAbort => host.onAbort; |
- Stream<Event> get onBeforeCopy => host.onBeforeCopy; |
- Stream<Event> get onBeforeCut => host.onBeforeCut; |
- Stream<Event> get onBeforePaste => host.onBeforePaste; |
- Stream<Event> get onBlur => host.onBlur; |
- Stream<Event> get onChange => host.onChange; |
- Stream<MouseEvent> get onClick => host.onClick; |
- Stream<MouseEvent> get onContextMenu => host.onContextMenu; |
- Stream<Event> get onCopy => host.onCopy; |
- Stream<Event> get onCut => host.onCut; |
- Stream<Event> get onDoubleClick => host.onDoubleClick; |
- Stream<MouseEvent> get onDrag => host.onDrag; |
- Stream<MouseEvent> get onDragEnd => host.onDragEnd; |
- Stream<MouseEvent> get onDragEnter => host.onDragEnter; |
- Stream<MouseEvent> get onDragLeave => host.onDragLeave; |
- Stream<MouseEvent> get onDragOver => host.onDragOver; |
- Stream<MouseEvent> get onDragStart => host.onDragStart; |
- Stream<MouseEvent> get onDrop => host.onDrop; |
- Stream<Event> get onError => host.onError; |
- Stream<Event> get onFocus => host.onFocus; |
- Stream<Event> get onInput => host.onInput; |
- Stream<Event> get onInvalid => host.onInvalid; |
- Stream<KeyboardEvent> get onKeyDown => host.onKeyDown; |
- Stream<KeyboardEvent> get onKeyPress => host.onKeyPress; |
- Stream<KeyboardEvent> get onKeyUp => host.onKeyUp; |
- Stream<Event> get onLoad => host.onLoad; |
- Stream<MouseEvent> get onMouseDown => host.onMouseDown; |
- Stream<MouseEvent> get onMouseMove => host.onMouseMove; |
- Stream<Event> get onFullscreenChange => host.onFullscreenChange; |
- Stream<Event> get onFullscreenError => host.onFullscreenError; |
- Stream<Event> get onPaste => host.onPaste; |
- Stream<Event> get onReset => host.onReset; |
- Stream<Event> get onScroll => host.onScroll; |
- Stream<Event> get onSearch => host.onSearch; |
- Stream<Event> get onSelect => host.onSelect; |
- Stream<Event> get onSelectStart => host.onSelectStart; |
- Stream<Event> get onSubmit => host.onSubmit; |
- Stream<MouseEvent> get onMouseOut => host.onMouseOut; |
- Stream<MouseEvent> get onMouseOver => host.onMouseOver; |
- Stream<MouseEvent> get onMouseUp => host.onMouseUp; |
- Stream<TouchEvent> get onTouchCancel => host.onTouchCancel; |
- Stream<TouchEvent> get onTouchEnd => host.onTouchEnd; |
- Stream<TouchEvent> get onTouchEnter => host.onTouchEnter; |
- Stream<TouchEvent> get onTouchLeave => host.onTouchLeave; |
- Stream<TouchEvent> get onTouchMove => host.onTouchMove; |
- Stream<TouchEvent> get onTouchStart => host.onTouchStart; |
- Stream<TransitionEvent> get onTransitionEnd => host.onTransitionEnd; |
- |
- // TODO(sigmund): do the normal forwarding when dartbug.com/7919 is fixed. |
- Stream<WheelEvent> get onMouseWheel { |
- throw new UnsupportedError('onMouseWheel is not supported'); |
- } |
+ /** The rest of the [Element] API is handled by [host]. */ |
+ dynamic noSuchMethod(Invocation m) => reflect(host).delegate(m); |
} |
/** |