Index: sdk/lib/html/dart2js/html_dart2js.dart |
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart |
index 66af24b97d2b6b9ed7d32c6a5da8960ce7cb87a0..8c422164bcc75e4e9a60f2122ec13d7f9a2a105c 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -57,6 +57,8 @@ spawnDomFunction(f) => IsolateNatives.spawnDomFunction(f); |
/// @domName AbstractWorker; @docsEditable true |
class AbstractWorker extends EventTarget native "*AbstractWorker" { |
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
AbstractWorkerEvents get on => |
new AbstractWorkerEvents(this); |
@@ -72,6 +74,8 @@ class AbstractWorker extends EventTarget native "*AbstractWorker" { |
/// @domName AbstractWorker.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<Event> get onError => errorEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -170,6 +174,22 @@ class AnimationEvent extends Event native "*WebKitAnimationEvent" { |
/// @domName DOMApplicationCache; @docsEditable true |
class ApplicationCache extends EventTarget native "*DOMApplicationCache" { |
+ 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); |
@@ -209,6 +229,22 @@ class ApplicationCache extends EventTarget native "*DOMApplicationCache" { |
/// @domName DOMApplicationCache.update; @docsEditable true |
void update() native; |
+ |
+ 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 |
@@ -473,6 +509,14 @@ class BaseFontElement extends Element native "*HTMLBaseFontElement" { |
/// @domName BatteryManager; @docsEditable true |
class BatteryManager extends EventTarget native "*BatteryManager" { |
+ 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); |
@@ -500,6 +544,14 @@ class BatteryManager extends EventTarget native "*BatteryManager" { |
/// @domName BatteryManager.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ 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 |
@@ -586,6 +638,32 @@ class Blob native "*Blob" { |
/// @domName HTMLBodyElement; @docsEditable true |
class BodyElement extends Element native "*HTMLBodyElement" { |
+ 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"); |
@@ -595,6 +673,32 @@ class BodyElement extends Element native "*HTMLBodyElement" { |
/// @domName HTMLBodyElement.vLink; @docsEditable true |
String vLink; |
+ |
+ 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 |
@@ -5428,6 +5532,8 @@ class DatabaseSync native "*DatabaseSync" { |
/// @domName DedicatedWorkerContext; @docsEditable true |
class DedicatedWorkerContext extends WorkerContext native "*DedicatedWorkerContext" { |
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
DedicatedWorkerContextEvents get on => |
new DedicatedWorkerContextEvents(this); |
@@ -5447,6 +5553,8 @@ class DedicatedWorkerContext extends WorkerContext native "*DedicatedWorkerConte |
void _postMessage_1(message, List messagePorts) native; |
@JSName('postMessage') |
void _postMessage_2(message) native; |
+ |
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -5700,6 +5808,104 @@ class Document extends Node native "*Document" |
{ |
+ 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); |
@@ -5916,6 +6122,104 @@ class Document extends Node native "*Document" |
@JSName('webkitExitPointerLock') |
void $dom_webkitExitPointerLock() native; |
+ 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 |
@@ -7926,6 +8230,100 @@ abstract class Element extends Node implements ElementTraversal native "*Element |
} |
+ 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<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); |
@@ -8147,6 +8545,100 @@ abstract class Element extends Node implements ElementTraversal native "*Element |
/// @domName Element.webkitRequestPointerLock; @docsEditable true |
void webkitRequestPointerLock() native; |
+ 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<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+)'); |
@@ -8700,6 +9192,12 @@ class EventException native "*EventException" { |
/// @domName EventSource; @docsEditable true |
class EventSource extends EventTarget native "*EventSource" { |
+ 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) => JS('EventSource', 'new EventSource(#)', scriptUrl); |
@@ -8734,6 +9232,12 @@ class EventSource extends EventTarget native "*EventSource" { |
/// @domName EventSource.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<Event> get onError => errorEvent.forTarget(this); |
+ |
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this); |
+ |
+ Stream<Event> get onOpen => openEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -9195,6 +9699,18 @@ class FileList implements JavaScriptIndexingBehavior, List<File> native "*FileLi |
/// @domName FileReader; @docsEditable true |
class FileReader extends EventTarget native "*FileReader" { |
+ 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() => JS('FileReader', 'new FileReader()'); |
@@ -9246,6 +9762,18 @@ class FileReader extends EventTarget native "*FileReader" { |
/// @domName FileReader.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ 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 |
@@ -9340,6 +9868,18 @@ class FileSystemSync native "*DOMFileSystemSync" { |
/// @domName FileWriter; @docsEditable true |
class FileWriter extends EventTarget native "*FileWriter" { |
+ 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); |
@@ -9385,6 +9925,18 @@ class FileWriter extends EventTarget native "*FileWriter" { |
/// @domName FileWriter.write; @docsEditable true |
void write(Blob data) native; |
+ |
+ 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 |
@@ -9930,6 +10482,32 @@ class FrameElement extends Element native "*HTMLFrameElement" { |
/// @domName HTMLFrameSetElement; @docsEditable true |
class FrameSetElement extends Element native "*HTMLFrameSetElement" { |
+ 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); |
@@ -9939,6 +10517,32 @@ class FrameSetElement extends Element native "*HTMLFrameSetElement" { |
/// @domName HTMLFrameSetElement.rows; @docsEditable true |
String rows; |
+ |
+ 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 |
@@ -10691,6 +11295,20 @@ class HttpRequest extends EventTarget native "*XMLHttpRequest" { |
_HttpRequestUtils.get(url, onComplete, true); |
+ 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() => JS('HttpRequest', 'new XMLHttpRequest()'); |
@@ -10901,6 +11519,20 @@ class HttpRequest extends EventTarget native "*XMLHttpRequest" { |
/// @domName XMLHttpRequest.setRequestHeader; @docsEditable true |
void setRequestHeader(String header, String value) native; |
+ 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); |
+ |
} |
/** |
@@ -11019,6 +11651,18 @@ class HttpRequestProgressEvent extends ProgressEvent native "*XMLHttpRequestProg |
/// @domName XMLHttpRequestUpload; @docsEditable true |
class HttpRequestUpload extends EventTarget native "*XMLHttpRequestUpload" { |
+ 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); |
@@ -11034,6 +11678,18 @@ class HttpRequestUpload extends EventTarget native "*XMLHttpRequestUpload" { |
/// @domName XMLHttpRequestUpload.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ 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 |
@@ -11213,6 +11869,8 @@ class InputElement extends Element implements |
return e; |
} |
+ static const HtmlStreamProvider<Event> speechChangeEvent = const HtmlStreamProvider<Event>('webkitSpeechChange'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
InputElementEvents get on => |
new InputElementEvents(this); |
@@ -11388,6 +12046,8 @@ class InputElement extends Element implements |
/// @domName HTMLInputElement.stepUp; @docsEditable true |
void stepUp([int n]) native; |
+ Stream<Event> get onSpeechChange => speechChangeEvent.forTarget(this); |
+ |
} |
@@ -12965,6 +13625,56 @@ class MediaController extends EventTarget native "*MediaController" { |
/// @domName HTMLMediaElement; @docsEditable true |
class MediaElement extends Element native "*HTMLMediaElement" { |
+ 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); |
@@ -13106,6 +13816,56 @@ class MediaElement extends Element native "*HTMLMediaElement" { |
/// @domName HTMLMediaElement.webkitGenerateKeyRequest; @docsEditable true |
void webkitGenerateKeyRequest(String keySystem, [Uint8Array initData]) native; |
+ |
+ 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 |
@@ -13369,6 +14129,8 @@ class MediaSource extends EventTarget native "*MediaSource" { |
/// @domName MediaStream; @docsEditable true |
class MediaStream extends EventTarget native "*MediaStream" { |
+ 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) => JS('MediaStream', 'new MediaStream(#,#)', audioTracks, videoTracks); |
@@ -13404,6 +14166,8 @@ class MediaStream extends EventTarget native "*MediaStream" { |
/// @domName MediaStream.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<Event> get onEnded => endedEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -13433,6 +14197,12 @@ class MediaStreamEvent extends Event native "*MediaStreamEvent" { |
/// @domName MediaStreamTrack; @docsEditable true |
class MediaStreamTrack extends EventTarget native "*MediaStreamTrack" { |
+ 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); |
@@ -13466,6 +14236,12 @@ class MediaStreamTrack extends EventTarget native "*MediaStreamTrack" { |
/// @domName MediaStreamTrack.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<Event> get onEnded => endedEvent.forTarget(this); |
+ |
+ Stream<Event> get onMute => muteEvent.forTarget(this); |
+ |
+ Stream<Event> get onUnmute => unmuteEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -13501,6 +14277,10 @@ class MediaStreamTrackEvent extends Event native "*MediaStreamTrackEvent" { |
/// @domName MediaStreamTrackList; @docsEditable true |
class MediaStreamTrackList extends EventTarget native "*MediaStreamTrackList" { |
+ 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); |
@@ -13528,6 +14308,10 @@ class MediaStreamTrackList extends EventTarget native "*MediaStreamTrackList" { |
/// @domName MediaStreamTrackList.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<MediaStreamTrackEvent> get onAddTrack => addTrackEvent.forTarget(this); |
+ |
+ Stream<MediaStreamTrackEvent> get onRemoveTrack => removeTrackEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -13641,6 +14425,8 @@ class MessageEvent extends Event native "*MessageEvent" { |
/// @domName MessagePort; @docsEditable true |
class MessagePort extends EventTarget native "*MessagePort" { |
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
MessagePortEvents get on => |
new MessagePortEvents(this); |
@@ -13678,6 +14464,8 @@ class MessagePort extends EventTarget native "*MessagePort" { |
/// @domName MessagePort.start; @docsEditable true |
void start() native; |
+ |
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -14981,8 +15769,18 @@ class Notation extends Node native "*Notation" { |
// BSD-style license that can be found in the LICENSE file. |
-/// @domName Notification; @docsEditable true |
-class Notification extends EventTarget native "*Notification" { |
+/// @domName Notification; @docsEditable true |
+class Notification extends EventTarget native "*Notification" { |
+ |
+ 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]) { |
@@ -15037,6 +15835,16 @@ class Notification extends EventTarget native "*Notification" { |
/// @domName Notification.show; @docsEditable true |
void show() native; |
+ |
+ 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 |
@@ -15942,6 +16750,14 @@ class RgbColor native "*RGBColor" { |
/// @domName RTCDataChannel; @docsEditable true |
class RtcDataChannel extends EventTarget native "*RTCDataChannel" { |
+ 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); |
@@ -15978,6 +16794,14 @@ class RtcDataChannel extends EventTarget native "*RTCDataChannel" { |
/// @domName RTCDataChannel.send; @docsEditable true |
void send(data) native; |
+ |
+ 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 |
@@ -16048,6 +16872,22 @@ class RtcIceCandidateEvent extends Event native "*RTCIceCandidateEvent" { |
/// @domName RTCPeerConnection; @docsEditable true |
class RtcPeerConnection extends EventTarget native "*RTCPeerConnection" { |
+ 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) { |
@@ -16199,6 +17039,22 @@ class RtcPeerConnection extends EventTarget native "*RTCPeerConnection" { |
void _updateIce_2(configuration) native; |
@JSName('updateIce') |
void _updateIce_3() native; |
+ |
+ 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 |
@@ -16637,12 +17493,16 @@ class SharedWorker extends AbstractWorker native "*SharedWorker" { |
/// @domName SharedWorkerContext; @docsEditable true |
class SharedWorkerContext extends WorkerContext native "*SharedWorkerContext" { |
+ static const HtmlStreamProvider<Event> connectEvent = const HtmlStreamProvider<Event>('connect'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
SharedWorkerContextEvents get on => |
new SharedWorkerContextEvents(this); |
/// @domName SharedWorkerContext.name; @docsEditable true |
final String name; |
+ |
+ Stream<Event> get onConnect => connectEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -17096,6 +17956,28 @@ class SpeechInputResult native "*SpeechInputResult" { |
/// @domName SpeechRecognition; @docsEditable true |
class SpeechRecognition extends EventTarget native "*SpeechRecognition" { |
+ 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() => JS('SpeechRecognition', 'new SpeechRecognition()'); |
@@ -17139,6 +18021,28 @@ class SpeechRecognition extends EventTarget native "*SpeechRecognition" { |
/// @domName SpeechRecognition.stop; @docsEditable true |
void stop() native; |
+ |
+ 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 |
@@ -18044,6 +18948,8 @@ class TextMetrics native "*TextMetrics" { |
/// @domName TextTrack; @docsEditable true |
class TextTrack extends EventTarget native "*TextTrack" { |
+ static const HtmlStreamProvider<Event> cueChangeEvent = const HtmlStreamProvider<Event>('cuechange'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
TextTrackEvents get on => |
new TextTrackEvents(this); |
@@ -18083,6 +18989,8 @@ class TextTrack extends EventTarget native "*TextTrack" { |
/// @domName TextTrack.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<Event> get onCueChange => cueChangeEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -18101,6 +19009,10 @@ class TextTrackEvents extends Events { |
/// @domName TextTrackCue; @docsEditable true |
class TextTrackCue extends EventTarget native "*TextTrackCue" { |
+ 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) => JS('TextTrackCue', 'new TextTrackCue(#,#,#)', startTime, endTime, text); |
@@ -18160,6 +19072,10 @@ class TextTrackCue extends EventTarget native "*TextTrackCue" { |
/// @domName TextTrackCue.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<Event> get onEnter => enterEvent.forTarget(this); |
+ |
+ Stream<Event> get onExit => exitEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -18343,6 +19259,8 @@ class TextTrackCueList implements List<TextTrackCue>, JavaScriptIndexingBehavior |
/// @domName TextTrackList; @docsEditable true |
class TextTrackList extends EventTarget implements JavaScriptIndexingBehavior, List<TextTrack> native "*TextTrackList" { |
+ static const HtmlStreamProvider<TrackEvent> addTrackEvent = const HtmlStreamProvider<TrackEvent>('addtrack'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
TextTrackListEvents get on => |
new TextTrackListEvents(this); |
@@ -18509,6 +19427,8 @@ class TextTrackList extends EventTarget implements JavaScriptIndexingBehavior, L |
/// @domName TextTrackList.removeEventListener; @docsEditable true |
@JSName('removeEventListener') |
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native; |
+ |
+ Stream<TrackEvent> get onAddTrack => addTrackEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -21038,6 +21958,14 @@ class WebKitNamedFlow extends EventTarget native "*WebKitNamedFlow" { |
@SupportedBrowser(SupportedBrowser.SAFARI) |
class WebSocket extends EventTarget native "*WebSocket" { |
+ 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) => JS('WebSocket', 'new WebSocket(#)', url); |
@@ -21098,6 +22026,14 @@ class WebSocket extends EventTarget native "*WebSocket" { |
/// @domName WebSocket.send; @docsEditable true |
bool send(data) native; |
+ |
+ 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 |
@@ -21367,6 +22303,154 @@ class Window extends EventTarget implements WindowBase native "@*DOMWindow" { |
Console get console => Console.safeConsole; |
+ 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); |
@@ -21649,6 +22733,154 @@ class Window extends EventTarget implements WindowBase native "@*DOMWindow" { |
@JSName('webkitResolveLocalFileSystemURL') |
void webkitResolveLocalFileSystemUrl(String url, EntryCallback successCallback, [ErrorCallback errorCallback]) native; |
+ 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 |
@@ -21886,6 +23118,8 @@ class WindowEvents extends Events { |
/// @domName Worker; @docsEditable true |
class Worker extends AbstractWorker native "*Worker" { |
+ static const HtmlStreamProvider<MessageEvent> messageEvent = const HtmlStreamProvider<MessageEvent>('message'); |
+ |
///@docsEditable true |
factory Worker(String scriptUrl) => Worker._create(scriptUrl); |
static Worker _create(String scriptUrl) => JS('Worker', 'new Worker(#)', scriptUrl); |
@@ -21912,6 +23146,8 @@ class Worker extends AbstractWorker native "*Worker" { |
/// @domName Worker.terminate; @docsEditable true |
void terminate() native; |
+ |
+ Stream<MessageEvent> get onMessage => messageEvent.forTarget(this); |
} |
/// @docsEditable true |
@@ -21930,6 +23166,8 @@ class WorkerEvents extends AbstractWorkerEvents { |
/// @domName WorkerContext |
class WorkerContext extends EventTarget native "*WorkerContext" { |
+ static const HtmlStreamProvider<Event> errorEvent = const HtmlStreamProvider<Event>('error'); |
+ |
/// @domName EventTarget.addEventListener, EventTarget.removeEventListener, EventTarget.dispatchEvent; @docsEditable true |
WorkerContextEvents get on => |
new WorkerContextEvents(this); |
@@ -22000,6 +23238,8 @@ class WorkerContext extends EventTarget native "*WorkerContext" { |
@JSName('webkitResolveLocalFileSystemURL') |
void webkitResolveLocalFileSystemUrl(String url, EntryCallback successCallback, [ErrorCallback errorCallback]) native; |
+ Stream<Event> get onError => errorEvent.forTarget(this); |
+ |
/** |
* Gets an instance of the Indexed DB factory to being using Indexed DB. |
@@ -24370,6 +25610,67 @@ class _Device { |
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. |