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 |