Index: sky/framework/shell.dart |
diff --git a/sky/framework/shell.dart b/sky/framework/shell.dart |
index d48a6f8c23caf4a877c555c41a04aff87e7cd502..6b6af4b53e4a4d97ce73598331aa22291473b6f6 100644 |
--- a/sky/framework/shell.dart |
+++ b/sky/framework/shell.dart |
@@ -3,6 +3,7 @@ |
// found in the LICENSE file. |
import "dart:sky.internals" as internals; |
+import "embedder.dart"; |
import "package:mojo/public/dart/application.dart"; |
import 'package:mojo/public/dart/core.dart' as core; |
import "package:mojo/service_provider.mojom.dart"; |
@@ -11,13 +12,14 @@ ApplicationConnection _initConnection() { |
int rawHandle = internals.takeServicesProvidedByEmbedder(); |
core.MojoHandle proxyHandle = new core.MojoHandle(rawHandle); |
ServiceProviderProxy serviceProvider = null; |
- if (proxyHandle.isValid) |
- serviceProvider = new ServiceProviderProxy.fromHandle(proxyHandle); |
+ if (proxyHandle.isValid) serviceProvider = |
+ new ServiceProviderProxy.fromHandle(proxyHandle); |
return new ApplicationConnection(null, serviceProvider); |
} |
final ApplicationConnection _connection = _initConnection(); |
-void requestService(Object proxy) { |
- _connection.requestService(proxy); |
+void requestService(String url, Object proxy) { |
+ if (embedder.shell == null) _connection.requestService(proxy); |
+ else embedder.connectToService(url, proxy); |
} |