OLD | NEW |
1 var async; | 1 var async; |
2 (function(async) { | 2 (function(async) { |
3 'use strict'; | 3 'use strict'; |
4 dart.copyProperties(async, { | 4 dart.copyProperties(async, { |
5 get _hasDocument() { | 5 get _hasDocument() { |
6 return dart.equals(_foreign_helper.JS('String', 'typeof document'), 'objec
t'); | 6 return dart.equals(typeof document, 'object'); |
7 } | 7 } |
8 }); | 8 }); |
9 // Function _invokeErrorHandler: (Function, Object, StackTrace) → dynamic | 9 // Function _invokeErrorHandler: (Function, Object, StackTrace) → dynamic |
10 function _invokeErrorHandler(errorHandler, error, stackTrace) { | 10 function _invokeErrorHandler(errorHandler, error, stackTrace) { |
11 if (dart.is(errorHandler, ZoneBinaryCallback)) { | 11 if (dart.is(errorHandler, ZoneBinaryCallback)) { |
12 return dart.dinvokef(errorHandler, error, stackTrace); | 12 return dart.dinvokef(errorHandler, error, stackTrace); |
13 } else { | 13 } else { |
14 return dart.dinvokef(errorHandler, error); | 14 return dart.dinvokef(errorHandler, error); |
15 } | 15 } |
16 } | 16 } |
(...skipping 1306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1323 return; | 1323 return; |
1324 } | 1324 } |
1325 Zone.current.scheduleMicrotask(Zone.current.bindCallback(callback, {runGuard
ed: true})); | 1325 Zone.current.scheduleMicrotask(Zone.current.bindCallback(callback, {runGuard
ed: true})); |
1326 } | 1326 } |
1327 class _AsyncRun extends dart.Object { | 1327 class _AsyncRun extends dart.Object { |
1328 static _scheduleImmediate(callback) { | 1328 static _scheduleImmediate(callback) { |
1329 dart.dinvokef(scheduleImmediateClosure, callback); | 1329 dart.dinvokef(scheduleImmediateClosure, callback); |
1330 } | 1330 } |
1331 static _initializeScheduleImmediate() { | 1331 static _initializeScheduleImmediate() { |
1332 _js_helper.requiresPreamble(); | 1332 _js_helper.requiresPreamble(); |
1333 if (_foreign_helper.JS('', 'self.scheduleImmediate') !== null) { | 1333 if (self.scheduleImmediate !== null) { |
1334 return _scheduleImmediateJsOverride; | 1334 return _scheduleImmediateJsOverride; |
1335 } | 1335 } |
1336 if (dart.notNull(_foreign_helper.JS('', 'self.MutationObserver') !== null)
&& dart.notNull(_foreign_helper.JS('', 'self.document') !== null)) { | 1336 if (dart.notNull(self.MutationObserver !== null) && dart.notNull(self.docu
ment !== null)) { |
1337 let div = _foreign_helper.JS('', 'self.document.createElement("div")'); | 1337 let div = self.document.createElement("div"); |
1338 let span = _foreign_helper.JS('', 'self.document.createElement("span")')
; | 1338 let span = self.document.createElement("span"); |
1339 let storedCallback = null; | 1339 let storedCallback = null; |
1340 // Function internalCallback: (dynamic) → dynamic | 1340 // Function internalCallback: (dynamic) → dynamic |
1341 function internalCallback(_) { | 1341 function internalCallback(_) { |
1342 _isolate_helper.leaveJsAsync(); | 1342 _isolate_helper.leaveJsAsync(); |
1343 let f = storedCallback; | 1343 let f = storedCallback; |
1344 storedCallback = null; | 1344 storedCallback = null; |
1345 dart.dinvokef(f); | 1345 dart.dinvokef(f); |
1346 } | 1346 } |
1347 ; | 1347 ; |
1348 let observer = _foreign_helper.JS('', 'new self.MutationObserver(#)', _j
s_helper.convertDartClosureToJS(internalCallback, 1)); | 1348 let observer = new self.MutationObserver(_js_helper.convertDartClosureTo
JS(internalCallback, 1)); |
1349 _foreign_helper.JS('', '#.observe(#, { childList: true })', observer, di
v); | 1349 observer.observe(div, {childList: true}); |
1350 return (callback) => { | 1350 return (callback) => { |
1351 dart.assert(storedCallback === null); | 1351 dart.assert(storedCallback === null); |
1352 _isolate_helper.enterJsAsync(); | 1352 _isolate_helper.enterJsAsync(); |
1353 storedCallback = callback; | 1353 storedCallback = callback; |
1354 _foreign_helper.JS('', '#.firstChild ? #.removeChild(#): #.appendChild
(#)', div, div, span, div, span); | 1354 div.firstChild ? div.removeChild(span) : div.appendChild(span); |
1355 }; | 1355 }; |
1356 } else if (_foreign_helper.JS('', 'self.setImmediate') !== null) { | 1356 } else if (self.setImmediate !== null) { |
1357 return _scheduleImmediateWithSetImmediate; | 1357 return _scheduleImmediateWithSetImmediate; |
1358 } | 1358 } |
1359 return _scheduleImmediateWithTimer; | 1359 return _scheduleImmediateWithTimer; |
1360 } | 1360 } |
1361 static _scheduleImmediateJsOverride(callback) { | 1361 static _scheduleImmediateJsOverride(callback) { |
1362 // Function internalCallback: () → dynamic | 1362 // Function internalCallback: () → dynamic |
1363 function internalCallback() { | 1363 function internalCallback() { |
1364 _isolate_helper.leaveJsAsync(); | 1364 _isolate_helper.leaveJsAsync(); |
1365 callback(); | 1365 callback(); |
1366 } | 1366 } |
1367 ; | 1367 ; |
1368 _isolate_helper.enterJsAsync(); | 1368 _isolate_helper.enterJsAsync(); |
1369 _foreign_helper.JS('void', 'self.scheduleImmediate(#)', _js_helper.convert
DartClosureToJS(internalCallback, 0)); | 1369 self.scheduleImmediate(_js_helper.convertDartClosureToJS(internalCallback,
0)); |
1370 } | 1370 } |
1371 static _scheduleImmediateWithSetImmediate(callback) { | 1371 static _scheduleImmediateWithSetImmediate(callback) { |
1372 // Function internalCallback: () → dynamic | 1372 // Function internalCallback: () → dynamic |
1373 function internalCallback() { | 1373 function internalCallback() { |
1374 _isolate_helper.leaveJsAsync(); | 1374 _isolate_helper.leaveJsAsync(); |
1375 callback(); | 1375 callback(); |
1376 } | 1376 } |
1377 ; | 1377 ; |
1378 _isolate_helper.enterJsAsync(); | 1378 _isolate_helper.enterJsAsync(); |
1379 _foreign_helper.JS('void', 'self.setImmediate(#)', _js_helper.convertDartC
losureToJS(internalCallback, 0)); | 1379 self.setImmediate(_js_helper.convertDartClosureToJS(internalCallback, 0)); |
1380 } | 1380 } |
1381 static _scheduleImmediateWithTimer(callback) { | 1381 static _scheduleImmediateWithTimer(callback) { |
1382 Timer._createTimer(core.Duration.ZERO, callback); | 1382 Timer._createTimer(core.Duration.ZERO, callback); |
1383 } | 1383 } |
1384 } | 1384 } |
1385 dart.defineLazyProperties(_AsyncRun, { | 1385 dart.defineLazyProperties(_AsyncRun, { |
1386 get scheduleImmediateClosure() { | 1386 get scheduleImmediateClosure() { |
1387 return _initializeScheduleImmediate(); | 1387 return _initializeScheduleImmediate(); |
1388 } | 1388 } |
1389 }); | 1389 }); |
(...skipping 3391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4781 async.StreamIterator$ = StreamIterator$; | 4781 async.StreamIterator$ = StreamIterator$; |
4782 async.StreamController = StreamController; | 4782 async.StreamController = StreamController; |
4783 async.StreamController$ = StreamController$; | 4783 async.StreamController$ = StreamController$; |
4784 async.Timer = Timer; | 4784 async.Timer = Timer; |
4785 async.AsyncError = AsyncError; | 4785 async.AsyncError = AsyncError; |
4786 async.ZoneSpecification = ZoneSpecification; | 4786 async.ZoneSpecification = ZoneSpecification; |
4787 async.ZoneDelegate = ZoneDelegate; | 4787 async.ZoneDelegate = ZoneDelegate; |
4788 async.Zone = Zone; | 4788 async.Zone = Zone; |
4789 async.runZoned = runZoned; | 4789 async.runZoned = runZoned; |
4790 })(async || (async = {})); | 4790 })(async || (async = {})); |
OLD | NEW |