Index: sdk/lib/developer/extension.dart |
diff --git a/sdk/lib/developer/extension.dart b/sdk/lib/developer/extension.dart |
index f23b5ad5630b266f35c0ef1576cedf6595374ff8..17877853a0d490de3144f93744f6cf16ded586ae 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) { |
+Object _scheduleExtension(String method, |
turnidge
2015/08/20 17:34:39
Function?
Cutch
2015/08/20 18:09:37
Done.
|
+ 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, |