Index: tools/dom/templates/html/impl/impl_Element.darttemplate |
diff --git a/tools/dom/templates/html/impl/impl_Element.darttemplate b/tools/dom/templates/html/impl/impl_Element.darttemplate |
index 024a891adaf86102af49fcf7f540b3e5f392d421..d7274e7c77009027e8214cbc2f3e80ea33953df7 100644 |
--- a/tools/dom/templates/html/impl/impl_Element.darttemplate |
+++ b/tools/dom/templates/html/impl/impl_Element.darttemplate |
@@ -727,6 +727,23 @@ $endif |
var xtag; |
$if DART2JS |
+ static const EventStreamProvider<WheelEvent> mouseWheelEvent = |
+ const _CustomEventStreamProvider<WheelEvent>( |
+ Element._determineMouseWheelEventType); |
+ |
+ static String _determineMouseWheelEventType(EventTarget e) { |
+ if (JS('bool', '#.onwheel !== undefined', e)) { |
+ // W3C spec, and should be IE9+, but IE has a bug exposing onwheel. |
+ return 'wheel'; |
+ } else if (JS('bool', '#.onmousewheel !== undefined', e)) { |
+ // Chrome & IE |
+ return 'mousewheel'; |
+ } else { |
+ // Firefox |
+ return 'DOMMouseScroll'; |
+ } |
+ } |
+ |
/** |
* Creates a text node and inserts it into the DOM at the specified location. |
* |