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