Chromium Code Reviews| 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 library _js_helper; | 5 library _js_helper; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 part 'constant_map.dart'; | 9 part 'constant_map.dart'; |
| 10 part 'native_helper.dart'; | 10 part 'native_helper.dart'; |
| (...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 528 if ((length is !int) || (length < 0)) { | 528 if ((length is !int) || (length < 0)) { |
| 529 throw new ArgumentError(length); | 529 throw new ArgumentError(length); |
| 530 } | 530 } |
| 531 var result = JS('=List', r'new Array(#)', length); | 531 var result = JS('=List', r'new Array(#)', length); |
| 532 JS('void', r'#.fixed$length = #', result, true); | 532 JS('void', r'#.fixed$length = #', result, true); |
| 533 return result; | 533 return result; |
| 534 } | 534 } |
| 535 | 535 |
| 536 static num dateNow() => JS('num', r'Date.now()'); | 536 static num dateNow() => JS('num', r'Date.now()'); |
| 537 | 537 |
| 538 static num numMicroseconds() { | |
| 539 var theWindow = JS('var', 'window'); | |
|
Lasse Reichstein Nielsen
2012/11/22 11:26:48
This read will throw if 'window' is not there.
Con
ahe
2012/11/22 12:54:46
You don't have to call the variable theWindow. We
| |
| 540 if (theWindow != null) { | |
| 541 var performance = JS('var', 'window.performance'); | |
| 542 if (performance != null && | |
| 543 JS('bool', 'typeof #.webkitNow == "function"', performance)) { | |
| 544 return JS('num', '#.webkitNow()', performance); | |
| 545 } | |
| 546 } | |
| 547 return 1000 * dateNow(); | |
| 548 } | |
| 549 | |
| 538 static String stringFromCharCodes(charCodes) { | 550 static String stringFromCharCodes(charCodes) { |
| 539 for (var i in charCodes) { | 551 for (var i in charCodes) { |
| 540 if (i is !int) throw new ArgumentError(i); | 552 if (i is !int) throw new ArgumentError(i); |
| 541 } | 553 } |
| 542 return JS('String', r'String.fromCharCode.apply(#, #)', null, charCodes); | 554 return JS('String', r'String.fromCharCode.apply(#, #)', null, charCodes); |
| 543 } | 555 } |
| 544 | 556 |
| 545 static String getTimeZoneName(receiver) { | 557 static String getTimeZoneName(receiver) { |
| 546 // When calling toString on a Date it will emit the timezone in parenthesis. | 558 // When calling toString on a Date it will emit the timezone in parenthesis. |
| 547 // Example: "Wed May 16 2012 21:13:00 GMT+0200 (CEST)". | 559 // Example: "Wed May 16 2012 21:13:00 GMT+0200 (CEST)". |
| (...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1536 return typeName == other.typeName; | 1548 return typeName == other.typeName; |
| 1537 } | 1549 } |
| 1538 } | 1550 } |
| 1539 | 1551 |
| 1540 String getRuntimeTypeString(var object) { | 1552 String getRuntimeTypeString(var object) { |
| 1541 var typeInfo = JS('var', r'#.builtin$typeInfo', object); | 1553 var typeInfo = JS('var', r'#.builtin$typeInfo', object); |
| 1542 return JS('String', r'#.runtimeType', typeInfo); | 1554 return JS('String', r'#.runtimeType', typeInfo); |
| 1543 } | 1555 } |
| 1544 | 1556 |
| 1545 createRuntimeType(String name) => new TypeImpl(name); | 1557 createRuntimeType(String name) => new TypeImpl(name); |
| OLD | NEW |