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

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

Issue 27308006: Supporting non-SSVs in CustomEvent.detail (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 months 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
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 // WARNING: Do not edit - generated code. 5 // WARNING: Do not edit - generated code.
6 6
7 part of $LIBRARYNAME; 7 part of $LIBRARYNAME;
8 8
9 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { 9 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
10 $if DART2JS
11 @Creates('Null') // Set from Dart code; does not instantiate a native type.
12 $endif
13 var _dartDetail;
14
10 factory $CLASSNAME(String type, 15 factory $CLASSNAME(String type,
11 {bool canBubble: true, bool cancelable: true, Object detail}) { 16 {bool canBubble: true, bool cancelable: true, Object detail}) {
12 17
13 final CustomEvent e = document._createEvent('CustomEvent'); 18 final CustomEvent e = document._createEvent('CustomEvent');
14 19
20 e._dartDetail = detail;
21
22 // Only try setting the detail if it's one of these types to avoid
23 // first-chance exceptions. Can expand this list in the future as needed.
24 if (detail is List || detail is Map || detail is String || detail is num) {
25 try {
15 $if DART2JS 26 $if DART2JS
16 detail = convertDartToNative_SerializedScriptValue(detail); 27 detail = convertDartToNative_SerializedScriptValue(detail);
17 $endif 28 $endif
18 e._initCustomEvent(type, canBubble, cancelable, detail); 29 e._initCustomEvent(type, canBubble, cancelable, detail);
30 } catch(_) {
31 e._initCustomEvent(type, canBubble, cancelable, null);
32 }
33 } else {
34 e._initCustomEvent(type, canBubble, cancelable, null);
35 }
19 36
20 return e; 37 return e;
21 } 38 }
39
40 @DomName('CustomEvent.detail')
41 get detail {
42 if (_dartDetail != null) {
43 return _dartDetail;
44 }
45 return _detail;
46 }
22 $!MEMBERS 47 $!MEMBERS
23 } 48 }
OLDNEW
« sdk/lib/html/dart2js/html_dart2js.dart ('K') | « tools/dom/scripts/htmlrenamer.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698