| 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 dynamic ZoneCallback(); |     7 typedef dynamic ZoneCallback(); | 
|     8 typedef dynamic ZoneUnaryCallback(arg); |     8 typedef dynamic ZoneUnaryCallback(arg); | 
|     9 typedef dynamic ZoneBinaryCallback(arg1, arg2); |     9 typedef dynamic ZoneBinaryCallback(arg1, arg2); | 
|    10  |    10  | 
| (...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   441    */ |   441    */ | 
|   442   void print(String line); |   442   void print(String line); | 
|   443  |   443  | 
|   444   /** |   444   /** | 
|   445    * Call to enter the Zone. |   445    * Call to enter the Zone. | 
|   446    * |   446    * | 
|   447    * The previous current zone is returned. |   447    * The previous current zone is returned. | 
|   448    */ |   448    */ | 
|   449   static Zone _enter(Zone zone) { |   449   static Zone _enter(Zone zone) { | 
|   450     assert(zone != null); |   450     assert(zone != null); | 
 |   451     assert(!identical(zone, _current)); | 
|   451     Zone previous = _current; |   452     Zone previous = _current; | 
|   452     _current = zone; |   453     _current = zone; | 
|   453     return previous; |   454     return previous; | 
|   454   } |   455   } | 
|   455  |   456  | 
|   456   /** |   457   /** | 
|   457    * Call to leave the Zone. |   458    * Call to leave the Zone. | 
|   458    * |   459    * | 
|   459    * The previous Zone must be provided as `previous`. |   460    * The previous Zone must be provided as `previous`. | 
|   460    */ |   461    */ | 
| (...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1070    * |  1071    * | 
|  1071    * Returns `this` if `this` has an error-handler. Otherwise returns the |  1072    * Returns `this` if `this` has an error-handler. Otherwise returns the | 
|  1072    * parent's error-zone. |  1073    * parent's error-zone. | 
|  1073    */ |  1074    */ | 
|  1074   Zone get errorZone => this; |  1075   Zone get errorZone => this; | 
|  1075  |  1076  | 
|  1076   // Zone interface. |  1077   // Zone interface. | 
|  1077  |  1078  | 
|  1078   dynamic runGuarded(f()) { |  1079   dynamic runGuarded(f()) { | 
|  1079     try { |  1080     try { | 
|  1080       Zone current = Zone._current; |  1081       if (identical(_ROOT_ZONE, Zone._current)) { | 
|  1081       if (identical(current, _ROOT_ZONE) || |  | 
|  1082           identical(current, this)) { |  | 
|  1083         return f(); |  1082         return f(); | 
|  1084       } |  1083       } | 
|  1085  |  1084       return _rootRun(null, null, this, f); | 
|  1086       Zone old = Zone._enter(this); |  | 
|  1087       try { |  | 
|  1088         return f(); |  | 
|  1089       } finally { |  | 
|  1090         Zone._leave(old); |  | 
|  1091       } |  | 
|  1092     } catch (e, s) { |  1085     } catch (e, s) { | 
|  1093       return handleUncaughtError(e, s); |  1086       return handleUncaughtError(e, s); | 
|  1094     } |  1087     } | 
|  1095   } |  1088   } | 
|  1096  |  1089  | 
|  1097   dynamic runUnaryGuarded(f(arg), arg) { |  1090   dynamic runUnaryGuarded(f(arg), arg) { | 
|  1098     try { |  1091     try { | 
|  1099       if (identical(_ROOT_ZONE, Zone._current)) { |  1092       if (identical(_ROOT_ZONE, Zone._current)) { | 
|  1100         return f(arg); |  1093         return f(arg); | 
|  1101       } |  1094       } | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1147  |  1140  | 
|  1148   dynamic handleUncaughtError(error, StackTrace stackTrace) { |  1141   dynamic handleUncaughtError(error, StackTrace stackTrace) { | 
|  1149     return _rootHandleUncaughtError(null, null, this, error, stackTrace); |  1142     return _rootHandleUncaughtError(null, null, this, error, stackTrace); | 
|  1150   } |  1143   } | 
|  1151  |  1144  | 
|  1152   Zone fork({ZoneSpecification specification, Map zoneValues}) { |  1145   Zone fork({ZoneSpecification specification, Map zoneValues}) { | 
|  1153     return _rootFork(null, null, this, specification, zoneValues); |  1146     return _rootFork(null, null, this, specification, zoneValues); | 
|  1154   } |  1147   } | 
|  1155  |  1148  | 
|  1156   dynamic run(f()) { |  1149   dynamic run(f()) { | 
|  1157     Zone current = Zone._current; |  1150     if (identical(Zone._current, _ROOT_ZONE)) return f(); | 
|  1158     if (identical(current, _ROOT_ZONE) || |  1151     return _rootRun(null, null, this, f); | 
|  1159         identical(current, this)) { |  | 
|  1160       return f(); |  | 
|  1161     } |  | 
|  1162  |  | 
|  1163     Zone old = Zone._enter(this); |  | 
|  1164     try { |  | 
|  1165       return f(); |  | 
|  1166     } finally { |  | 
|  1167       Zone._leave(old); |  | 
|  1168     } |  | 
|  1169   } |  1152   } | 
|  1170  |  1153  | 
|  1171   dynamic runUnary(f(arg), arg) { |  1154   dynamic runUnary(f(arg), arg) { | 
|  1172     if (identical(Zone._current, _ROOT_ZONE)) return f(arg); |  1155     if (identical(Zone._current, _ROOT_ZONE)) return f(arg); | 
|  1173     return _rootRunUnary(null, null, this, f, arg); |  1156     return _rootRunUnary(null, null, this, f, arg); | 
|  1174   } |  1157   } | 
|  1175  |  1158  | 
|  1176   dynamic runBinary(f(arg1, arg2), arg1, arg2) { |  1159   dynamic runBinary(f(arg1, arg2), arg1, arg2) { | 
|  1177     if (identical(Zone._current, _ROOT_ZONE)) return f(arg1, arg2); |  1160     if (identical(Zone._current, _ROOT_ZONE)) return f(arg1, arg2); | 
|  1178     return _rootRunBinary(null, null, this, f, arg1, arg2); |  1161     return _rootRunBinary(null, null, this, f, arg1, arg2); | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1261                                    handleUncaughtError: errorHandler); |  1244                                    handleUncaughtError: errorHandler); | 
|  1262   } |  1245   } | 
|  1263   Zone zone = Zone.current.fork(specification: zoneSpecification, |  1246   Zone zone = Zone.current.fork(specification: zoneSpecification, | 
|  1264                                 zoneValues: zoneValues); |  1247                                 zoneValues: zoneValues); | 
|  1265   if (onError != null) { |  1248   if (onError != null) { | 
|  1266     return zone.runGuarded(body); |  1249     return zone.runGuarded(body); | 
|  1267   } else { |  1250   } else { | 
|  1268     return zone.run(body); |  1251     return zone.run(body); | 
|  1269   } |  1252   } | 
|  1270 } |  1253 } | 
| OLD | NEW |