Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Side by Side Diff: tools/dom/templates/html/impl/impl_EventTarget.darttemplate

Issue 29843004: Allow all events to be accessed via on[foo] instead of just onFoo (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
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. */ 55 /* Raw event target. */
56 final Element _ptr; 56 final Element _ptr;
57 static final webkitEvents = {
58 'animationend' : 'webkitAnimationEnd',
59 'animationiteration' : 'webkitAnimationIteration',
60 'animationstart' : 'webkitAnimationStart',
61 'fullscreenchange' : 'webkitfullscreenchange',
62 'fullscreenerror' : 'webkitfullscreenerror',
63 'keyadded' : 'webkitkeyadded',
64 'keyerror' : 'webkitkeyerror',
65 'keymessage' : 'webkitkeymessage',
66 'needkey' : 'webkitneedkey',
67 'pointerlockchange' : 'webkitpointerlockchange',
68 'pointerlockerror' : 'webkitpointerlockerror',
69 'resourcetimingbufferfull' : 'webkitresourcetimingbufferfull',
70 'transitionend': 'webkitTransitionEnd',
71 'speechchange' : 'webkitSpeechChange'
72 };
57 73
58 ElementEvents(Element ptr) : this._ptr = ptr, super(ptr); 74 ElementEvents(Element ptr) : this._ptr = ptr, super(ptr);
59 75
60 Stream operator [](String type) { 76 Stream operator [](String type) {
77 if (type.toLowerCase() in webkitEvents.keys) {
blois 2013/10/21 22:57:59 types are case-sensitive, toLowerCase should not b
78 var hasWebkit = webkitEvents[type.toLowerCase()].startsWith('webkit');
blois 2013/10/21 22:57:59 are any of these not webkit?
79 if (hasWebkit && Device.isWebKit) {
80 return new _ElementEventStreamImpl(
81 _ptr, webkitEvents[type.toLowerCase()], false);
82 }
83 }
61 return new _ElementEventStreamImpl(_ptr, type, false); 84 return new _ElementEventStreamImpl(_ptr, type, false);
62 } 85 }
63 } 86 }
64 87
65 /** 88 /**
66 * Base class for all browser objects that support events. 89 * Base class for all browser objects that support events.
67 * 90 *
68 * Use the [on] property to add, and remove events (rather than 91 * Use the [on] property to add, and remove events (rather than
69 * [$dom_addEventListener] and [$dom_removeEventListener] 92 * [$dom_addEventListener] and [$dom_removeEventListener]
70 * for compile-time type checks and a more concise API. 93 * for compile-time type checks and a more concise API.
71 */ 94 */
72 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { 95 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
73 96
74 // Custom element created callback. 97 // Custom element created callback.
75 EventTarget._created(); 98 EventTarget._created();
76 99
77 /** 100 /**
78 * This is an ease-of-use accessor for event streams which should only be 101 * This is an ease-of-use accessor for event streams which should only be
79 * used when an explicit accessor is not available. 102 * used when an explicit accessor is not available.
80 */ 103 */
81 Events get on => new Events(this); 104 Events get on => new Events(this);
82 $!MEMBERS 105 $!MEMBERS
83 } 106 }
OLDNEW
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698