| OLD | NEW | 
|    1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file |    1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
|    2 // for details. All rights reserved. Use of this source code is governed by a |    2 // for details. All rights reserved. Use of this source code is governed by a | 
|    3 // BSD-style license that can be found in the LICENSE file. |    3 // BSD-style license that can be found in the LICENSE file. | 
|    4  |    4  | 
|    5 part of $LIBRARYNAME; |    5 part of $LIBRARYNAME; | 
|    6  |    6  | 
|    7 /** |    7 /** | 
|    8  * Base class that supports listening for and dispatching browser events. |    8  * Base class that supports listening for and dispatching browser events. | 
|    9  * |    9  * | 
|   10  * Normally events are accessed via the Stream getter: |   10  * Normally events are accessed via the Stream getter: | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   45   final EventTarget _ptr; |   45   final EventTarget _ptr; | 
|   46  |   46  | 
|   47   Events(this._ptr); |   47   Events(this._ptr); | 
|   48  |   48  | 
|   49   Stream operator [](String type) { |   49   Stream operator [](String type) { | 
|   50     return new _EventStream(_ptr, type, false); |   50     return new _EventStream(_ptr, type, false); | 
|   51   } |   51   } | 
|   52 } |   52 } | 
|   53  |   53  | 
|   54 class ElementEvents extends Events { |   54 class ElementEvents extends Events { | 
|   55   /* Raw event target. */ |  | 
|   56   final Element _ptr; |  | 
|   57   static final webkitEvents = { |   55   static final webkitEvents = { | 
|   58     'animationend' : 'webkitAnimationEnd',  |   56     'animationend' : 'webkitAnimationEnd', | 
|   59     'animationiteration' : 'webkitAnimationIteration',  |   57     'animationiteration' : 'webkitAnimationIteration', | 
|   60     'animationstart' : 'webkitAnimationStart',  |   58     'animationstart' : 'webkitAnimationStart', | 
|   61     'fullscreenchange' : 'webkitfullscreenchange',  |   59     'fullscreenchange' : 'webkitfullscreenchange', | 
|   62     'fullscreenerror' : 'webkitfullscreenerror', |   60     'fullscreenerror' : 'webkitfullscreenerror', | 
|   63     'keyadded' : 'webkitkeyadded',  |   61     'keyadded' : 'webkitkeyadded', | 
|   64     'keyerror' : 'webkitkeyerror',  |   62     'keyerror' : 'webkitkeyerror', | 
|   65     'keymessage' : 'webkitkeymessage',  |   63     'keymessage' : 'webkitkeymessage', | 
|   66     'needkey' : 'webkitneedkey',  |   64     'needkey' : 'webkitneedkey', | 
|   67     'pointerlockchange' : 'webkitpointerlockchange',  |   65     'pointerlockchange' : 'webkitpointerlockchange', | 
|   68     'pointerlockerror' : 'webkitpointerlockerror',  |   66     'pointerlockerror' : 'webkitpointerlockerror', | 
|   69     'resourcetimingbufferfull' : 'webkitresourcetimingbufferfull',  |   67     'resourcetimingbufferfull' : 'webkitresourcetimingbufferfull', | 
|   70     'transitionend': 'webkitTransitionEnd', |   68     'transitionend': 'webkitTransitionEnd', | 
|   71     'speechchange' : 'webkitSpeechChange' |   69     'speechchange' : 'webkitSpeechChange' | 
|   72   }; |   70   }; | 
|   73  |   71  | 
|   74   ElementEvents(Element ptr) : this._ptr = ptr, super(ptr); |   72   ElementEvents(Element ptr) : super(ptr); | 
|   75  |   73  | 
|   76   Stream operator [](String type) { |   74   Stream operator [](String type) { | 
|   77     if (webkitEvents.keys.contains(type.toLowerCase())) { |   75     if (webkitEvents.keys.contains(type.toLowerCase())) { | 
|   78       if (Device.isWebKit) { |   76       if (Device.isWebKit) { | 
|   79         return new _ElementEventStreamImpl( |   77         return new _ElementEventStreamImpl( | 
|   80             _ptr, webkitEvents[type.toLowerCase()], false); |   78             _ptr, webkitEvents[type.toLowerCase()], false); | 
|   81       } |   79       } | 
|   82     } |   80     } | 
|   83     return new _ElementEventStreamImpl(_ptr, type, false); |   81     return new _ElementEventStreamImpl(_ptr, type, false); | 
|   84   } |   82   } | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  120     // TODO(leafp): This check is avoid a bug in our dispatch code when |  118     // TODO(leafp): This check is avoid a bug in our dispatch code when | 
|  121     // listener is null.  The browser treats this call as a no-op in this |  119     // listener is null.  The browser treats this call as a no-op in this | 
|  122     // case, so it's fine to short-circuit it, but we should not have to. |  120     // case, so it's fine to short-circuit it, but we should not have to. | 
|  123     if (listener != null) { |  121     if (listener != null) { | 
|  124       _removeEventListener(type, listener, useCapture); |  122       _removeEventListener(type, listener, useCapture); | 
|  125     } |  123     } | 
|  126   } |  124   } | 
|  127  |  125  | 
|  128 $!MEMBERS |  126 $!MEMBERS | 
|  129 } |  127 } | 
| OLD | NEW |