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 // 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)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
{ | 9 $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
{ |
10 $if DART2JS | 10 $if DART2JS |
11 @Creates('Null') // Set from Dart code; does not instantiate a native type. | 11 @Creates('Null') // Set from Dart code; does not instantiate a native type. |
12 $endif | 12 $endif |
13 var _dartDetail; | 13 var _dartDetail; |
14 | 14 |
15 factory $CLASSNAME(String type, | 15 factory $CLASSNAME(String type, |
16 {bool canBubble: true, bool cancelable: true, Object detail}) { | 16 {bool canBubble: true, bool cancelable: true, Object detail}) { |
17 | 17 |
18 final CustomEvent e = document._createEvent('CustomEvent'); | 18 final CustomEvent e = document._createEvent('CustomEvent'); |
19 | 19 |
20 e._dartDetail = detail; | 20 e._dartDetail = detail; |
21 | 21 |
22 // Only try setting the detail if it's one of these types to avoid | 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. | 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) { | 24 if (detail is List || detail is Map || detail is String || detail is num) { |
25 try { | 25 try { |
26 $if DART2JS | |
27 detail = convertDartToNative_SerializedScriptValue(detail); | 26 detail = convertDartToNative_SerializedScriptValue(detail); |
28 $endif | |
29 e._initCustomEvent(type, canBubble, cancelable, detail); | 27 e._initCustomEvent(type, canBubble, cancelable, detail); |
30 } catch(_) { | 28 } catch(_) { |
31 e._initCustomEvent(type, canBubble, cancelable, null); | 29 e._initCustomEvent(type, canBubble, cancelable, null); |
32 } | 30 } |
33 } else { | 31 } else { |
34 e._initCustomEvent(type, canBubble, cancelable, null); | 32 e._initCustomEvent(type, canBubble, cancelable, null); |
35 } | 33 } |
36 | 34 |
37 $if DARTIUM | |
38 // Need for identity. | |
39 js.setDartHtmlWrapperFor(e.blink_jsObject, e); | |
40 | |
41 $endif | |
42 return e; | 35 return e; |
43 } | 36 } |
44 | 37 |
45 @DomName('CustomEvent.detail') | 38 @DomName('CustomEvent.detail') |
46 get detail { | 39 get detail { |
47 if (_dartDetail != null) { | 40 if (_dartDetail != null) { |
48 return _dartDetail; | 41 return _dartDetail; |
49 } | 42 } |
50 return _detail; | 43 return _detail; |
51 } | 44 } |
52 $!MEMBERS | 45 $!MEMBERS |
53 } | 46 } |
OLD | NEW |