| Index: mojo/dart/packages/mojo_services/lib/mojo/asset_bundle/asset_bundle.mojom.dart
 | 
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/asset_bundle/asset_bundle.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/asset_bundle/asset_bundle.mojom.dart
 | 
| index f26b3c3ee8924fdd07d7988e8c7d588eb7c5794e..2748f6ac4c9c80ae66c53e3b5973c3d2d54d2e17 100644
 | 
| --- a/mojo/dart/packages/mojo_services/lib/mojo/asset_bundle/asset_bundle.mojom.dart
 | 
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/asset_bundle/asset_bundle.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;
 | 
|  
 | 
|  
 | 
|  
 | 
| @@ -77,6 +79,17 @@ class AssetBundleGetAsStreamParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _asset_bundle_AssetBundle_GetAsStream_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'AssetBundleGetAsStreamParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'AssetName')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = false)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class AssetBundleGetAsStreamResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -143,6 +156,19 @@ class AssetBundleGetAsStreamResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _asset_bundle_AssetBundle_GetAsStream_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'AssetBundleGetAsStreamResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'AssetData')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..handleType = (new mojom_types.HandleType()
 | 
| +..kind = mojom_types.HandleTypeKind.DATA_PIPE_CONSUMER
 | 
| +..nullable = false)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class AssetUnpackerUnpackZipStreamParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -217,11 +243,61 @@ class AssetUnpackerUnpackZipStreamParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _asset_bundle_AssetUnpacker_UnpackZipStream_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'AssetUnpackerUnpackZipStreamParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'ZippedAssets')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..handleType = (new mojom_types.HandleType()
 | 
| +..kind = mojom_types.HandleTypeKind.DATA_PIPE_CONSUMER
 | 
| +..nullable = false)),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'AssetBundle')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..isInterfaceRequest = true
 | 
| +    ..identifier = '_asset_bundle_AssetBundle__'
 | 
| +    ..typeKey = '_asset_bundle_AssetBundle__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
| +
 | 
|  const int kAssetBundle_getAsStream_name = 0;
 | 
|  
 | 
|  const String AssetBundleName =
 | 
|        'mojo::asset_bundle::AssetBundle';
 | 
|  
 | 
| +mojom_types.MojomInterface _asset_bundle_AssetBundle__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "AssetBundle")
 | 
| +    ..interfaceName = "AssetBundle"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kAssetBundle_getAsStream_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "GetAsStream")
 | 
| +        ..ordinal = kAssetBundle_getAsStream_name
 | 
| +        ..responseParams = _asset_bundle_AssetBundle_GetAsStream_ResponseParams__()..parameters = _asset_bundle_AssetBundle_GetAsStream_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _AssetBundleServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _asset_bundle_AssetBundle__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class AssetBundle {
 | 
|    dynamic getAsStream(String assetName,[Function responseFactory = null]);
 | 
|  
 | 
| @@ -245,6 +321,9 @@ class AssetBundleProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => AssetBundleName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _AssetBundleServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        case kAssetBundle_getAsStream_name:
 | 
| @@ -431,6 +510,9 @@ class AssetBundleStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _AssetBundleServiceDescription();
 | 
|  }
 | 
|  
 | 
|  const int kAssetUnpacker_unpackZipStream_name = 0;
 | 
| @@ -438,6 +520,31 @@ const int kAssetUnpacker_unpackZipStream_name = 0;
 | 
|  const String AssetUnpackerName =
 | 
|        'mojo::asset_bundle::AssetUnpacker';
 | 
|  
 | 
| +mojom_types.MojomInterface _asset_bundle_AssetUnpacker__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "AssetUnpacker")
 | 
| +    ..interfaceName = "AssetUnpacker"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kAssetUnpacker_unpackZipStream_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "UnpackZipStream")
 | 
| +        ..ordinal = kAssetUnpacker_unpackZipStream_name..parameters = _asset_bundle_AssetUnpacker_UnpackZipStream_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _AssetUnpackerServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _asset_bundle_AssetUnpacker__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class AssetUnpacker {
 | 
|    void unpackZipStream(core.MojoDataPipeConsumer zippedAssets, Object assetBundle);
 | 
|  
 | 
| @@ -461,6 +568,9 @@ class AssetUnpackerProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => AssetUnpackerName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _AssetUnpackerServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -607,6 +717,59 @@ class AssetUnpackerStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _AssetUnpackerServiceDescription();
 | 
| +}
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +var _MojomDesc__ = _initDescriptions();
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> _initDescriptions() {
 | 
| +  var map = new Map<String, mojom_types.UserDefinedType>();
 | 
| +  
 | 
| +  map["_asset_bundle_AssetBundle_GetAsStream_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _asset_bundle_AssetBundle_GetAsStream_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_asset_bundle_AssetBundle_GetAsStream_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _asset_bundle_AssetBundle_GetAsStream_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_asset_bundle_AssetUnpacker_UnpackZipStream_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _asset_bundle_AssetUnpacker_UnpackZipStream_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  
 | 
| +  map["_asset_bundle_AssetUnpacker__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _asset_bundle_AssetUnpacker__();
 | 
| +
 | 
| +  return map;
 | 
| +}
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> getAllMojomTypeDefinitions() {
 | 
| +  return _MojomDesc__;
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |