Index: tools/dom/src/EventStreamProvider.dart |
diff --git a/tools/dom/src/EventStreamProvider.dart b/tools/dom/src/EventStreamProvider.dart |
index 9c52a5dd7241f2f03d9b9c863e89c67b7fb64186..477359afcaf7498c0f20d2a464d9c8fd70187e2b 100644 |
--- a/tools/dom/src/EventStreamProvider.dart |
+++ b/tools/dom/src/EventStreamProvider.dart |
@@ -135,3 +135,18 @@ class EventStreamProvider<T extends Event> { |
return new _EventStream(e, _eventType, useCapture); |
} |
} |
+ |
+/** |
+ * A factory to expose DOM events as streams, where the DOM event name has to |
+ * be determined on the fly (for example, mouse wheel events). |
+ */ |
+class _CustomEventStreamProvider<T extends Event> |
+ implements EventStreamProvider<T> { |
+ |
+ final _eventTypeGetter; |
+ const _CustomEventStreamProvider(this._eventTypeGetter); |
+ |
+ Stream<T> forTarget(EventTarget e, {bool useCapture: false}) { |
+ return new _EventStream(e, _eventTypeGetter(e), useCapture); |
+ } |
+} |