OLD | NEW |
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 part of dart.async; | 5 part of dart.async; |
6 | 6 |
7 typedef void _AsyncCallback(); | 7 typedef void _AsyncCallback(); |
8 | 8 |
9 class _AsyncCallbackEntry { | 9 class _AsyncCallbackEntry { |
10 final _AsyncCallback callback; | 10 final _AsyncCallback callback; |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback); | 137 _rootScheduleMicrotask(null, null, _ROOT_ZONE, callback); |
138 return; | 138 return; |
139 } | 139 } |
140 _ZoneFunction implementation = currentZone._scheduleMicrotask; | 140 _ZoneFunction implementation = currentZone._scheduleMicrotask; |
141 if (identical(_ROOT_ZONE, implementation.zone) && | 141 if (identical(_ROOT_ZONE, implementation.zone) && |
142 _ROOT_ZONE.inSameErrorZone(currentZone)) { | 142 _ROOT_ZONE.inSameErrorZone(currentZone)) { |
143 _rootScheduleMicrotask( | 143 _rootScheduleMicrotask( |
144 null, null, currentZone, currentZone.registerCallback(callback)); | 144 null, null, currentZone, currentZone.registerCallback(callback)); |
145 return; | 145 return; |
146 } | 146 } |
147 Zone.current | 147 Zone.current.scheduleMicrotask(Zone.current.bindCallbackGuarded(callback)); |
148 .scheduleMicrotask(Zone.current.bindCallback(callback, runGuarded: true)); | |
149 } | 148 } |
150 | 149 |
151 class _AsyncRun { | 150 class _AsyncRun { |
152 /** Schedule the given callback before any other event in the event-loop. */ | 151 /** Schedule the given callback before any other event in the event-loop. */ |
153 external static void _scheduleImmediate(void callback()); | 152 external static void _scheduleImmediate(void callback()); |
154 } | 153 } |
OLD | NEW |