mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Update sky_server: - update its help string to admit that it wants the package path as well. - be quiet by default, since it makes the build chatty. - have a -v for verbose mode, for people who like it chatty. - have a default port of 8000, since that's what everyone used. - have a -p option to set the port, for people who don't use the default. - remove its mapping for gen/, since a TODO told me to. - remove the dependency on the build configuration, since it's no longer used. - teach it about .dart files. - rename sky_server/README to README.md, for consistency with other READMEs. Update shelldb to speak the new sky_server protocol. Update tests/services/iframe-embed-vmc.sky since the sky_server change broke the hack it was using. Update skyserver.py to speak the new sky_server protocol. Make webkitpy use SkyServer instead of spawning sky_server itself, since a TODO told me to. Teach webkitpy about dart files. Teach test_perf about dart files. (untested) Teach sky_tool about main.dart, main.sky is deprecated. (untested) R=eseidel@chromium.org Review URL: https://codereview.chromium.org/1200993002.
56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
<sky>
|
|
|
|
<iframe></iframe>
|
|
|
|
<script>
|
|
import 'dart:async';
|
|
import 'dart:sky';
|
|
import 'dart:sky.internals' as internals;
|
|
import 'dart:typed_data';
|
|
|
|
import 'package:mojo/application.dart';
|
|
import 'package:mojo/bindings.dart';
|
|
import 'package:mojo/core.dart';
|
|
import 'package:mojom/mojo/shell.mojom.dart' as shell_mojom;
|
|
import 'package:mojom/mojo/input_events.mojom.dart' as input_events;
|
|
import 'package:mojom/mojo/view_manager.mojom.dart' as view_manager;
|
|
import 'package:mojom/mojo/echo_service.mojom.dart' as echo_service_mojom;
|
|
|
|
class IFrameEmbed extends Application {
|
|
IFrameEmbed.fromHandle(MojoHandle handle) : super.fromHandle(handle);
|
|
IFrameEmbed(MojoMessagePipeEndpoint endpoint) : super(endpoint);
|
|
|
|
void initialize(List<String> args, String url) {
|
|
// The vmcApp provides ViewManagerClient and EchoService.
|
|
const vmcURL =
|
|
"http://127.0.0.1:8000/sky/tests/services/resources/iframe-vmc.js";
|
|
final vmcAppConnection = connectToApplication(vmcURL);
|
|
|
|
// The Promise returned by the vmcApp's echoString() method will not
|
|
// resolve until the vmcApp's onEmbed() method runs.
|
|
final echoService = new echo_service_mojom.EchoServiceProxy.unbound();
|
|
vmcAppConnection.requestService(echoService);
|
|
echoService.ptr.echoString("success").then((response) {
|
|
internals.notifyTestComplete(response.value);
|
|
});
|
|
|
|
var applicationPipe = new MojoMessagePipe();
|
|
var proxyEndpoint = applicationPipe.endpoints[0];
|
|
var applicationEndpoint = applicationPipe.endpoints[1];
|
|
vmcAppConnection.remoteServiceProvider.ptr.connectToService(
|
|
view_manager.ViewManagerClientName, applicationEndpoint);
|
|
document.querySelector("iframe").
|
|
embedViewManagerClient(proxyEndpoint.handle.h);
|
|
}
|
|
}
|
|
|
|
main() {
|
|
var messagePipe = new MojoMessagePipe();
|
|
var app = new IFrameEmbed(messagePipe.endpoints[1]);
|
|
var shellProxy = new shell_mojom.ShellProxy.fromHandle(
|
|
new MojoHandle(internals.takeShellProxyHandle()));
|
|
app.initializeFromShellProxy(shellProxy, [], "");
|
|
}
|
|
</script>
|
|
</sky>
|