| Index: tool/input_sdk/lib/js/dart2js/js_dart2js.dart
|
| diff --git a/tool/input_sdk/lib/js/dart2js/js_dart2js.dart b/tool/input_sdk/lib/js/dart2js/js_dart2js.dart
|
| index dcdb64463ef81ed5cccc8df6d6f777e6566c8ccf..08449bd25534f3fc41a05a851a1f618687327f81 100644
|
| --- a/tool/input_sdk/lib/js/dart2js/js_dart2js.dart
|
| +++ b/tool/input_sdk/lib/js/dart2js/js_dart2js.dart
|
| @@ -93,7 +93,8 @@ import 'dart:_interceptors' as _interceptors show JSArray;
|
| import 'dart:_js_helper' show Primitives;
|
| import 'dart:_foreign_helper' show JS;
|
|
|
| -final JsObject context = _wrapToDart(JS('', 'dart.global'));
|
| +final _global = JS('', 'dart.global');
|
| +final JsObject context = _wrapToDart(_global);
|
|
|
| /**
|
| * Proxies a JavaScript object to Dart.
|
| @@ -474,12 +475,13 @@ dynamic _wrapDartFunction(f) {
|
|
|
| // converts a Dart object to a reference to a native JS object
|
| // which might be a DartObject JS->Dart proxy
|
| -Object _convertToDart(o) {
|
| +Object _convertToDart(o, [bool isBrowserType(x)]) {
|
| + if (isBrowserType == null) isBrowserType = _isBrowserType;
|
| if (JS('bool', '# == null', o) ||
|
| JS('bool', 'typeof # == "string"', o) ||
|
| JS('bool', 'typeof # == "number"', o) ||
|
| JS('bool', 'typeof # == "boolean"', o) ||
|
| - _isBrowserType(o)) {
|
| + isBrowserType(o)) {
|
| return o;
|
| } else if (JS('bool', '# instanceof Date', o)) {
|
| var ms = JS('num', '#.getTime()', o);
|
| @@ -554,4 +556,4 @@ Function allowInteropCaptureThis(Function f) {
|
| _interopCaptureThisExpando[f] = ret;
|
| }
|
| return ret;
|
| -}
|
| +}
|
|
|