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

Side by Side Diff: tool/input_sdk/private/js_helper.dart

Issue 1200233004: fixes #168, dart:js implementation with a test (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 5 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 dart._js_helper; 5 library dart._js_helper;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'dart:_foreign_helper' show 9 import 'dart:_foreign_helper' show
10 JS, 10 JS,
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 int index = 0; 587 int index = 0;
588 int length = getLength(keyValuePairs); 588 int length = getLength(keyValuePairs);
589 while (index < length) { 589 while (index < length) {
590 var key = getIndex(keyValuePairs, index++); 590 var key = getIndex(keyValuePairs, index++);
591 var value = getIndex(keyValuePairs, index++); 591 var value = getIndex(keyValuePairs, index++);
592 result[key] = value; 592 result[key] = value;
593 } 593 }
594 return result; 594 return result;
595 } 595 }
596 596
597 /**
598 * Called by generated code to convert a Dart closure to a JS
599 * closure when the Dart closure is passed to the DOM.
600 */
601 convertDartClosureToJS(closure, int arity) {
602 // TODO(vsm): Dart2JS wraps closures to:
603 // (a) adjust the calling convention, and
604 // (b) record the source isolate
605 // Do we need either?
606 // See: https://github.com/dart-lang/dev_compiler/issues/164
607 return closure;
608 }
609
610 bool jsHasOwnProperty(var jsObject, String property) { 597 bool jsHasOwnProperty(var jsObject, String property) {
611 return JS('bool', r'#.hasOwnProperty(#)', jsObject, property); 598 return JS('bool', r'#.hasOwnProperty(#)', jsObject, property);
612 } 599 }
613 600
614 jsPropertyAccess(var jsObject, String property) { 601 jsPropertyAccess(var jsObject, String property) {
615 return JS('var', r'#[#]', jsObject, property); 602 return JS('var', r'#[#]', jsObject, property);
616 } 603 }
617 604
618 /** 605 /**
619 * Called at the end of unaborted switch cases to get the singleton 606 * Called at the end of unaborted switch cases to get the singleton
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 int random64() { 756 int random64() {
770 // TODO(lrn): Use a secure random source. 757 // TODO(lrn): Use a secure random source.
771 int int32a = JS("int", "(Math.random() * 0x100000000) >>> 0"); 758 int int32a = JS("int", "(Math.random() * 0x100000000) >>> 0");
772 int int32b = JS("int", "(Math.random() * 0x100000000) >>> 0"); 759 int int32b = JS("int", "(Math.random() * 0x100000000) >>> 0");
773 return int32a + int32b * 0x100000000; 760 return int32a + int32b * 0x100000000;
774 } 761 }
775 762
776 String jsonEncodeNative(String string) { 763 String jsonEncodeNative(String string) {
777 return JS("String", "JSON.stringify(#)", string); 764 return JS("String", "JSON.stringify(#)", string);
778 } 765 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698