Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(737)

Unified Diff: sky/framework/embedder.dart

Issue 948463003: Added Sky Mojo embedder singleton, restored network test (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sky/framework/shell.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/framework/embedder.dart
diff --git a/sky/framework/embedder.dart b/sky/framework/embedder.dart
new file mode 100644
index 0000000000000000000000000000000000000000..3ac708edbdb3850ffbd08d46f19fdb32990db9db
--- /dev/null
+++ b/sky/framework/embedder.dart
@@ -0,0 +1,34 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import "/mojo/public/dart/application.dart";
+import "dart:mojo_bindings" as bindings;
+import "dart:mojo_core" as core;
+import "dart:sky.internals" as internals;
+import "package:mojo/public/interfaces/application/service_provider.mojom.dart";
+import "package:mojo/public/interfaces/application/shell.mojom.dart";
+
+final _EmbedderImpl embedder = new _EmbedderImpl();
+
+class _EmbedderImpl {
+ final ShellProxy shell = new ShellProxy.fromHandle(
+ new core.MojoHandle(internals.takeShellProxyHandle()));
+
+ ApplicationConnection connectToApplication(String url) {
+ var proxy = new ServiceProviderProxy.unbound();
+ var stub = new ServiceProviderStub.unbound();
+ shell.connectToApplication(url, proxy, stub);
+ return new ApplicationConnection(stub, proxy);
+ }
+
+ void connectToService(String url, bindings.Proxy proxy) {
+ var appSp = new ServiceProviderProxy.unbound();
+ shell.connectToApplication(url, appSp, null);
+ var pipe = new core.MojoMessagePipe();
+ proxy.bind(pipe.endpoints[0]);
+ appSp.connectToService(proxy.name, pipe.endpoints[1]);
+ appSp.close();
+ }
+}
+
« no previous file with comments | « no previous file | sky/framework/shell.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698