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

Side by Side Diff: lib/runtime/dart/async.js

Issue 1200233004: fixes #168, dart:js implementation with a test (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: fix error (window not defined) 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
« no previous file with comments | « lib/runtime/dart/_js_helper.js ('k') | lib/runtime/dart/js.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 dart_library.library('dart/async', null, /* Imports */[ 1 dart_library.library('dart/async', null, /* Imports */[
2 "dart_runtime/dart", 2 "dart_runtime/dart",
3 'dart/core', 3 'dart/core',
4 'dart/_internal', 4 'dart/_internal',
5 'dart/collection' 5 'dart/collection'
6 ], /* Lazy imports */[ 6 ], /* Lazy imports */[
7 'dart/_isolate_helper', 7 'dart/_isolate_helper'
8 'dart/_js_helper' 8 ], function(exports, dart, core, _internal, collection, _isolate_helper) {
9 ], function(exports, dart, core, _internal, collection, _isolate_helper, _js_hel per) {
10 'use strict'; 9 'use strict';
11 let dartx = dart.dartx; 10 let dartx = dart.dartx;
12 function _invokeErrorHandler(errorHandler, error, stackTrace) { 11 function _invokeErrorHandler(errorHandler, error, stackTrace) {
13 if (dart.is(errorHandler, ZoneBinaryCallback)) { 12 if (dart.is(errorHandler, ZoneBinaryCallback)) {
14 return dart.dcall(errorHandler, error, stackTrace); 13 return dart.dcall(errorHandler, error, stackTrace);
15 } else { 14 } else {
16 return dart.dcall(errorHandler, error); 15 return dart.dcall(errorHandler, error);
17 } 16 }
18 } 17 }
19 dart.fn(_invokeErrorHandler, dart.dynamic, [core.Function, core.Object, core.S tackTrace]); 18 dart.fn(_invokeErrorHandler, dart.dynamic, [core.Function, core.Object, core.S tackTrace]);
(...skipping 2761 matching lines...) Expand 10 before | Expand all | Expand 10 after
2781 let span = self.document.createElement("span"); 2780 let span = self.document.createElement("span");
2782 let storedCallback = null; 2781 let storedCallback = null;
2783 let internalCallback = _ => { 2782 let internalCallback = _ => {
2784 _isolate_helper.leaveJsAsync(); 2783 _isolate_helper.leaveJsAsync();
2785 let f = storedCallback; 2784 let f = storedCallback;
2786 storedCallback = null; 2785 storedCallback = null;
2787 dart.dcall(f); 2786 dart.dcall(f);
2788 }; 2787 };
2789 dart.fn(internalCallback); 2788 dart.fn(internalCallback);
2790 ; 2789 ;
2791 let observer = new self.MutationObserver(_js_helper.convertDartClosureTo JS(internalCallback, 1)); 2790 let observer = new self.MutationObserver(internalCallback);
2792 observer.observe(div, {childList: true}); 2791 observer.observe(div, {childList: true});
2793 return dart.fn(callback => { 2792 return dart.fn(callback => {
2794 dart.assert(storedCallback == null); 2793 dart.assert(storedCallback == null);
2795 _isolate_helper.enterJsAsync(); 2794 _isolate_helper.enterJsAsync();
2796 storedCallback = callback; 2795 storedCallback = callback;
2797 div.firstChild ? div.removeChild(span) : div.appendChild(span); 2796 div.firstChild ? div.removeChild(span) : div.appendChild(span);
2798 }, dart.dynamic, [dart.functionType(dart.void, [])]); 2797 }, dart.dynamic, [dart.functionType(dart.void, [])]);
2799 } else if (self.setImmediate != null) { 2798 } else if (self.setImmediate != null) {
2800 return _AsyncRun._scheduleImmediateWithSetImmediate; 2799 return _AsyncRun._scheduleImmediateWithSetImmediate;
2801 } 2800 }
2802 return _AsyncRun._scheduleImmediateWithTimer; 2801 return _AsyncRun._scheduleImmediateWithTimer;
2803 } 2802 }
2804 static _scheduleImmediateJsOverride(callback) { 2803 static _scheduleImmediateJsOverride(callback) {
2805 let internalCallback = () => { 2804 let internalCallback = () => {
2806 _isolate_helper.leaveJsAsync(); 2805 _isolate_helper.leaveJsAsync();
2807 callback(); 2806 callback();
2808 }; 2807 };
2809 dart.fn(internalCallback); 2808 dart.fn(internalCallback);
2810 ; 2809 ;
2811 _isolate_helper.enterJsAsync(); 2810 _isolate_helper.enterJsAsync();
2812 self.scheduleImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); 2811 self.scheduleImmediate(internalCallback);
2813 } 2812 }
2814 static _scheduleImmediateWithSetImmediate(callback) { 2813 static _scheduleImmediateWithSetImmediate(callback) {
2815 let internalCallback = () => { 2814 let internalCallback = () => {
2816 _isolate_helper.leaveJsAsync(); 2815 _isolate_helper.leaveJsAsync();
2817 callback(); 2816 callback();
2818 }; 2817 };
2819 dart.fn(internalCallback); 2818 dart.fn(internalCallback);
2820 ; 2819 ;
2821 _isolate_helper.enterJsAsync(); 2820 _isolate_helper.enterJsAsync();
2822 self.setImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); 2821 self.setImmediate(internalCallback);
2823 } 2822 }
2824 static _scheduleImmediateWithTimer(callback) { 2823 static _scheduleImmediateWithTimer(callback) {
2825 Timer._createTimer(core.Duration.ZERO, callback); 2824 Timer._createTimer(core.Duration.ZERO, callback);
2826 } 2825 }
2827 } 2826 }
2828 dart.setSignature(_AsyncRun, { 2827 dart.setSignature(_AsyncRun, {
2829 statics: () => ({ 2828 statics: () => ({
2830 _scheduleImmediate: [dart.void, [dart.functionType(dart.void, [])]], 2829 _scheduleImmediate: [dart.void, [dart.functionType(dart.void, [])]],
2831 _initializeScheduleImmediate: [core.Function, []], 2830 _initializeScheduleImmediate: [core.Function, []],
2832 _scheduleImmediateJsOverride: [dart.void, [dart.functionType(dart.void, [] )]], 2831 _scheduleImmediateJsOverride: [dart.void, [dart.functionType(dart.void, [] )]],
(...skipping 3079 matching lines...) Expand 10 before | Expand all | Expand 10 after
5912 exports.ScheduleMicrotaskHandler = ScheduleMicrotaskHandler; 5911 exports.ScheduleMicrotaskHandler = ScheduleMicrotaskHandler;
5913 exports.CreateTimerHandler = CreateTimerHandler; 5912 exports.CreateTimerHandler = CreateTimerHandler;
5914 exports.CreatePeriodicTimerHandler = CreatePeriodicTimerHandler; 5913 exports.CreatePeriodicTimerHandler = CreatePeriodicTimerHandler;
5915 exports.PrintHandler = PrintHandler; 5914 exports.PrintHandler = PrintHandler;
5916 exports.ForkHandler = ForkHandler; 5915 exports.ForkHandler = ForkHandler;
5917 exports.ZoneSpecification = ZoneSpecification; 5916 exports.ZoneSpecification = ZoneSpecification;
5918 exports.ZoneDelegate = ZoneDelegate; 5917 exports.ZoneDelegate = ZoneDelegate;
5919 exports.Zone = Zone; 5918 exports.Zone = Zone;
5920 exports.runZoned = runZoned; 5919 exports.runZoned = runZoned;
5921 }); 5920 });
OLDNEW
« no previous file with comments | « lib/runtime/dart/_js_helper.js ('k') | lib/runtime/dart/js.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698