| Index: mojo/dart/packages/mojo/lib/mojo/application.mojom.dart
 | 
| diff --git a/mojo/dart/packages/mojo/lib/mojo/application.mojom.dart b/mojo/dart/packages/mojo/lib/mojo/application.mojom.dart
 | 
| index 872c0c1983bafd45fcf90587dcc0717e00b5c585..fa4aedd7c26dc50608ec6e81e242b146fa50050d 100644
 | 
| --- a/mojo/dart/packages/mojo/lib/mojo/application.mojom.dart
 | 
| +++ b/mojo/dart/packages/mojo/lib/mojo/application.mojom.dart
 | 
| @@ -8,6 +8,8 @@ import 'dart:async';
 | 
|  
 | 
|  import 'package:mojo/bindings.dart' as bindings;
 | 
|  import 'package:mojo/core.dart' as core;
 | 
| +import 'package:mojo/mojo/mojom_types.mojom.dart' as mojom_types;
 | 
| +import 'package:mojo/mojo/service_describer.mojom.dart' as service_describer;
 | 
|  import 'package:mojo/mojo/service_provider.mojom.dart' as service_provider_mojom;
 | 
|  import 'package:mojo/mojo/shell.mojom.dart' as shell_mojom;
 | 
|  
 | 
| @@ -112,6 +114,34 @@ class ApplicationInitializeParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _application_Application_Initialize_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'ApplicationInitializeParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Shell')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_shell_Shell__'
 | 
| +    ..typeKey = '_shell_Shell__'
 | 
| +  )),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Args')
 | 
| +        ..type = (new mojom_types.Type()..arrayType = (new mojom_types.ArrayType()
 | 
| +    ..nullable = true
 | 
| +    
 | 
| +    ..elementType = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = false)))),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Url')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = false)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class ApplicationAcceptConnectionParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -202,6 +232,45 @@ class ApplicationAcceptConnectionParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _application_Application_AcceptConnection_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'ApplicationAcceptConnectionParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'RequestorUrl')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = false)),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Services')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +    ..nullable = true
 | 
| +  
 | 
| +  
 | 
| +    ..isInterfaceRequest = true
 | 
| +    ..identifier = '_service_provider_ServiceProvider__'
 | 
| +    ..typeKey = '_service_provider_ServiceProvider__'
 | 
| +  )),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'ExposedServices')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +    ..nullable = true
 | 
| +  
 | 
| +  
 | 
| +    ..identifier = '_service_provider_ServiceProvider__'
 | 
| +    ..typeKey = '_service_provider_ServiceProvider__'
 | 
| +  )),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'ResolvedUrl')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = false)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class ApplicationRequestQuitParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -260,6 +329,13 @@ class ApplicationRequestQuitParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _application_Application_RequestQuit_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'ApplicationRequestQuitParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
| +
 | 
|  const int kApplication_initialize_name = 0;
 | 
|  const int kApplication_acceptConnection_name = 1;
 | 
|  const int kApplication_requestQuit_name = 2;
 | 
| @@ -267,6 +343,35 @@ const int kApplication_requestQuit_name = 2;
 | 
|  const String ApplicationName =
 | 
|        'mojo::Application';
 | 
|  
 | 
| +mojom_types.MojomInterface _application_Application__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "Application")
 | 
| +    ..interfaceName = "Application"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kApplication_initialize_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "Initialize")
 | 
| +        ..ordinal = kApplication_initialize_name..parameters = _application_Application_Initialize_Params__(),kApplication_acceptConnection_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "AcceptConnection")
 | 
| +        ..ordinal = kApplication_acceptConnection_name..parameters = _application_Application_AcceptConnection_Params__(),kApplication_requestQuit_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "RequestQuit")
 | 
| +        ..ordinal = kApplication_requestQuit_name..parameters = _application_Application_RequestQuit_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _ApplicationServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _application_Application__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class Application {
 | 
|    void initialize(Object shell, List<String> args, String url);
 | 
|    void acceptConnection(String requestorUrl, Object services, Object exposedServices, String resolvedUrl);
 | 
| @@ -292,6 +397,9 @@ class ApplicationProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => ApplicationName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _ApplicationServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -471,6 +579,70 @@ class ApplicationStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _ApplicationServiceDescription();
 | 
| +}
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +var _MojomDesc__ = _initDescriptions();
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> _initDescriptions() {
 | 
| +  var map = new Map<String, mojom_types.UserDefinedType>();
 | 
| +  
 | 
| +  map["_application_Application_Initialize_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _application_Application_Initialize_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_application_Application_AcceptConnection_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _application_Application_AcceptConnection_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_application_Application_RequestQuit_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _application_Application_RequestQuit_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_application_Application__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _application_Application__();
 | 
| +
 | 
| +service_provider_mojom.getAllMojomTypeDefinitions().forEach((String s, mojom_types.UserDefinedType udt) {
 | 
| +  map[s] = udt;
 | 
| +});
 | 
| +shell_mojom.getAllMojomTypeDefinitions().forEach((String s, mojom_types.UserDefinedType udt) {
 | 
| +  map[s] = udt;
 | 
| +});
 | 
| +  return map;
 | 
| +}
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> getAllMojomTypeDefinitions() {
 | 
| +  return _MojomDesc__;
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |