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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 } | 85 } |
86 | 86 |
87 /** | 87 /** |
88 * Base class for all browser objects that support events. | 88 * Base class for all browser objects that support events. |
89 * | 89 * |
90 * Use the [on] property to add, and remove events | 90 * Use the [on] property to add, and remove events |
91 * for compile-time type checks and a more concise API. | 91 * for compile-time type checks and a more concise API. |
92 */ | 92 */ |
93 $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
{ | 93 $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
{ |
94 | 94 |
95 $if DARTIUM | |
96 // Default constructor to allow other classes e.g. GlobalEventHandlers to be | |
97 // constructed using _internalWrap when mapping Blink object to Dart class. | |
98 EventTarget(); | |
99 | |
100 $endif | |
101 // Custom element created callback. | 95 // Custom element created callback. |
102 EventTarget._created(); | 96 EventTarget._created(); |
103 | 97 |
104 /** | 98 /** |
105 * This is an ease-of-use accessor for event streams which should only be | 99 * This is an ease-of-use accessor for event streams which should only be |
106 * used when an explicit accessor is not available. | 100 * used when an explicit accessor is not available. |
107 */ | 101 */ |
108 Events get on => new Events(this); | 102 Events get on => new Events(this); |
109 | 103 |
110 void addEventListener(String type, EventListener listener, [bool useCapture])
{ | 104 void addEventListener(String type, EventListener listener, [bool useCapture])
{ |
111 // TODO(leafp): This check is avoid a bug in our dispatch code when | 105 // TODO(leafp): This check is avoid a bug in our dispatch code when |
112 // listener is null. The browser treats this call as a no-op in this | 106 // listener is null. The browser treats this call as a no-op in this |
113 // case, so it's fine to short-circuit it, but we should not have to. | 107 // case, so it's fine to short-circuit it, but we should not have to. |
114 if (listener != null) { | 108 if (listener != null) { |
115 _addEventListener(type, listener, useCapture); | 109 _addEventListener(type, listener, useCapture); |
116 } | 110 } |
117 } | 111 } |
118 | 112 |
119 void removeEventListener(String type, EventListener listener, [bool useCapture
]) { | 113 void removeEventListener(String type, EventListener listener, [bool useCapture
]) { |
120 // TODO(leafp): This check is avoid a bug in our dispatch code when | 114 // 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 | 115 // 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. | 116 // case, so it's fine to short-circuit it, but we should not have to. |
123 if (listener != null) { | 117 if (listener != null) { |
124 _removeEventListener(type, listener, useCapture); | 118 _removeEventListener(type, listener, useCapture); |
125 } | 119 } |
126 } | 120 } |
127 | 121 |
128 $!MEMBERS | 122 $!MEMBERS |
129 } | 123 } |
OLD | NEW |