Index: sdk/lib/developer/extension.dart |
diff --git a/sdk/lib/developer/extension.dart b/sdk/lib/developer/extension.dart |
index f23b5ad5630b266f35c0ef1576cedf6595374ff8..24820f423139f8d42fbcc1db55e6ca14014f03de 100644 |
--- a/sdk/lib/developer/extension.dart |
+++ b/sdk/lib/developer/extension.dart |
@@ -102,17 +102,17 @@ void registerExtension(String method, ServiceExtensionHandler handler) { |
_extensions[method] = handler; |
} |
-bool _scheduleExtension(String method, |
- List<String> parameterKeys, |
- List<String> parameterValues, |
- SendPort replyPort, |
- Object id) { |
+Function _scheduleExtension(String method, |
+ List<String> parameterKeys, |
+ List<String> parameterValues, |
+ SendPort replyPort, |
+ Object id) { |
ServiceExtensionHandler handler = _extensions[method]; |
if (handler == null) { |
- return false; |
+ return null; |
} |
- // Defer execution of handler until next event loop. |
- Timer.run(() { |
+ // This closure will be executed at the next turn of the event loop. |
+ return () { |
var parameters = {}; |
for (var i = 0; i < parameterKeys.length; i++) { |
parameters[parameterKeys[i]] = parameterValues[i]; |
@@ -148,8 +148,7 @@ bool _scheduleExtension(String method, |
} |
_postResponse(replyPort, id, response); |
}); |
- }); |
- return true; |
+ }; |
} |
_postResponse(SendPort replyPort, |