diff --git a/lib/core/scope.dart b/lib/core/scope.dart index 128cf77e9..84beb674d 100644 --- a/lib/core/scope.dart +++ b/lib/core/scope.dart @@ -605,6 +605,7 @@ class RootScope extends Scope { { _zone.onTurnDone = apply; _zone.onError = (e, s, ls) => _exceptionHandler(e, s); + _zone.onScheduleMicrotask = runAsync; } RootScope get rootScope => this; diff --git a/lib/core/zone.dart b/lib/core/zone.dart index 6fa29d062..9ce95e9bb 100644 --- a/lib/core/zone.dart +++ b/lib/core/zone.dart @@ -60,7 +60,7 @@ class VmTurnZone { /// an "inner" [Zone], which is a child of the outer [Zone]. async.Zone _innerZone; - ZoneScheduleMicrotask defaultOnScheduleMicrotask; + ZoneScheduleMicrotask onScheduleMicrotask; /** * Associates with this @@ -115,8 +115,8 @@ class VmTurnZone { _onScheduleMicrotask(async.Zone self, async.ZoneDelegate delegate, async.Zone zone, fn()) { - if (defaultOnScheduleMicrotask != null) { - return defaultOnScheduleMicrotask(fn); + if (onScheduleMicrotask != null) { + return onScheduleMicrotask(fn); } _asyncQueue.add(() => delegate.run(zone, fn)); diff --git a/test/core/templateurl_spec.dart b/test/core/templateurl_spec.dart index 2c513125a..109c4baa2 100644 --- a/test/core/templateurl_spec.dart +++ b/test/core/templateurl_spec.dart @@ -63,10 +63,9 @@ void main() { ..whenGET('PREFIX:simple.css').respond('.hello{}'); var element = e('
ignore
'); - zone.run(() { - compile([element], directives)(injector, [element]); - }); + compile([element], directives)(injector, [element]); + microLeap(); backend.flush(); microLeap(); diff --git a/test/core/zone_spec.dart b/test/core/zone_spec.dart index d0a5b99b8..30148e0bf 100644 --- a/test/core/zone_spec.dart +++ b/test/core/zone_spec.dart @@ -452,7 +452,7 @@ void main() { }); log('onTurnDone(end)'); }; - zone.defaultOnScheduleMicrotask = (microTaskFn) { + zone.onScheduleMicrotask = (microTaskFn) { log('onScheduleMicrotask(begin)'); microtaskResult = microTaskFn(); log('onScheduleMicrotask(end)'); @@ -478,7 +478,7 @@ void main() { }); log('onTurnDone(end)'); }; - zone.defaultOnScheduleMicrotask = (microTaskFn) { + zone.onScheduleMicrotask = (microTaskFn) { log('onScheduleMicrotask(begin)'); microTaskFn(); log('onScheduleMicrotask(end)'); @@ -500,7 +500,7 @@ void main() { zone.onTurnDone = () { log('onTurnDone'); }; - zone.defaultOnScheduleMicrotask = (microTaskFn) { + zone.onScheduleMicrotask = (microTaskFn) { log('onScheduleMicrotask(begin)'); microTaskFn(); log('onScheduleMicrotask(end)'); @@ -528,7 +528,7 @@ void main() { zone.onTurnDone = () { log('onTurnDone'); }; - zone.defaultOnScheduleMicrotask = (microTaskFn) { + zone.onScheduleMicrotask = (microTaskFn) { log('onScheduleMicrotask(begin)'); microTaskFn(); log('onScheduleMicrotask(end)');