Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Unified Diff: sdk/lib/html/dartium/html_dartium.dart

Issue 11824072: Adding streams to dart:html. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
Index: sdk/lib/html/dartium/html_dartium.dart
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index 4047ff8e486f2721ebf7e03c73633f155962b95d..2faa6f987e1a06ec1d6382002eb31ad19e544346 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -76,6 +76,8 @@ _callPortSync(num id, var message) {
class AbstractWorker extends EventTarget {
AbstractWorker.internal() : super.internal();
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
AbstractWorkerEvents get on =>
new AbstractWorkerEvents(this);
@@ -92,6 +94,8 @@ class AbstractWorker extends EventTarget {
/** @domName AbstractWorker.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "AbstractWorker_removeEventListener_Callback";
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -280,6 +284,22 @@ class AnimationEvent extends Event {
class ApplicationCache extends EventTarget {
ApplicationCache.internal() : super.internal();
+ static const HtmlStreamProvider<Event> cachedEvent = const HtmlStreamProvider<Event>('cached');
+
+ static const HtmlStreamProvider<Event> checkingEvent = const HtmlStreamProvider<Event>('checking');
+
+ static const HtmlStreamProvider<Event> downloadingEvent = const HtmlStreamProvider<Event>('downloading');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> noUpdateEvent = const HtmlStreamProvider<Event>('noupdate');
+
+ static const HtmlStreamProvider<Event> obsoleteEvent = const HtmlStreamProvider<Event>('obsolete');
+
+ static const HtmlStreamProvider<Event> progressEvent = const HtmlStreamProvider<Event>('progress');
+
+ static const HtmlStreamProvider<Event> updateReadyEvent = const HtmlStreamProvider<Event>('updateready');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
ApplicationCacheEvents get on =>
new ApplicationCacheEvents(this);
@@ -324,6 +344,22 @@ class ApplicationCache extends EventTarget {
/** @domName DOMApplicationCache.update */
void update() native "DOMApplicationCache_update_Callback";
+ Stream<Event> get onCached => cachedEvent.forTarget(this);
+
+ Stream<Event> get onChecking => checkingEvent.forTarget(this);
+
+ Stream<Event> get onDownloading => downloadingEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onNoUpdate => noUpdateEvent.forTarget(this);
+
+ Stream<Event> get onObsolete => obsoleteEvent.forTarget(this);
+
+ Stream<Event> get onProgress => progressEvent.forTarget(this);
+
+ Stream<Event> get onUpdateReady => updateReadyEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -684,6 +720,14 @@ class BaseFontElement extends _Element_Merged {
class BatteryManager extends EventTarget {
BatteryManager.internal() : super.internal();
+ static const HtmlStreamProvider<Event> chargingChangeEvent = const HtmlStreamProvider<Event>('chargingchange');
+
+ static const HtmlStreamProvider<Event> chargingTimeChangeEvent = const HtmlStreamProvider<Event>('chargingtimechange');
+
+ static const HtmlStreamProvider<Event> dischargingTimeChangeEvent = const HtmlStreamProvider<Event>('dischargingtimechange');
+
+ static const HtmlStreamProvider<Event> levelChangeEvent = const HtmlStreamProvider<Event>('levelchange');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
BatteryManagerEvents get on =>
new BatteryManagerEvents(this);
@@ -716,6 +760,14 @@ class BatteryManager extends EventTarget {
/** @domName BatteryManager.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "BatteryManager_removeEventListener_Callback";
+ Stream<Event> get onChargingChange => chargingChangeEvent.forTarget(this);
+
+ Stream<Event> get onChargingTimeChange => chargingTimeChangeEvent.forTarget(this);
+
+ Stream<Event> get onDischargingTimeChange => dischargingTimeChangeEvent.forTarget(this);
+
+ Stream<Event> get onLevelChange => levelChangeEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -822,6 +874,32 @@ class Blob extends NativeFieldWrapperClass1 {
class BodyElement extends _Element_Merged {
BodyElement.internal() : super.internal();
+ static const HtmlStreamProvider<Event> beforeUnloadEvent = const HtmlStreamProvider<Event>('beforeunload');
+
+ static const HtmlStreamProvider<Event> blurEvent = const HtmlStreamProvider<Event>('blur');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> focusEvent = const HtmlStreamProvider<Event>('focus');
+
+ static const HtmlStreamProvider<HashChangeEvent> hashChangeEvent = const HtmlStreamProvider<HashChangeEvent>('hashchange');
+
+ static const HtmlStreamProvider<Event> loadEvent = const HtmlStreamProvider<Event>('load');
+
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
+ static const HtmlStreamProvider<Event> offlineEvent = const HtmlStreamProvider<Event>('offline');
+
+ static const HtmlStreamProvider<Event> onlineEvent = const HtmlStreamProvider<Event>('online');
+
+ static const HtmlStreamProvider<PopStateEvent> popStateEvent = const HtmlStreamProvider<PopStateEvent>('popstate');
+
+ static const HtmlStreamProvider<Event> resizeEvent = const HtmlStreamProvider<Event>('resize');
+
+ static const HtmlStreamProvider<StorageEvent> storageEvent = const HtmlStreamProvider<StorageEvent>('storage');
+
+ static const HtmlStreamProvider<Event> unloadEvent = const HtmlStreamProvider<Event>('unload');
+
///@docsEditable true
factory BodyElement() => document.$dom_createElement("body");
@@ -837,6 +915,32 @@ class BodyElement extends _Element_Merged {
/** @domName HTMLBodyElement.vLink */
void set vLink(String value) native "HTMLBodyElement_vLink_Setter";
+ Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this);
+
+ Stream<Event> get onBlur => blurEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onFocus => focusEvent.forTarget(this);
+
+ Stream<HashChangeEvent> get onHashChange => hashChangeEvent.forTarget(this);
+
+ Stream<Event> get onLoad => loadEvent.forTarget(this);
+
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
+ Stream<Event> get onOffline => offlineEvent.forTarget(this);
+
+ Stream<Event> get onOnline => onlineEvent.forTarget(this);
+
+ Stream<PopStateEvent> get onPopState => popStateEvent.forTarget(this);
+
+ Stream<Event> get onResize => resizeEvent.forTarget(this);
+
+ Stream<StorageEvent> get onStorage => storageEvent.forTarget(this);
+
+ Stream<Event> get onUnload => unloadEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -6463,6 +6567,8 @@ class DatabaseSync extends NativeFieldWrapperClass1 {
class DedicatedWorkerContext extends WorkerContext {
DedicatedWorkerContext.internal() : super.internal();
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
DedicatedWorkerContextEvents get on =>
new DedicatedWorkerContextEvents(this);
@@ -6471,6 +6577,8 @@ class DedicatedWorkerContext extends WorkerContext {
/** @domName DedicatedWorkerContext.postMessage */
void postMessage(Object message, [List messagePorts]) native "DedicatedWorkerContext_postMessage_Callback";
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -6703,6 +6811,104 @@ class Document extends Node
Document.internal() : super.internal();
+ static const HtmlStreamProvider<Event> abortEvent = const HtmlStreamProvider<Event>('abort');
+
+ static const HtmlStreamProvider<Event> beforeCopyEvent = const HtmlStreamProvider<Event>('beforecopy');
+
+ static const HtmlStreamProvider<Event> beforeCutEvent = const HtmlStreamProvider<Event>('beforecut');
+
+ static const HtmlStreamProvider<Event> beforePasteEvent = const HtmlStreamProvider<Event>('beforepaste');
+
+ static const HtmlStreamProvider<Event> blurEvent = const HtmlStreamProvider<Event>('blur');
+
+ static const HtmlStreamProvider<Event> changeEvent = const HtmlStreamProvider<Event>('change');
+
+ static const HtmlStreamProvider<MouseEvent> clickEvent = const HtmlStreamProvider<MouseEvent>('click');
+
+ static const HtmlStreamProvider<MouseEvent> contextMenuEvent = const HtmlStreamProvider<MouseEvent>('contextmenu');
+
+ static const HtmlStreamProvider<Event> copyEvent = const HtmlStreamProvider<Event>('copy');
+
+ static const HtmlStreamProvider<Event> cutEvent = const HtmlStreamProvider<Event>('cut');
+
+ static const HtmlStreamProvider<Event> doubleClickEvent = const HtmlStreamProvider<Event>('dblclick');
+
+ static const HtmlStreamProvider<MouseEvent> dragEvent = const HtmlStreamProvider<MouseEvent>('drag');
+
+ static const HtmlStreamProvider<MouseEvent> dragEndEvent = const HtmlStreamProvider<MouseEvent>('dragend');
+
+ static const HtmlStreamProvider<MouseEvent> dragEnterEvent = const HtmlStreamProvider<MouseEvent>('dragenter');
+
+ static const HtmlStreamProvider<MouseEvent> dragLeaveEvent = const HtmlStreamProvider<MouseEvent>('dragleave');
+
+ static const HtmlStreamProvider<MouseEvent> dragOverEvent = const HtmlStreamProvider<MouseEvent>('dragover');
+
+ static const HtmlStreamProvider<MouseEvent> dragStartEvent = const HtmlStreamProvider<MouseEvent>('dragstart');
+
+ static const HtmlStreamProvider<MouseEvent> dropEvent = const HtmlStreamProvider<MouseEvent>('drop');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> focusEvent = const HtmlStreamProvider<Event>('focus');
+
+ static const HtmlStreamProvider<Event> inputEvent = const HtmlStreamProvider<Event>('input');
+
+ static const HtmlStreamProvider<Event> invalidEvent = const HtmlStreamProvider<Event>('invalid');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyDownEvent = const HtmlStreamProvider<KeyboardEvent>('keydown');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyPressEvent = const HtmlStreamProvider<KeyboardEvent>('keypress');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyUpEvent = const HtmlStreamProvider<KeyboardEvent>('keyup');
+
+ static const HtmlStreamProvider<Event> loadEvent = const HtmlStreamProvider<Event>('load');
+
+ static const HtmlStreamProvider<MouseEvent> mouseDownEvent = const HtmlStreamProvider<MouseEvent>('mousedown');
+
+ static const HtmlStreamProvider<MouseEvent> mouseMoveEvent = const HtmlStreamProvider<MouseEvent>('mousemove');
+
+ static const HtmlStreamProvider<MouseEvent> mouseOutEvent = const HtmlStreamProvider<MouseEvent>('mouseout');
+
+ static const HtmlStreamProvider<MouseEvent> mouseOverEvent = const HtmlStreamProvider<MouseEvent>('mouseover');
+
+ static const HtmlStreamProvider<MouseEvent> mouseUpEvent = const HtmlStreamProvider<MouseEvent>('mouseup');
+
+ static const HtmlStreamProvider<WheelEvent> mouseWheelEvent = const HtmlStreamProvider<WheelEvent>('mousewheel');
+
+ static const HtmlStreamProvider<Event> pasteEvent = const HtmlStreamProvider<Event>('paste');
+
+ static const HtmlStreamProvider<Event> readyStateChangeEvent = const HtmlStreamProvider<Event>('readystatechange');
+
+ static const HtmlStreamProvider<Event> resetEvent = const HtmlStreamProvider<Event>('reset');
+
+ static const HtmlStreamProvider<Event> scrollEvent = const HtmlStreamProvider<Event>('scroll');
+
+ static const HtmlStreamProvider<Event> searchEvent = const HtmlStreamProvider<Event>('search');
+
+ static const HtmlStreamProvider<Event> selectEvent = const HtmlStreamProvider<Event>('select');
+
+ static const HtmlStreamProvider<Event> selectionChangeEvent = const HtmlStreamProvider<Event>('selectionchange');
+
+ static const HtmlStreamProvider<Event> selectStartEvent = const HtmlStreamProvider<Event>('selectstart');
+
+ static const HtmlStreamProvider<Event> submitEvent = const HtmlStreamProvider<Event>('submit');
+
+ static const HtmlStreamProvider<TouchEvent> touchCancelEvent = const HtmlStreamProvider<TouchEvent>('touchcancel');
+
+ static const HtmlStreamProvider<TouchEvent> touchEndEvent = const HtmlStreamProvider<TouchEvent>('touchend');
+
+ static const HtmlStreamProvider<TouchEvent> touchMoveEvent = const HtmlStreamProvider<TouchEvent>('touchmove');
+
+ static const HtmlStreamProvider<TouchEvent> touchStartEvent = const HtmlStreamProvider<TouchEvent>('touchstart');
+
+ static const HtmlStreamProvider<Event> fullscreenChangeEvent = const HtmlStreamProvider<Event>('webkitfullscreenchange');
+
+ static const HtmlStreamProvider<Event> fullscreenErrorEvent = const HtmlStreamProvider<Event>('webkitfullscreenerror');
+
+ static const HtmlStreamProvider<Event> pointerLockChangeEvent = const HtmlStreamProvider<Event>('webkitpointerlockchange');
+
+ static const HtmlStreamProvider<Event> pointerLockErrorEvent = const HtmlStreamProvider<Event>('webkitpointerlockerror');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
DocumentEvents get on =>
new DocumentEvents(this);
@@ -6919,6 +7125,104 @@ class Document extends Node
/** @domName Document.webkitExitPointerLock */
void $dom_webkitExitPointerLock() native "Document_webkitExitPointerLock_Callback";
+ Stream<Event> get onAbort => abortEvent.forTarget(this);
+
+ Stream<Event> get onBeforeCopy => beforeCopyEvent.forTarget(this);
+
+ Stream<Event> get onBeforeCut => beforeCutEvent.forTarget(this);
+
+ Stream<Event> get onBeforePaste => beforePasteEvent.forTarget(this);
+
+ Stream<Event> get onBlur => blurEvent.forTarget(this);
+
+ Stream<Event> get onChange => changeEvent.forTarget(this);
+
+ Stream<MouseEvent> get onClick => clickEvent.forTarget(this);
+
+ Stream<MouseEvent> get onContextMenu => contextMenuEvent.forTarget(this);
+
+ Stream<Event> get onCopy => copyEvent.forTarget(this);
+
+ Stream<Event> get onCut => cutEvent.forTarget(this);
+
+ Stream<Event> get onDoubleClick => doubleClickEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDrag => dragEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragEnd => dragEndEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragEnter => dragEnterEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragLeave => dragLeaveEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragOver => dragOverEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragStart => dragStartEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDrop => dropEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onFocus => focusEvent.forTarget(this);
+
+ Stream<Event> get onInput => inputEvent.forTarget(this);
+
+ Stream<Event> get onInvalid => invalidEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyDown => keyDownEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyPress => keyPressEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyUp => keyUpEvent.forTarget(this);
+
+ Stream<Event> get onLoad => loadEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseDown => mouseDownEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseMove => mouseMoveEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseOut => mouseOutEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseOver => mouseOverEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseUp => mouseUpEvent.forTarget(this);
+
+ Stream<WheelEvent> get onMouseWheel => mouseWheelEvent.forTarget(this);
+
+ Stream<Event> get onPaste => pasteEvent.forTarget(this);
+
+ Stream<Event> get onReadyStateChange => readyStateChangeEvent.forTarget(this);
+
+ Stream<Event> get onReset => resetEvent.forTarget(this);
+
+ Stream<Event> get onScroll => scrollEvent.forTarget(this);
+
+ Stream<Event> get onSearch => searchEvent.forTarget(this);
+
+ Stream<Event> get onSelect => selectEvent.forTarget(this);
+
+ Stream<Event> get onSelectionChange => selectionChangeEvent.forTarget(this);
+
+ Stream<Event> get onSelectStart => selectStartEvent.forTarget(this);
+
+ Stream<Event> get onSubmit => submitEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchCancel => touchCancelEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchEnd => touchEndEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchMove => touchMoveEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchStart => touchStartEvent.forTarget(this);
+
+ Stream<Event> get onFullscreenChange => fullscreenChangeEvent.forTarget(this);
+
+ Stream<Event> get onFullscreenError => fullscreenErrorEvent.forTarget(this);
+
+ Stream<Event> get onPointerLockChange => pointerLockChangeEvent.forTarget(this);
+
+ Stream<Event> get onPointerLockError => pointerLockErrorEvent.forTarget(this);
+
/**
* Finds the first descendant element of this document that matches the
@@ -8954,6 +9258,102 @@ abstract class Element extends Node implements ElementTraversal {
Element.internal() : super.internal();
+ static const HtmlStreamProvider<Event> abortEvent = const HtmlStreamProvider<Event>('abort');
+
+ static const HtmlStreamProvider<Event> beforeCopyEvent = const HtmlStreamProvider<Event>('beforecopy');
+
+ static const HtmlStreamProvider<Event> beforeCutEvent = const HtmlStreamProvider<Event>('beforecut');
+
+ static const HtmlStreamProvider<Event> beforePasteEvent = const HtmlStreamProvider<Event>('beforepaste');
+
+ static const HtmlStreamProvider<Event> blurEvent = const HtmlStreamProvider<Event>('blur');
+
+ static const HtmlStreamProvider<Event> changeEvent = const HtmlStreamProvider<Event>('change');
+
+ static const HtmlStreamProvider<MouseEvent> clickEvent = const HtmlStreamProvider<MouseEvent>('click');
+
+ static const HtmlStreamProvider<MouseEvent> contextMenuEvent = const HtmlStreamProvider<MouseEvent>('contextmenu');
+
+ static const HtmlStreamProvider<Event> copyEvent = const HtmlStreamProvider<Event>('copy');
+
+ static const HtmlStreamProvider<Event> cutEvent = const HtmlStreamProvider<Event>('cut');
+
+ static const HtmlStreamProvider<Event> doubleClickEvent = const HtmlStreamProvider<Event>('dblclick');
+
+ static const HtmlStreamProvider<MouseEvent> dragEvent = const HtmlStreamProvider<MouseEvent>('drag');
+
+ static const HtmlStreamProvider<MouseEvent> dragEndEvent = const HtmlStreamProvider<MouseEvent>('dragend');
+
+ static const HtmlStreamProvider<MouseEvent> dragEnterEvent = const HtmlStreamProvider<MouseEvent>('dragenter');
+
+ static const HtmlStreamProvider<MouseEvent> dragLeaveEvent = const HtmlStreamProvider<MouseEvent>('dragleave');
+
+ static const HtmlStreamProvider<MouseEvent> dragOverEvent = const HtmlStreamProvider<MouseEvent>('dragover');
+
+ static const HtmlStreamProvider<MouseEvent> dragStartEvent = const HtmlStreamProvider<MouseEvent>('dragstart');
+
+ static const HtmlStreamProvider<MouseEvent> dropEvent = const HtmlStreamProvider<MouseEvent>('drop');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> focusEvent = const HtmlStreamProvider<Event>('focus');
+
+ static const HtmlStreamProvider<Event> inputEvent = const HtmlStreamProvider<Event>('input');
+
+ static const HtmlStreamProvider<Event> invalidEvent = const HtmlStreamProvider<Event>('invalid');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyDownEvent = const HtmlStreamProvider<KeyboardEvent>('keydown');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyPressEvent = const HtmlStreamProvider<KeyboardEvent>('keypress');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyUpEvent = const HtmlStreamProvider<KeyboardEvent>('keyup');
+
+ static const HtmlStreamProvider<Event> loadEvent = const HtmlStreamProvider<Event>('load');
+
+ static const HtmlStreamProvider<MouseEvent> mouseDownEvent = const HtmlStreamProvider<MouseEvent>('mousedown');
+
+ static const HtmlStreamProvider<MouseEvent> mouseMoveEvent = const HtmlStreamProvider<MouseEvent>('mousemove');
+
+ static const HtmlStreamProvider<MouseEvent> mouseOutEvent = const HtmlStreamProvider<MouseEvent>('mouseout');
+
+ static const HtmlStreamProvider<MouseEvent> mouseOverEvent = const HtmlStreamProvider<MouseEvent>('mouseover');
+
+ static const HtmlStreamProvider<MouseEvent> mouseUpEvent = const HtmlStreamProvider<MouseEvent>('mouseup');
+
+ static const HtmlStreamProvider<WheelEvent> mouseWheelEvent = const HtmlStreamProvider<WheelEvent>('mousewheel');
+
+ static const HtmlStreamProvider<Event> pasteEvent = const HtmlStreamProvider<Event>('paste');
+
+ static const HtmlStreamProvider<Event> resetEvent = const HtmlStreamProvider<Event>('reset');
+
+ static const HtmlStreamProvider<Event> scrollEvent = const HtmlStreamProvider<Event>('scroll');
+
+ static const HtmlStreamProvider<Event> searchEvent = const HtmlStreamProvider<Event>('search');
+
+ static const HtmlStreamProvider<Event> selectEvent = const HtmlStreamProvider<Event>('select');
+
+ static const HtmlStreamProvider<Event> selectStartEvent = const HtmlStreamProvider<Event>('selectstart');
+
+ static const HtmlStreamProvider<Event> submitEvent = const HtmlStreamProvider<Event>('submit');
+
+ static const HtmlStreamProvider<TouchEvent> touchCancelEvent = const HtmlStreamProvider<TouchEvent>('touchcancel');
+
+ static const HtmlStreamProvider<TouchEvent> touchEndEvent = const HtmlStreamProvider<TouchEvent>('touchend');
+
+ static const HtmlStreamProvider<TouchEvent> touchEnterEvent = const HtmlStreamProvider<TouchEvent>('touchenter');
+
+ static const HtmlStreamProvider<TouchEvent> touchLeaveEvent = const HtmlStreamProvider<TouchEvent>('touchleave');
+
+ static const HtmlStreamProvider<TouchEvent> touchMoveEvent = const HtmlStreamProvider<TouchEvent>('touchmove');
+
+ static const HtmlStreamProvider<TouchEvent> touchStartEvent = const HtmlStreamProvider<TouchEvent>('touchstart');
+
+ static const HtmlStreamProvider<TransitionEvent> transitionEndEvent = const HtmlStreamProvider<TransitionEvent>('webkitTransitionEnd');
+
+ static const HtmlStreamProvider<Event> fullscreenChangeEvent = const HtmlStreamProvider<Event>('webkitfullscreenchange');
+
+ static const HtmlStreamProvider<Event> fullscreenErrorEvent = const HtmlStreamProvider<Event>('webkitfullscreenerror');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
ElementEvents get on =>
new ElementEvents(this);
@@ -9243,6 +9643,102 @@ abstract class Element extends Node implements ElementTraversal {
/** @domName Element.webkitRequestPointerLock */
void webkitRequestPointerLock() native "Element_webkitRequestPointerLock_Callback";
+ Stream<Event> get onAbort => abortEvent.forTarget(this);
+
+ Stream<Event> get onBeforeCopy => beforeCopyEvent.forTarget(this);
+
+ Stream<Event> get onBeforeCut => beforeCutEvent.forTarget(this);
+
+ Stream<Event> get onBeforePaste => beforePasteEvent.forTarget(this);
+
+ Stream<Event> get onBlur => blurEvent.forTarget(this);
+
+ Stream<Event> get onChange => changeEvent.forTarget(this);
+
+ Stream<MouseEvent> get onClick => clickEvent.forTarget(this);
+
+ Stream<MouseEvent> get onContextMenu => contextMenuEvent.forTarget(this);
+
+ Stream<Event> get onCopy => copyEvent.forTarget(this);
+
+ Stream<Event> get onCut => cutEvent.forTarget(this);
+
+ Stream<Event> get onDoubleClick => doubleClickEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDrag => dragEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragEnd => dragEndEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragEnter => dragEnterEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragLeave => dragLeaveEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragOver => dragOverEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragStart => dragStartEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDrop => dropEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onFocus => focusEvent.forTarget(this);
+
+ Stream<Event> get onInput => inputEvent.forTarget(this);
+
+ Stream<Event> get onInvalid => invalidEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyDown => keyDownEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyPress => keyPressEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyUp => keyUpEvent.forTarget(this);
+
+ Stream<Event> get onLoad => loadEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseDown => mouseDownEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseMove => mouseMoveEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseOut => mouseOutEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseOver => mouseOverEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseUp => mouseUpEvent.forTarget(this);
+
+ Stream<WheelEvent> get onMouseWheel => mouseWheelEvent.forTarget(this);
+
+ Stream<Event> get onPaste => pasteEvent.forTarget(this);
+
+ Stream<Event> get onReset => resetEvent.forTarget(this);
+
+ Stream<Event> get onScroll => scrollEvent.forTarget(this);
+
+ Stream<Event> get onSearch => searchEvent.forTarget(this);
+
+ Stream<Event> get onSelect => selectEvent.forTarget(this);
+
+ Stream<Event> get onSelectStart => selectStartEvent.forTarget(this);
+
+ Stream<Event> get onSubmit => submitEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchCancel => touchCancelEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchEnd => touchEndEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchEnter => touchEnterEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchLeave => touchLeaveEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchMove => touchMoveEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchStart => touchStartEvent.forTarget(this);
+
+ Stream<TransitionEvent> get onTransitionEnd => transitionEndEvent.forTarget(this);
+
+ Stream<Event> get onFullscreenChange => fullscreenChangeEvent.forTarget(this);
+
+ Stream<Event> get onFullscreenError => fullscreenErrorEvent.forTarget(this);
+
}
final _START_TAG_REGEXP = new RegExp('<(\\w+)');
@@ -9921,6 +10417,12 @@ class EventException extends NativeFieldWrapperClass1 {
class EventSource extends EventTarget {
EventSource.internal() : super.internal();
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
+ static const HtmlStreamProvider<Event> openEvent = const HtmlStreamProvider<Event>('open');
+
///@docsEditable true
factory EventSource(String scriptUrl) => EventSource._create(scriptUrl);
static EventSource _create(String scriptUrl) native "EventSource_constructor_Callback";
@@ -9959,6 +10461,12 @@ class EventSource extends EventTarget {
/** @domName EventSource.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "EventSource_removeEventListener_Callback";
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
+ Stream<Event> get onOpen => openEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -10488,6 +10996,18 @@ class FileList extends NativeFieldWrapperClass1 implements List<File> {
class FileReader extends EventTarget {
FileReader.internal() : super.internal();
+ static const HtmlStreamProvider<ProgressEvent> abortEvent = const HtmlStreamProvider<ProgressEvent>('abort');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<ProgressEvent> loadEvent = const HtmlStreamProvider<ProgressEvent>('load');
+
+ static const HtmlStreamProvider<ProgressEvent> loadEndEvent = const HtmlStreamProvider<ProgressEvent>('loadend');
+
+ static const HtmlStreamProvider<ProgressEvent> loadStartEvent = const HtmlStreamProvider<ProgressEvent>('loadstart');
+
+ static const HtmlStreamProvider<ProgressEvent> progressEvent = const HtmlStreamProvider<ProgressEvent>('progress');
+
///@docsEditable true
factory FileReader() => FileReader._create();
static FileReader _create() native "FileReader_constructor_Callback";
@@ -10558,6 +11078,18 @@ class FileReader extends EventTarget {
/** @domName FileReader.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "FileReader_removeEventListener_Callback";
+ Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoad => loadEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoadEnd => loadEndEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoadStart => loadStartEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -10685,6 +11217,18 @@ class FileSystemSync extends NativeFieldWrapperClass1 {
class FileWriter extends EventTarget {
FileWriter.internal() : super.internal();
+ static const HtmlStreamProvider<ProgressEvent> abortEvent = const HtmlStreamProvider<ProgressEvent>('abort');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<ProgressEvent> progressEvent = const HtmlStreamProvider<ProgressEvent>('progress');
+
+ static const HtmlStreamProvider<ProgressEvent> writeEvent = const HtmlStreamProvider<ProgressEvent>('write');
+
+ static const HtmlStreamProvider<ProgressEvent> writeEndEvent = const HtmlStreamProvider<ProgressEvent>('writeend');
+
+ static const HtmlStreamProvider<ProgressEvent> writeStartEvent = const HtmlStreamProvider<ProgressEvent>('writestart');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
FileWriterEvents get on =>
new FileWriterEvents(this);
@@ -10739,6 +11283,18 @@ class FileWriter extends EventTarget {
/** @domName FileWriter.write */
void write(Blob data) native "FileWriter_write_Callback";
+ Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onWrite => writeEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onWriteEnd => writeEndEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onWriteStart => writeStartEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -11461,6 +12017,32 @@ class FrameElement extends _Element_Merged {
class FrameSetElement extends _Element_Merged {
FrameSetElement.internal() : super.internal();
+ static const HtmlStreamProvider<Event> beforeUnloadEvent = const HtmlStreamProvider<Event>('beforeunload');
+
+ static const HtmlStreamProvider<Event> blurEvent = const HtmlStreamProvider<Event>('blur');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> focusEvent = const HtmlStreamProvider<Event>('focus');
+
+ static const HtmlStreamProvider<HashChangeEvent> hashChangeEvent = const HtmlStreamProvider<HashChangeEvent>('hashchange');
+
+ static const HtmlStreamProvider<Event> loadEvent = const HtmlStreamProvider<Event>('load');
+
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
+ static const HtmlStreamProvider<Event> offlineEvent = const HtmlStreamProvider<Event>('offline');
+
+ static const HtmlStreamProvider<Event> onlineEvent = const HtmlStreamProvider<Event>('online');
+
+ static const HtmlStreamProvider<PopStateEvent> popStateEvent = const HtmlStreamProvider<PopStateEvent>('popstate');
+
+ static const HtmlStreamProvider<Event> resizeEvent = const HtmlStreamProvider<Event>('resize');
+
+ static const HtmlStreamProvider<StorageEvent> storageEvent = const HtmlStreamProvider<StorageEvent>('storage');
+
+ static const HtmlStreamProvider<Event> unloadEvent = const HtmlStreamProvider<Event>('unload');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
FrameSetElementEvents get on =>
new FrameSetElementEvents(this);
@@ -11481,6 +12063,32 @@ class FrameSetElement extends _Element_Merged {
/** @domName HTMLFrameSetElement.rows */
void set rows(String value) native "HTMLFrameSetElement_rows_Setter";
+ Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this);
+
+ Stream<Event> get onBlur => blurEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onFocus => focusEvent.forTarget(this);
+
+ Stream<HashChangeEvent> get onHashChange => hashChangeEvent.forTarget(this);
+
+ Stream<Event> get onLoad => loadEvent.forTarget(this);
+
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
+ Stream<Event> get onOffline => offlineEvent.forTarget(this);
+
+ Stream<Event> get onOnline => onlineEvent.forTarget(this);
+
+ Stream<PopStateEvent> get onPopState => popStateEvent.forTarget(this);
+
+ Stream<Event> get onResize => resizeEvent.forTarget(this);
+
+ Stream<StorageEvent> get onStorage => storageEvent.forTarget(this);
+
+ Stream<Event> get onUnload => unloadEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -12323,6 +12931,20 @@ class HttpRequest extends EventTarget {
HttpRequest.internal() : super.internal();
+ static const HtmlStreamProvider<ProgressEvent> abortEvent = const HtmlStreamProvider<ProgressEvent>('abort');
+
+ static const HtmlStreamProvider<ProgressEvent> errorEvent = const HtmlStreamProvider<ProgressEvent>('error');
+
+ static const HtmlStreamProvider<ProgressEvent> loadEvent = const HtmlStreamProvider<ProgressEvent>('load');
+
+ static const HtmlStreamProvider<ProgressEvent> loadEndEvent = const HtmlStreamProvider<ProgressEvent>('loadend');
+
+ static const HtmlStreamProvider<ProgressEvent> loadStartEvent = const HtmlStreamProvider<ProgressEvent>('loadstart');
+
+ static const HtmlStreamProvider<ProgressEvent> progressEvent = const HtmlStreamProvider<ProgressEvent>('progress');
+
+ static const HtmlStreamProvider<ProgressEvent> readyStateChangeEvent = const HtmlStreamProvider<ProgressEvent>('readystatechange');
+
///@docsEditable true
factory HttpRequest() => HttpRequest._create();
static HttpRequest _create() native "XMLHttpRequest_constructor_Callback";
@@ -12425,6 +13047,20 @@ class HttpRequest extends EventTarget {
/** @domName XMLHttpRequest.setRequestHeader */
void setRequestHeader(String header, String value) native "XMLHttpRequest_setRequestHeader_Callback";
+ Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onError => errorEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoad => loadEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoadEnd => loadEndEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoadStart => loadStartEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onReadyStateChange => readyStateChangeEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -12516,6 +13152,18 @@ class HttpRequestProgressEvent extends ProgressEvent {
class HttpRequestUpload extends EventTarget {
HttpRequestUpload.internal() : super.internal();
+ static const HtmlStreamProvider<ProgressEvent> abortEvent = const HtmlStreamProvider<ProgressEvent>('abort');
+
+ static const HtmlStreamProvider<ProgressEvent> errorEvent = const HtmlStreamProvider<ProgressEvent>('error');
+
+ static const HtmlStreamProvider<ProgressEvent> loadEvent = const HtmlStreamProvider<ProgressEvent>('load');
+
+ static const HtmlStreamProvider<ProgressEvent> loadEndEvent = const HtmlStreamProvider<ProgressEvent>('loadend');
+
+ static const HtmlStreamProvider<ProgressEvent> loadStartEvent = const HtmlStreamProvider<ProgressEvent>('loadstart');
+
+ static const HtmlStreamProvider<ProgressEvent> progressEvent = const HtmlStreamProvider<ProgressEvent>('progress');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
HttpRequestUploadEvents get on =>
new HttpRequestUploadEvents(this);
@@ -12532,6 +13180,18 @@ class HttpRequestUpload extends EventTarget {
/** @domName XMLHttpRequestUpload.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "XMLHttpRequestUpload_removeEventListener_Callback";
+ Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onError => errorEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoad => loadEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoadEnd => loadEndEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onLoadStart => loadStartEvent.forTarget(this);
+
+ Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -12805,6 +13465,8 @@ class InputElement extends _Element_Merged implements
}
InputElement.internal() : super.internal();
+ static const HtmlStreamProvider<Event> speechChangeEvent = const HtmlStreamProvider<Event>('webkitSpeechChange');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
InputElementEvents get on =>
new InputElementEvents(this);
@@ -13241,6 +13903,8 @@ class InputElement extends _Element_Merged implements
/** @domName HTMLInputElement.stepUp_2 */
void _stepUp_2() native "HTMLInputElement_stepUp_2_Callback";
+ Stream<Event> get onSpeechChange => speechChangeEvent.forTarget(this);
+
}
@@ -15167,6 +15831,56 @@ class MediaController extends EventTarget {
class MediaElement extends _Element_Merged {
MediaElement.internal() : super.internal();
+ static const HtmlStreamProvider<Event> canPlayEvent = const HtmlStreamProvider<Event>('canplay');
+
+ static const HtmlStreamProvider<Event> canPlayThroughEvent = const HtmlStreamProvider<Event>('canplaythrough');
+
+ static const HtmlStreamProvider<Event> durationChangeEvent = const HtmlStreamProvider<Event>('durationchange');
+
+ static const HtmlStreamProvider<Event> emptiedEvent = const HtmlStreamProvider<Event>('emptied');
+
+ static const HtmlStreamProvider<Event> endedEvent = const HtmlStreamProvider<Event>('ended');
+
+ static const HtmlStreamProvider<Event> loadedDataEvent = const HtmlStreamProvider<Event>('loadeddata');
+
+ static const HtmlStreamProvider<Event> loadedMetadataEvent = const HtmlStreamProvider<Event>('loadedmetadata');
+
+ static const HtmlStreamProvider<Event> loadStartEvent = const HtmlStreamProvider<Event>('loadstart');
+
+ static const HtmlStreamProvider<Event> pauseEvent = const HtmlStreamProvider<Event>('pause');
+
+ static const HtmlStreamProvider<Event> playEvent = const HtmlStreamProvider<Event>('play');
+
+ static const HtmlStreamProvider<Event> playingEvent = const HtmlStreamProvider<Event>('playing');
+
+ static const HtmlStreamProvider<Event> progressEvent = const HtmlStreamProvider<Event>('progress');
+
+ static const HtmlStreamProvider<Event> rateChangeEvent = const HtmlStreamProvider<Event>('ratechange');
+
+ static const HtmlStreamProvider<Event> seekedEvent = const HtmlStreamProvider<Event>('seeked');
+
+ static const HtmlStreamProvider<Event> seekingEvent = const HtmlStreamProvider<Event>('seeking');
+
+ static const HtmlStreamProvider<Event> showEvent = const HtmlStreamProvider<Event>('show');
+
+ static const HtmlStreamProvider<Event> stalledEvent = const HtmlStreamProvider<Event>('stalled');
+
+ static const HtmlStreamProvider<Event> suspendEvent = const HtmlStreamProvider<Event>('suspend');
+
+ static const HtmlStreamProvider<Event> timeUpdateEvent = const HtmlStreamProvider<Event>('timeupdate');
+
+ static const HtmlStreamProvider<Event> volumeChangeEvent = const HtmlStreamProvider<Event>('volumechange');
+
+ static const HtmlStreamProvider<Event> waitingEvent = const HtmlStreamProvider<Event>('waiting');
+
+ static const HtmlStreamProvider<MediaKeyEvent> keyAddedEvent = const HtmlStreamProvider<MediaKeyEvent>('webkitkeyadded');
+
+ static const HtmlStreamProvider<MediaKeyEvent> keyErrorEvent = const HtmlStreamProvider<MediaKeyEvent>('webkitkeyerror');
+
+ static const HtmlStreamProvider<MediaKeyEvent> keyMessageEvent = const HtmlStreamProvider<MediaKeyEvent>('webkitkeymessage');
+
+ static const HtmlStreamProvider<MediaKeyEvent> needKeyEvent = const HtmlStreamProvider<MediaKeyEvent>('webkitneedkey');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
MediaElementEvents get on =>
new MediaElementEvents(this);
@@ -15451,6 +16165,56 @@ class MediaElement extends _Element_Merged {
/** @domName HTMLMediaElement.webkitGenerateKeyRequest_2 */
void _webkitGenerateKeyRequest_2(keySystem) native "HTMLMediaElement_webkitGenerateKeyRequest_2_Callback";
+ Stream<Event> get onCanPlay => canPlayEvent.forTarget(this);
+
+ Stream<Event> get onCanPlayThrough => canPlayThroughEvent.forTarget(this);
+
+ Stream<Event> get onDurationChange => durationChangeEvent.forTarget(this);
+
+ Stream<Event> get onEmptied => emptiedEvent.forTarget(this);
+
+ Stream<Event> get onEnded => endedEvent.forTarget(this);
+
+ Stream<Event> get onLoadedData => loadedDataEvent.forTarget(this);
+
+ Stream<Event> get onLoadedMetadata => loadedMetadataEvent.forTarget(this);
+
+ Stream<Event> get onLoadStart => loadStartEvent.forTarget(this);
+
+ Stream<Event> get onPause => pauseEvent.forTarget(this);
+
+ Stream<Event> get onPlay => playEvent.forTarget(this);
+
+ Stream<Event> get onPlaying => playingEvent.forTarget(this);
+
+ Stream<Event> get onProgress => progressEvent.forTarget(this);
+
+ Stream<Event> get onRateChange => rateChangeEvent.forTarget(this);
+
+ Stream<Event> get onSeeked => seekedEvent.forTarget(this);
+
+ Stream<Event> get onSeeking => seekingEvent.forTarget(this);
+
+ Stream<Event> get onShow => showEvent.forTarget(this);
+
+ Stream<Event> get onStalled => stalledEvent.forTarget(this);
+
+ Stream<Event> get onSuspend => suspendEvent.forTarget(this);
+
+ Stream<Event> get onTimeUpdate => timeUpdateEvent.forTarget(this);
+
+ Stream<Event> get onVolumeChange => volumeChangeEvent.forTarget(this);
+
+ Stream<Event> get onWaiting => waitingEvent.forTarget(this);
+
+ Stream<MediaKeyEvent> get onKeyAdded => keyAddedEvent.forTarget(this);
+
+ Stream<MediaKeyEvent> get onKeyError => keyErrorEvent.forTarget(this);
+
+ Stream<MediaKeyEvent> get onKeyMessage => keyMessageEvent.forTarget(this);
+
+ Stream<MediaKeyEvent> get onNeedKey => needKeyEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -15778,6 +16542,8 @@ class MediaSource extends EventTarget {
class MediaStream extends EventTarget {
MediaStream.internal() : super.internal();
+ static const HtmlStreamProvider<Event> endedEvent = const HtmlStreamProvider<Event>('ended');
+
///@docsEditable true
factory MediaStream(MediaStreamTrackList audioTracks, MediaStreamTrackList videoTracks) => MediaStream._create(audioTracks, videoTracks);
static MediaStream _create(MediaStreamTrackList audioTracks, MediaStreamTrackList videoTracks) native "MediaStream_constructor_Callback";
@@ -15818,6 +16584,8 @@ class MediaStream extends EventTarget {
/** @domName MediaStream.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "MediaStream_removeEventListener_Callback";
+ Stream<Event> get onEnded => endedEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -15855,6 +16623,12 @@ class MediaStreamEvent extends Event {
class MediaStreamTrack extends EventTarget {
MediaStreamTrack.internal() : super.internal();
+ static const HtmlStreamProvider<Event> endedEvent = const HtmlStreamProvider<Event>('ended');
+
+ static const HtmlStreamProvider<Event> muteEvent = const HtmlStreamProvider<Event>('mute');
+
+ static const HtmlStreamProvider<Event> unmuteEvent = const HtmlStreamProvider<Event>('unmute');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
MediaStreamTrackEvents get on =>
new MediaStreamTrackEvents(this);
@@ -15897,6 +16671,12 @@ class MediaStreamTrack extends EventTarget {
/** @domName MediaStreamTrack.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "MediaStreamTrack_removeEventListener_Callback";
+ Stream<Event> get onEnded => endedEvent.forTarget(this);
+
+ Stream<Event> get onMute => muteEvent.forTarget(this);
+
+ Stream<Event> get onUnmute => unmuteEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -15940,6 +16720,10 @@ class MediaStreamTrackEvent extends Event {
class MediaStreamTrackList extends EventTarget {
MediaStreamTrackList.internal() : super.internal();
+ static const HtmlStreamProvider<MediaStreamTrackEvent> addTrackEvent = const HtmlStreamProvider<MediaStreamTrackEvent>('addtrack');
+
+ static const HtmlStreamProvider<MediaStreamTrackEvent> removeTrackEvent = const HtmlStreamProvider<MediaStreamTrackEvent>('removetrack');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
MediaStreamTrackListEvents get on =>
new MediaStreamTrackListEvents(this);
@@ -15972,6 +16756,10 @@ class MediaStreamTrackList extends EventTarget {
/** @domName MediaStreamTrackList.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "MediaStreamTrackList_removeEventListener_Callback";
+ Stream<MediaStreamTrackEvent> get onAddTrack => addTrackEvent.forTarget(this);
+
+ Stream<MediaStreamTrackEvent> get onRemoveTrack => removeTrackEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -16099,6 +16887,8 @@ class MessageEvent extends Event {
class MessagePort extends EventTarget {
MessagePort.internal() : super.internal();
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
MessagePortEvents get on =>
new MessagePortEvents(this);
@@ -16127,6 +16917,8 @@ class MessagePort extends EventTarget {
/** @domName MessagePort.start */
void start() native "MessagePort_start_Callback";
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -17569,9 +18361,19 @@ class Notation extends Node {
// WARNING: Do not edit - generated code.
-/// @domName Notification
-class Notification extends EventTarget {
- Notification.internal() : super.internal();
+/// @domName Notification
+class Notification extends EventTarget {
+ Notification.internal() : super.internal();
+
+ static const HtmlStreamProvider<Event> clickEvent = const HtmlStreamProvider<Event>('click');
+
+ static const HtmlStreamProvider<Event> closeEvent = const HtmlStreamProvider<Event>('close');
+
+ static const HtmlStreamProvider<Event> displayEvent = const HtmlStreamProvider<Event>('display');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> showEvent = const HtmlStreamProvider<Event>('show');
///@docsEditable true
factory Notification(String title, [Map options]) {
@@ -17642,6 +18444,16 @@ class Notification extends EventTarget {
/** @domName Notification.show */
void show() native "Notification_show_Callback";
+ Stream<Event> get onClick => clickEvent.forTarget(this);
+
+ Stream<Event> get onClose => closeEvent.forTarget(this);
+
+ Stream<Event> get onDisplay => displayEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onShow => showEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -18912,6 +19724,14 @@ class RgbColor extends NativeFieldWrapperClass1 {
class RtcDataChannel extends EventTarget {
RtcDataChannel.internal() : super.internal();
+ static const HtmlStreamProvider<Event> closeEvent = const HtmlStreamProvider<Event>('close');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
+ static const HtmlStreamProvider<Event> openEvent = const HtmlStreamProvider<Event>('open');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
RtcDataChannelEvents get on =>
new RtcDataChannelEvents(this);
@@ -18992,6 +19812,14 @@ class RtcDataChannel extends EventTarget {
/** @domName RTCDataChannel.send_4 */
void _send_4(data) native "RTCDataChannel_send_4_Callback";
+ Stream<Event> get onClose => closeEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
+ Stream<Event> get onOpen => openEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -19082,6 +19910,22 @@ class RtcIceCandidateEvent extends Event {
class RtcPeerConnection extends EventTarget {
RtcPeerConnection.internal() : super.internal();
+ static const HtmlStreamProvider<MediaStreamEvent> addStreamEvent = const HtmlStreamProvider<MediaStreamEvent>('addstream');
+
+ static const HtmlStreamProvider<RtcDataChannelEvent> dataChannelEvent = const HtmlStreamProvider<RtcDataChannelEvent>('datachannel');
+
+ static const HtmlStreamProvider<RtcIceCandidateEvent> iceCandidateEvent = const HtmlStreamProvider<RtcIceCandidateEvent>('icecandidate');
+
+ static const HtmlStreamProvider<Event> iceChangeEvent = const HtmlStreamProvider<Event>('icechange');
+
+ static const HtmlStreamProvider<Event> negotiationNeededEvent = const HtmlStreamProvider<Event>('negotiationneeded');
+
+ static const HtmlStreamProvider<Event> openEvent = const HtmlStreamProvider<Event>('open');
+
+ static const HtmlStreamProvider<MediaStreamEvent> removeStreamEvent = const HtmlStreamProvider<MediaStreamEvent>('removestream');
+
+ static const HtmlStreamProvider<Event> stateChangeEvent = const HtmlStreamProvider<Event>('statechange');
+
///@docsEditable true
factory RtcPeerConnection(Map rtcIceServers, [Map mediaConstraints]) {
if (!?mediaConstraints) {
@@ -19179,6 +20023,22 @@ class RtcPeerConnection extends EventTarget {
/** @domName RTCPeerConnection.updateIce */
void updateIce([Map configuration, Map mediaConstraints]) native "RTCPeerConnection_updateIce_Callback";
+ Stream<MediaStreamEvent> get onAddStream => addStreamEvent.forTarget(this);
+
+ Stream<RtcDataChannelEvent> get onDataChannel => dataChannelEvent.forTarget(this);
+
+ Stream<RtcIceCandidateEvent> get onIceCandidate => iceCandidateEvent.forTarget(this);
+
+ Stream<Event> get onIceChange => iceChangeEvent.forTarget(this);
+
+ Stream<Event> get onNegotiationNeeded => negotiationNeededEvent.forTarget(this);
+
+ Stream<Event> get onOpen => openEvent.forTarget(this);
+
+ Stream<MediaStreamEvent> get onRemoveStream => removeStreamEvent.forTarget(this);
+
+ Stream<Event> get onStateChange => stateChangeEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -19806,6 +20666,8 @@ class SharedWorker extends AbstractWorker {
class SharedWorkerContext extends WorkerContext {
SharedWorkerContext.internal() : super.internal();
+ static const HtmlStreamProvider<Event> connectEvent = const HtmlStreamProvider<Event>('connect');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
SharedWorkerContextEvents get on =>
new SharedWorkerContextEvents(this);
@@ -19814,6 +20676,8 @@ class SharedWorkerContext extends WorkerContext {
/** @domName SharedWorkerContext.name */
String get name native "SharedWorkerContext_name_Getter";
+ Stream<Event> get onConnect => connectEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -20367,6 +21231,28 @@ class SpeechInputResult extends NativeFieldWrapperClass1 {
class SpeechRecognition extends EventTarget {
SpeechRecognition.internal() : super.internal();
+ static const HtmlStreamProvider<Event> audioEndEvent = const HtmlStreamProvider<Event>('audioend');
+
+ static const HtmlStreamProvider<Event> audioStartEvent = const HtmlStreamProvider<Event>('audiostart');
+
+ static const HtmlStreamProvider<Event> endEvent = const HtmlStreamProvider<Event>('end');
+
+ static const HtmlStreamProvider<SpeechRecognitionError> errorEvent = const HtmlStreamProvider<SpeechRecognitionError>('error');
+
+ static const HtmlStreamProvider<SpeechRecognitionEvent> noMatchEvent = const HtmlStreamProvider<SpeechRecognitionEvent>('nomatch');
+
+ static const HtmlStreamProvider<SpeechRecognitionEvent> resultEvent = const HtmlStreamProvider<SpeechRecognitionEvent>('result');
+
+ static const HtmlStreamProvider<Event> soundEndEvent = const HtmlStreamProvider<Event>('soundend');
+
+ static const HtmlStreamProvider<Event> soundStartEvent = const HtmlStreamProvider<Event>('soundstart');
+
+ static const HtmlStreamProvider<Event> speechEndEvent = const HtmlStreamProvider<Event>('speechend');
+
+ static const HtmlStreamProvider<Event> speechStartEvent = const HtmlStreamProvider<Event>('speechstart');
+
+ static const HtmlStreamProvider<Event> startEvent = const HtmlStreamProvider<Event>('start');
+
///@docsEditable true
factory SpeechRecognition() => SpeechRecognition._create();
static SpeechRecognition _create() native "SpeechRecognition_constructor_Callback";
@@ -20439,6 +21325,28 @@ class SpeechRecognition extends EventTarget {
/** @domName SpeechRecognition.stop */
void stop() native "SpeechRecognition_stop_Callback";
+ Stream<Event> get onAudioEnd => audioEndEvent.forTarget(this);
+
+ Stream<Event> get onAudioStart => audioStartEvent.forTarget(this);
+
+ Stream<Event> get onEnd => endEvent.forTarget(this);
+
+ Stream<SpeechRecognitionError> get onError => errorEvent.forTarget(this);
+
+ Stream<SpeechRecognitionEvent> get onNoMatch => noMatchEvent.forTarget(this);
+
+ Stream<SpeechRecognitionEvent> get onResult => resultEvent.forTarget(this);
+
+ Stream<Event> get onSoundEnd => soundEndEvent.forTarget(this);
+
+ Stream<Event> get onSoundStart => soundStartEvent.forTarget(this);
+
+ Stream<Event> get onSpeechEnd => speechEndEvent.forTarget(this);
+
+ Stream<Event> get onSpeechStart => speechStartEvent.forTarget(this);
+
+ Stream<Event> get onStart => startEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -21682,6 +22590,8 @@ class TextMetrics extends NativeFieldWrapperClass1 {
class TextTrack extends EventTarget {
TextTrack.internal() : super.internal();
+ static const HtmlStreamProvider<Event> cueChangeEvent = const HtmlStreamProvider<Event>('cuechange');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
TextTrackEvents get on =>
new TextTrackEvents(this);
@@ -21734,6 +22644,8 @@ class TextTrack extends EventTarget {
/** @domName TextTrack.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "TextTrack_removeEventListener_Callback";
+ Stream<Event> get onCueChange => cueChangeEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -21755,6 +22667,10 @@ class TextTrackEvents extends Events {
class TextTrackCue extends EventTarget {
TextTrackCue.internal() : super.internal();
+ static const HtmlStreamProvider<Event> enterEvent = const HtmlStreamProvider<Event>('enter');
+
+ static const HtmlStreamProvider<Event> exitEvent = const HtmlStreamProvider<Event>('exit');
+
///@docsEditable true
factory TextTrackCue(num startTime, num endTime, String text) => TextTrackCue._create(startTime, endTime, text);
static TextTrackCue _create(num startTime, num endTime, String text) native "TextTrackCue_constructor_Callback";
@@ -21871,6 +22787,10 @@ class TextTrackCue extends EventTarget {
/** @domName TextTrackCue.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "TextTrackCue_removeEventListener_Callback";
+ Stream<Event> get onEnter => enterEvent.forTarget(this);
+
+ Stream<Event> get onExit => exitEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -22064,6 +22984,8 @@ class TextTrackCueList extends NativeFieldWrapperClass1 implements List<TextTrac
class TextTrackList extends EventTarget implements List<TextTrack> {
TextTrackList.internal() : super.internal();
+ static const HtmlStreamProvider<TrackEvent> addTrackEvent = const HtmlStreamProvider<TrackEvent>('addtrack');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
TextTrackListEvents get on =>
new TextTrackListEvents(this);
@@ -22233,6 +23155,8 @@ class TextTrackList extends EventTarget implements List<TextTrack> {
/** @domName TextTrackList.removeEventListener */
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "TextTrackList_removeEventListener_Callback";
+ Stream<TrackEvent> get onAddTrack => addTrackEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -25339,6 +26263,14 @@ class WebKitNamedFlow extends EventTarget {
class WebSocket extends EventTarget {
WebSocket.internal() : super.internal();
+ static const HtmlStreamProvider<CloseEvent> closeEvent = const HtmlStreamProvider<CloseEvent>('close');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
+ static const HtmlStreamProvider<Event> openEvent = const HtmlStreamProvider<Event>('open');
+
///@docsEditable true
factory WebSocket(String url) => WebSocket._create(url);
static WebSocket _create(String url) native "WebSocket_constructor_Callback";
@@ -25485,6 +26417,14 @@ class WebSocket extends EventTarget {
/** @domName WebSocket.send_7 */
void _send_7(data) native "WebSocket_send_7_Callback";
+ Stream<CloseEvent> get onClose => closeEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
+ Stream<Event> get onOpen => openEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -25576,6 +26516,154 @@ class Window extends EventTarget implements WindowBase {
Window.internal() : super.internal();
+ static const HtmlStreamProvider<Event> contentLoadedEvent = const HtmlStreamProvider<Event>('DOMContentLoaded');
+
+ static const HtmlStreamProvider<Event> abortEvent = const HtmlStreamProvider<Event>('abort');
+
+ static const HtmlStreamProvider<Event> beforeUnloadEvent = const HtmlStreamProvider<Event>('beforeunload');
+
+ static const HtmlStreamProvider<Event> blurEvent = const HtmlStreamProvider<Event>('blur');
+
+ static const HtmlStreamProvider<Event> canPlayEvent = const HtmlStreamProvider<Event>('canplay');
+
+ static const HtmlStreamProvider<Event> canPlayThroughEvent = const HtmlStreamProvider<Event>('canplaythrough');
+
+ static const HtmlStreamProvider<Event> changeEvent = const HtmlStreamProvider<Event>('change');
+
+ static const HtmlStreamProvider<MouseEvent> clickEvent = const HtmlStreamProvider<MouseEvent>('click');
+
+ static const HtmlStreamProvider<MouseEvent> contextMenuEvent = const HtmlStreamProvider<MouseEvent>('contextmenu');
+
+ static const HtmlStreamProvider<Event> doubleClickEvent = const HtmlStreamProvider<Event>('dblclick');
+
+ static const HtmlStreamProvider<DeviceMotionEvent> deviceMotionEvent = const HtmlStreamProvider<DeviceMotionEvent>('devicemotion');
+
+ static const HtmlStreamProvider<DeviceOrientationEvent> deviceOrientationEvent = const HtmlStreamProvider<DeviceOrientationEvent>('deviceorientation');
+
+ static const HtmlStreamProvider<MouseEvent> dragEvent = const HtmlStreamProvider<MouseEvent>('drag');
+
+ static const HtmlStreamProvider<MouseEvent> dragEndEvent = const HtmlStreamProvider<MouseEvent>('dragend');
+
+ static const HtmlStreamProvider<MouseEvent> dragEnterEvent = const HtmlStreamProvider<MouseEvent>('dragenter');
+
+ static const HtmlStreamProvider<MouseEvent> dragLeaveEvent = const HtmlStreamProvider<MouseEvent>('dragleave');
+
+ static const HtmlStreamProvider<MouseEvent> dragOverEvent = const HtmlStreamProvider<MouseEvent>('dragover');
+
+ static const HtmlStreamProvider<MouseEvent> dragStartEvent = const HtmlStreamProvider<MouseEvent>('dragstart');
+
+ static const HtmlStreamProvider<MouseEvent> dropEvent = const HtmlStreamProvider<MouseEvent>('drop');
+
+ static const HtmlStreamProvider<Event> durationChangeEvent = const HtmlStreamProvider<Event>('durationchange');
+
+ static const HtmlStreamProvider<Event> emptiedEvent = const HtmlStreamProvider<Event>('emptied');
+
+ static const HtmlStreamProvider<Event> endedEvent = const HtmlStreamProvider<Event>('ended');
+
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
+ static const HtmlStreamProvider<Event> focusEvent = const HtmlStreamProvider<Event>('focus');
+
+ static const HtmlStreamProvider<HashChangeEvent> hashChangeEvent = const HtmlStreamProvider<HashChangeEvent>('hashchange');
+
+ static const HtmlStreamProvider<Event> inputEvent = const HtmlStreamProvider<Event>('input');
+
+ static const HtmlStreamProvider<Event> invalidEvent = const HtmlStreamProvider<Event>('invalid');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyDownEvent = const HtmlStreamProvider<KeyboardEvent>('keydown');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyPressEvent = const HtmlStreamProvider<KeyboardEvent>('keypress');
+
+ static const HtmlStreamProvider<KeyboardEvent> keyUpEvent = const HtmlStreamProvider<KeyboardEvent>('keyup');
+
+ static const HtmlStreamProvider<Event> loadEvent = const HtmlStreamProvider<Event>('load');
+
+ static const HtmlStreamProvider<Event> loadedDataEvent = const HtmlStreamProvider<Event>('loadeddata');
+
+ static const HtmlStreamProvider<Event> loadedMetadataEvent = const HtmlStreamProvider<Event>('loadedmetadata');
+
+ static const HtmlStreamProvider<Event> loadStartEvent = const HtmlStreamProvider<Event>('loadstart');
+
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
+ static const HtmlStreamProvider<MouseEvent> mouseDownEvent = const HtmlStreamProvider<MouseEvent>('mousedown');
+
+ static const HtmlStreamProvider<MouseEvent> mouseMoveEvent = const HtmlStreamProvider<MouseEvent>('mousemove');
+
+ static const HtmlStreamProvider<MouseEvent> mouseOutEvent = const HtmlStreamProvider<MouseEvent>('mouseout');
+
+ static const HtmlStreamProvider<MouseEvent> mouseOverEvent = const HtmlStreamProvider<MouseEvent>('mouseover');
+
+ static const HtmlStreamProvider<MouseEvent> mouseUpEvent = const HtmlStreamProvider<MouseEvent>('mouseup');
+
+ static const HtmlStreamProvider<WheelEvent> mouseWheelEvent = const HtmlStreamProvider<WheelEvent>('mousewheel');
+
+ static const HtmlStreamProvider<Event> offlineEvent = const HtmlStreamProvider<Event>('offline');
+
+ static const HtmlStreamProvider<Event> onlineEvent = const HtmlStreamProvider<Event>('online');
+
+ static const HtmlStreamProvider<Event> pageHideEvent = const HtmlStreamProvider<Event>('pagehide');
+
+ static const HtmlStreamProvider<Event> pageShowEvent = const HtmlStreamProvider<Event>('pageshow');
+
+ static const HtmlStreamProvider<Event> pauseEvent = const HtmlStreamProvider<Event>('pause');
+
+ static const HtmlStreamProvider<Event> playEvent = const HtmlStreamProvider<Event>('play');
+
+ static const HtmlStreamProvider<Event> playingEvent = const HtmlStreamProvider<Event>('playing');
+
+ static const HtmlStreamProvider<PopStateEvent> popStateEvent = const HtmlStreamProvider<PopStateEvent>('popstate');
+
+ static const HtmlStreamProvider<Event> progressEvent = const HtmlStreamProvider<Event>('progress');
+
+ static const HtmlStreamProvider<Event> rateChangeEvent = const HtmlStreamProvider<Event>('ratechange');
+
+ static const HtmlStreamProvider<Event> resetEvent = const HtmlStreamProvider<Event>('reset');
+
+ static const HtmlStreamProvider<Event> resizeEvent = const HtmlStreamProvider<Event>('resize');
+
+ static const HtmlStreamProvider<Event> scrollEvent = const HtmlStreamProvider<Event>('scroll');
+
+ static const HtmlStreamProvider<Event> searchEvent = const HtmlStreamProvider<Event>('search');
+
+ static const HtmlStreamProvider<Event> seekedEvent = const HtmlStreamProvider<Event>('seeked');
+
+ static const HtmlStreamProvider<Event> seekingEvent = const HtmlStreamProvider<Event>('seeking');
+
+ static const HtmlStreamProvider<Event> selectEvent = const HtmlStreamProvider<Event>('select');
+
+ static const HtmlStreamProvider<Event> stalledEvent = const HtmlStreamProvider<Event>('stalled');
+
+ static const HtmlStreamProvider<StorageEvent> storageEvent = const HtmlStreamProvider<StorageEvent>('storage');
+
+ static const HtmlStreamProvider<Event> submitEvent = const HtmlStreamProvider<Event>('submit');
+
+ static const HtmlStreamProvider<Event> suspendEvent = const HtmlStreamProvider<Event>('suspend');
+
+ static const HtmlStreamProvider<Event> timeUpdateEvent = const HtmlStreamProvider<Event>('timeupdate');
+
+ static const HtmlStreamProvider<TouchEvent> touchCancelEvent = const HtmlStreamProvider<TouchEvent>('touchcancel');
+
+ static const HtmlStreamProvider<TouchEvent> touchEndEvent = const HtmlStreamProvider<TouchEvent>('touchend');
+
+ static const HtmlStreamProvider<TouchEvent> touchMoveEvent = const HtmlStreamProvider<TouchEvent>('touchmove');
+
+ static const HtmlStreamProvider<TouchEvent> touchStartEvent = const HtmlStreamProvider<TouchEvent>('touchstart');
+
+ static const HtmlStreamProvider<Event> unloadEvent = const HtmlStreamProvider<Event>('unload');
+
+ static const HtmlStreamProvider<Event> volumeChangeEvent = const HtmlStreamProvider<Event>('volumechange');
+
+ static const HtmlStreamProvider<Event> waitingEvent = const HtmlStreamProvider<Event>('waiting');
+
+ static const HtmlStreamProvider<AnimationEvent> animationEndEvent = const HtmlStreamProvider<AnimationEvent>('webkitAnimationEnd');
+
+ static const HtmlStreamProvider<AnimationEvent> animationIterationEvent = const HtmlStreamProvider<AnimationEvent>('webkitAnimationIteration');
+
+ static const HtmlStreamProvider<AnimationEvent> animationStartEvent = const HtmlStreamProvider<AnimationEvent>('webkitAnimationStart');
+
+ static const HtmlStreamProvider<TransitionEvent> transitionEndEvent = const HtmlStreamProvider<TransitionEvent>('webkitTransitionEnd');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
WindowEvents get on =>
new WindowEvents(this);
@@ -25956,6 +27044,154 @@ class Window extends EventTarget implements WindowBase {
/** @domName DOMWindow.webkitResolveLocalFileSystemURL */
void webkitResolveLocalFileSystemUrl(String url, EntryCallback successCallback, [ErrorCallback errorCallback]) native "DOMWindow_webkitResolveLocalFileSystemURL_Callback";
+ Stream<Event> get onContentLoaded => contentLoadedEvent.forTarget(this);
+
+ Stream<Event> get onAbort => abortEvent.forTarget(this);
+
+ Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this);
+
+ Stream<Event> get onBlur => blurEvent.forTarget(this);
+
+ Stream<Event> get onCanPlay => canPlayEvent.forTarget(this);
+
+ Stream<Event> get onCanPlayThrough => canPlayThroughEvent.forTarget(this);
+
+ Stream<Event> get onChange => changeEvent.forTarget(this);
+
+ Stream<MouseEvent> get onClick => clickEvent.forTarget(this);
+
+ Stream<MouseEvent> get onContextMenu => contextMenuEvent.forTarget(this);
+
+ Stream<Event> get onDoubleClick => doubleClickEvent.forTarget(this);
+
+ Stream<DeviceMotionEvent> get onDeviceMotion => deviceMotionEvent.forTarget(this);
+
+ Stream<DeviceOrientationEvent> get onDeviceOrientation => deviceOrientationEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDrag => dragEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragEnd => dragEndEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragEnter => dragEnterEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragLeave => dragLeaveEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragOver => dragOverEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDragStart => dragStartEvent.forTarget(this);
+
+ Stream<MouseEvent> get onDrop => dropEvent.forTarget(this);
+
+ Stream<Event> get onDurationChange => durationChangeEvent.forTarget(this);
+
+ Stream<Event> get onEmptied => emptiedEvent.forTarget(this);
+
+ Stream<Event> get onEnded => endedEvent.forTarget(this);
+
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
+ Stream<Event> get onFocus => focusEvent.forTarget(this);
+
+ Stream<HashChangeEvent> get onHashChange => hashChangeEvent.forTarget(this);
+
+ Stream<Event> get onInput => inputEvent.forTarget(this);
+
+ Stream<Event> get onInvalid => invalidEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyDown => keyDownEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyPress => keyPressEvent.forTarget(this);
+
+ Stream<KeyboardEvent> get onKeyUp => keyUpEvent.forTarget(this);
+
+ Stream<Event> get onLoad => loadEvent.forTarget(this);
+
+ Stream<Event> get onLoadedData => loadedDataEvent.forTarget(this);
+
+ Stream<Event> get onLoadedMetadata => loadedMetadataEvent.forTarget(this);
+
+ Stream<Event> get onLoadStart => loadStartEvent.forTarget(this);
+
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseDown => mouseDownEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseMove => mouseMoveEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseOut => mouseOutEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseOver => mouseOverEvent.forTarget(this);
+
+ Stream<MouseEvent> get onMouseUp => mouseUpEvent.forTarget(this);
+
+ Stream<WheelEvent> get onMouseWheel => mouseWheelEvent.forTarget(this);
+
+ Stream<Event> get onOffline => offlineEvent.forTarget(this);
+
+ Stream<Event> get onOnline => onlineEvent.forTarget(this);
+
+ Stream<Event> get onPageHide => pageHideEvent.forTarget(this);
+
+ Stream<Event> get onPageShow => pageShowEvent.forTarget(this);
+
+ Stream<Event> get onPause => pauseEvent.forTarget(this);
+
+ Stream<Event> get onPlay => playEvent.forTarget(this);
+
+ Stream<Event> get onPlaying => playingEvent.forTarget(this);
+
+ Stream<PopStateEvent> get onPopState => popStateEvent.forTarget(this);
+
+ Stream<Event> get onProgress => progressEvent.forTarget(this);
+
+ Stream<Event> get onRateChange => rateChangeEvent.forTarget(this);
+
+ Stream<Event> get onReset => resetEvent.forTarget(this);
+
+ Stream<Event> get onResize => resizeEvent.forTarget(this);
+
+ Stream<Event> get onScroll => scrollEvent.forTarget(this);
+
+ Stream<Event> get onSearch => searchEvent.forTarget(this);
+
+ Stream<Event> get onSeeked => seekedEvent.forTarget(this);
+
+ Stream<Event> get onSeeking => seekingEvent.forTarget(this);
+
+ Stream<Event> get onSelect => selectEvent.forTarget(this);
+
+ Stream<Event> get onStalled => stalledEvent.forTarget(this);
+
+ Stream<StorageEvent> get onStorage => storageEvent.forTarget(this);
+
+ Stream<Event> get onSubmit => submitEvent.forTarget(this);
+
+ Stream<Event> get onSuspend => suspendEvent.forTarget(this);
+
+ Stream<Event> get onTimeUpdate => timeUpdateEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchCancel => touchCancelEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchEnd => touchEndEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchMove => touchMoveEvent.forTarget(this);
+
+ Stream<TouchEvent> get onTouchStart => touchStartEvent.forTarget(this);
+
+ Stream<Event> get onUnload => unloadEvent.forTarget(this);
+
+ Stream<Event> get onVolumeChange => volumeChangeEvent.forTarget(this);
+
+ Stream<Event> get onWaiting => waitingEvent.forTarget(this);
+
+ Stream<AnimationEvent> get onAnimationEnd => animationEndEvent.forTarget(this);
+
+ Stream<AnimationEvent> get onAnimationIteration => animationIterationEvent.forTarget(this);
+
+ Stream<AnimationEvent> get onAnimationStart => animationStartEvent.forTarget(this);
+
+ Stream<TransitionEvent> get onTransitionEnd => transitionEndEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -26196,6 +27432,8 @@ class WindowEvents extends Events {
class Worker extends AbstractWorker {
Worker.internal() : super.internal();
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message');
+
///@docsEditable true
factory Worker(String scriptUrl) => Worker._create(scriptUrl);
static Worker _create(String scriptUrl) native "Worker_constructor_Callback";
@@ -26212,6 +27450,8 @@ class Worker extends AbstractWorker {
/** @domName Worker.terminate */
void terminate() native "Worker_terminate_Callback";
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -26233,6 +27473,8 @@ class WorkerEvents extends AbstractWorkerEvents {
class WorkerContext extends EventTarget {
WorkerContext.internal() : super.internal();
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error');
+
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true
WorkerContextEvents get on =>
new WorkerContextEvents(this);
@@ -26325,6 +27567,8 @@ class WorkerContext extends EventTarget {
/** @domName WorkerContext.webkitResolveLocalFileSystemURL */
void webkitResolveLocalFileSystemUrl(String url, EntryCallback successCallback, [ErrorCallback errorCallback]) native "WorkerContext_webkitResolveLocalFileSystemURL_Callback";
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
}
/// @docsEditable true
@@ -28916,6 +30160,67 @@ abstract class CssClassSet implements Set<String> {
typedef void EventListener(Event event);
+// Copyright (c) 2013, 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.
+
+
+/**
+ * Adapter for exposing DOM events as Dart streams.
+ */
+class _HtmlStreamController<T extends Event> extends StreamController<T> {
+ final EventTarget _target;
+ final String _eventType;
+ final bool _useCapture;
+ EventListener _eventHandler;
+
+ _HtmlStreamController(this._target, this._eventType, this._useCapture) {
+ // Stash reference to the method to allow removeEventListener to function.
+ _eventHandler = _handleEvent;
+ }
+
+ void onSubscriptionStateChange() {
+ super.onSubscriptionStateChange();
+ if (hasSubscribers) {
+ _target.$dom_addEventListener(_eventType, _eventHandler, _useCapture);
+ } else {
+ _target.$dom_removeEventListener(_eventType, _eventHandler, _useCapture);
+ }
+ }
+
+ void _handleEvent(e) {
+ this.add(e);
+ }
+}
+
+
+/**
+ * A factory to expose DOM events as Streams.
+ */
+class HtmlStreamProvider<T extends Event> {
+ final String _eventType;
+
+ const HtmlStreamProvider(this._eventType);
+
+ /**
+ * Gets a [Stream] for this event type, on the specified target.
+ *
+ * This may be used to capture DOM events:
+ *
+ * Element.keyDownEvent.forTarget(element, useCapture: true).listen(...);
+ *
+ * Or for listening to an event which will bubble through the DOM tree:
+ *
+ * MediaElement.pauseEvent.forTarget(document.body).listen(...);
+ *
+ * See also:
+ *
+ * [addEventListener](http://docs.webplatform.org/wiki/dom/methods/addEventListener)
+ */
+ Stream<T> forTarget(EventTarget e, {bool useCapture: false}) {
+ return new _HtmlStreamController(e, _eventType, useCapture);
+ }
+}
// Copyright (c) 2012, 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.

Powered by Google App Engine
This is Rietveld 408576698