| 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 |