| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library polymer.lib.src.common.js_proxy; | 4 library polymer.lib.src.common.js_proxy; |
| 5 | 5 |
| 6 import 'dart:js'; | 6 import 'dart:js'; |
| 7 import 'package:polymer_interop/polymer_interop.dart'; | 7 import 'package:polymer_interop/polymer_interop.dart'; |
| 8 export 'package:polymer_interop/polymer_interop.dart' show dartValue, jsValue; | 8 export 'package:polymer_interop/polymer_interop.dart' show dartValue, jsValue; |
| 9 import 'package:reflectable/reflectable.dart'; | 9 import 'package:reflectable/reflectable.dart'; |
| 10 import 'behavior.dart'; | 10 import 'behavior.dart'; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 : super( | 55 : super( |
| 56 instanceInvokeCapability, | 56 instanceInvokeCapability, |
| 57 metadataCapability, | 57 metadataCapability, |
| 58 declarationsCapability, | 58 declarationsCapability, |
| 59 typeCapability, | 59 typeCapability, |
| 60 typeRelationsCapability, | 60 typeRelationsCapability, |
| 61 subtypeQuantifyCapability, | 61 subtypeQuantifyCapability, |
| 62 superclassQuantifyCapability, | 62 superclassQuantifyCapability, |
| 63 const StaticInvokeCapability('hostAttributes')); | 63 const StaticInvokeCapability('hostAttributes')); |
| 64 } | 64 } |
| 65 | |
| 66 const jsProxyReflectable = const JsProxyReflectable(); | 65 const jsProxyReflectable = const JsProxyReflectable(); |
| 67 | 66 |
| 68 final JsObject _polymerDart = context['Polymer']['Dart']; | 67 final JsObject _polymerDart = context['Polymer']['Dart']; |
| 69 | 68 |
| 70 /// Given a dart type, this creates a javascript constructor and prototype | 69 /// Given a dart type, this creates a javascript constructor and prototype |
| 71 /// which can act as a proxy for it. | 70 /// which can act as a proxy for it. |
| 72 JsFunction _buildJsConstructorForType(Type dartType) { | 71 JsFunction _buildJsConstructorForType(Type dartType) { |
| 73 var constructor = _polymerDart.callMethod('functionFactory'); | 72 var constructor = _polymerDart.callMethod('functionFactory'); |
| 74 var prototype = new JsObject(context['Object']); | 73 var prototype = new JsObject(context['Object']); |
| 75 | 74 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 var mirror = jsProxyReflectable.reflect(dartInstance); | 110 var mirror = jsProxyReflectable.reflect(dartInstance); |
| 112 return jsValue(mirror.invoke(name, newArgs)); | 111 return jsValue(mirror.invoke(name, newArgs)); |
| 113 } | 112 } |
| 114 ]); | 113 ]); |
| 115 } | 114 } |
| 116 }); | 115 }); |
| 117 | 116 |
| 118 constructor['prototype'] = prototype; | 117 constructor['prototype'] = prototype; |
| 119 return constructor; | 118 return constructor; |
| 120 } | 119 } |
| OLD | NEW |