OLD | NEW |
1 <sky> | 1 <sky> |
2 | 2 |
3 <iframe></iframe> | 3 <iframe></iframe> |
4 | 4 |
5 <script> | 5 <script> |
6 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'dart:mojo_bindings'; | |
8 import 'dart:mojo_core'; | |
9 import 'dart:sky'; | 7 import 'dart:sky'; |
10 import 'dart:sky.internals' as internals; | 8 import 'dart:sky.internals' as internals; |
11 import 'dart:typed_data'; | 9 import 'dart:typed_data'; |
12 import '/mojo/public/dart/application.dart'; | 10 import '/mojo/public/dart/application.dart'; |
| 11 import 'mojo:bindings'; |
| 12 import 'mojo:core'; |
13 | 13 |
14 import 'package:mojo/public/interfaces/application/shell.mojom.dart' as shell_mo
jom; | 14 import 'package:mojo/public/interfaces/application/shell.mojom.dart' as shell_mo
jom; |
15 import 'package:mojo/services/input_events/public/interfaces/input_events.mojom.
dart' as input_events; | 15 import 'package:mojo/services/input_events/public/interfaces/input_events.mojom.
dart' as input_events; |
16 import 'package:mojo/services/view_manager/public/interfaces/view_manager.mojom.
dart' as view_manager; | 16 import 'package:mojo/services/view_manager/public/interfaces/view_manager.mojom.
dart' as view_manager; |
17 import 'package:services/js/test/echo_service.mojom.dart' as echo_service_mojom; | 17 import 'package:services/js/test/echo_service.mojom.dart' as echo_service_mojom; |
18 | 18 |
19 class IFrameEmbed extends Application { | 19 class IFrameEmbed extends Application { |
20 IFrameEmbed.fromHandle(MojoHandle handle) : super.fromHandle(handle); | 20 IFrameEmbed.fromHandle(MojoHandle handle) : super.fromHandle(handle); |
21 IFrameEmbed(MojoMessagePipeEndpoint endpoint) : super(endpoint); | 21 IFrameEmbed(MojoMessagePipeEndpoint endpoint) : super(endpoint); |
22 | 22 |
23 void initialize(List<String> args, String url) { | 23 void initialize(List<String> args, String url) { |
24 // The vmcApp provides ViewManagerClient and EchoService. | 24 // The vmcApp provides ViewManagerClient and EchoService. |
25 const vmcURL = | 25 const vmcURL = |
26 "http://127.0.0.1:8000/sky/tests/services/resources/iframe-vmc.js"; | 26 "http://127.0.0.1:8000/sky/tests/services/resources/iframe-vmc.js"; |
27 final vmcAppConnection = connectToApplication(vmcURL); | 27 final vmcAppConnection = connectToApplication(vmcURL); |
28 | 28 |
29 // The Promise returned by the vmcApp's echoString() method will not | 29 // The Promise returned by the vmcApp's echoString() method will not |
30 // resolve until the vmcApp's onEmbed() method runs. | 30 // resolve until the vmcApp's onEmbed() method runs. |
31 final echoService = new echo_service_mojom.EchoServiceProxy.unbound(); | 31 final echoService = new echo_service_mojom.EchoServiceProxy.unbound(); |
32 vmcAppConnection.requestService(echoService); | 32 vmcAppConnection.requestService(echoService); |
33 echoService.echoString("success").then((response) { | 33 echoService.echoString("success").then((response) { |
34 internals.notifyTestComplete(response.value); | 34 internals.notifyTestComplete(response.value); |
35 }); | 35 }); |
36 | 36 |
37 var applicationPipe = new MojoMessagePipe(); | 37 var applicationPipe = new MojoMessagePipe(); |
38 var proxyEndpoint = applicationPipe.endpoints[0]; | 38 var proxyEndpoint = applicationPipe.endpoints[0]; |
39 var applicationEndpoint = applicationPipe.endpoints[1]; | 39 var applicationEndpoint = applicationPipe.endpoints[1]; |
40 vmcAppConnection.remoteServiceProvider.connectToService( | 40 vmcAppConnection.remoteServiceProvider.connectToService( |
41 view_manager.ViewManagerClient.name, applicationEndpoint); | 41 view_manager.ViewManagerClient.name, applicationEndpoint); |
42 document.querySelector("iframe"). | 42 document.querySelector("iframe"). |
43 embedViewManagerClient(proxyEndpoint.handle.h); | 43 embedViewManagerClient(proxyEndpoint.handle.h); |
44 } | 44 } |
45 } | 45 } |
46 | 46 |
47 main() { | 47 main() { |
48 var messagePipe = new MojoMessagePipe(); | 48 var messagePipe = new MojoMessagePipe(); |
49 var app = new IFrameEmbed(messagePipe.endpoints[1]); | 49 var app = new IFrameEmbed(messagePipe.endpoints[1]); |
50 app.listen(); | 50 app.listen(); |
51 var shellProxy = new shell_mojom.ShellProxy.fromHandle( | 51 var shellProxy = new shell_mojom.ShellProxy.fromHandle( |
52 new MojoHandle(internals.takeShellProxyHandle())); | 52 new MojoHandle(internals.takeShellProxyHandle())); |
53 app.initializeFromShellProxy(shellProxy, [], ""); | 53 app.initializeFromShellProxy(shellProxy, [], ""); |
54 } | 54 } |
55 </script> | 55 </script> |
56 </sky> | 56 </sky> |
OLD | NEW |