From 7d0334478374b1a7cedb8a7f2272c2ee47b1674f Mon Sep 17 00:00:00 2001 From: Zachary Anderson Date: Thu, 26 Feb 2015 15:16:14 -0800 Subject: [PATCH] Dart: Removes name conflicts from generated bindings. This change causes the generated abstract class having the same name as the interface to contain only the interface's method declarations. The generated Proxy class then implements the base class. In addition to implementing the interface methods, the generated Proxy class has one private field _proxyImpl, which is a MojoEventStreamListener and manages sending messages and receiving responses. Operations on the ProxyImpl (close, bind, etc.) are exposed through generated utility functions. The generated Stub is largely as before with the difference that a class providing a service will implement the mojo interface and *have* a Stub rather than be a Stub. Where appropriate, this change also calls listen() immediately where a Stub is constructed. BUG= R=hansmuller@google.com, sky@chromium.org Review URL: https://codereview.chromium.org/959993002 --- engine/src/flutter/tests/services/event-sender.sky | 2 +- engine/src/flutter/tests/services/iframe-embed-vmc.sky | 7 +++---- engine/src/flutter/tests/services/network.sky | 10 +++++----- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/engine/src/flutter/tests/services/event-sender.sky b/engine/src/flutter/tests/services/event-sender.sky index b6cdf80b36a..6c58ef9c1e3 100644 --- a/engine/src/flutter/tests/services/event-sender.sky +++ b/engine/src/flutter/tests/services/event-sender.sky @@ -30,7 +30,7 @@ void main() { var event = new events.Event(); event.action = constants.EventType_KEY_PRESSED; event.keyData = keyData; - testHarness.dispatchInputEvent(event); + testHarness.ptr.dispatchInputEvent(event); }); } diff --git a/engine/src/flutter/tests/services/iframe-embed-vmc.sky b/engine/src/flutter/tests/services/iframe-embed-vmc.sky index 1396b0d66d7..e13f9a18d59 100644 --- a/engine/src/flutter/tests/services/iframe-embed-vmc.sky +++ b/engine/src/flutter/tests/services/iframe-embed-vmc.sky @@ -30,15 +30,15 @@ class IFrameEmbed extends Application { // resolve until the vmcApp's onEmbed() method runs. final echoService = new echo_service_mojom.EchoServiceProxy.unbound(); vmcAppConnection.requestService(echoService); - echoService.echoString("success").then((response) { + 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.connectToService( - view_manager.ViewManagerClient.name, applicationEndpoint); + vmcAppConnection.remoteServiceProvider.ptr.connectToService( + view_manager.ViewManagerClientName, applicationEndpoint); document.querySelector("iframe"). embedViewManagerClient(proxyEndpoint.handle.h); } @@ -47,7 +47,6 @@ class IFrameEmbed extends Application { main() { var messagePipe = new MojoMessagePipe(); var app = new IFrameEmbed(messagePipe.endpoints[1]); - app.listen(); var shellProxy = new shell_mojom.ShellProxy.fromHandle( new MojoHandle(internals.takeShellProxyHandle())); app.initializeFromShellProxy(shellProxy, [], ""); diff --git a/engine/src/flutter/tests/services/network.sky b/engine/src/flutter/tests/services/network.sky index c9e6fd79668..bdabb623cbc 100644 --- a/engine/src/flutter/tests/services/network.sky +++ b/engine/src/flutter/tests/services/network.sky @@ -12,18 +12,18 @@ import 'package:mojo/services/network/public/interfaces/network_service.mojom.da import 'package:mojo/services/network/public/interfaces/url_loader.mojom.dart'; Future run(url) async { - var networkService = new NetworkServiceProxy.unbound(); + var networkService= new NetworkServiceProxy.unbound(); embedder.connectToService("mojo:network_service", networkService); - var urlLoaderProxy = new UrlLoaderProxy.unbound(); - networkService.createUrlLoader(urlLoaderProxy); + var urlLoader = new UrlLoaderProxy.unbound(); + networkService.ptr.createUrlLoader(urlLoader); var urlRequest = new UrlRequest() ..url = url ..autoFollowRedirects = true; - var urlResponse = await urlLoaderProxy.start(urlRequest); + var urlResponse = await urlLoader.ptr.start(urlRequest); - urlLoaderProxy.close(); + urlLoader.close(); networkService.close(); print("url => ${urlResponse.response.url}");