| Index: mojo/dart/packages/mojo_services/lib/mojo/url_loader.mojom.dart
 | 
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/url_loader.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/url_loader.mojom.dart
 | 
| index 0d2a32c6ecd408d5590509a96091ea363a744bce..94f0544dfcc320c88771e54aef444ed97958c4ee 100644
 | 
| --- a/mojo/dart/packages/mojo_services/lib/mojo/url_loader.mojom.dart
 | 
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/url_loader.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/network_error.mojom.dart' as network_error_mojom;
 | 
|  import 'package:mojo/mojo/url_request.mojom.dart' as url_request_mojom;
 | 
|  import 'package:mojo/mojo/url_response.mojom.dart' as url_response_mojom;
 | 
| @@ -90,6 +92,27 @@ class UrlLoaderStatus extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoaderStatus__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderStatus')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Error')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +    ..nullable = true
 | 
| +  
 | 
| +  
 | 
| +    ..identifier = '_network_error_NetworkError__'
 | 
| +    ..typeKey = '_network_error_NetworkError__'
 | 
| +  )),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'IsLoading')
 | 
| +        ..type = (new mojom_types.Type()..simpleType = mojom_types.SimpleType.BOOL),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class UrlLoaderStartParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -157,6 +180,21 @@ class UrlLoaderStartParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoader_Start_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderStartParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Request')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_url_request_URLRequest__'
 | 
| +    ..typeKey = '_url_request_URLRequest__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class UrlLoaderStartResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -224,6 +262,21 @@ class UrlLoaderStartResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoader_Start_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderStartResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Response')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_url_response_URLResponse__'
 | 
| +    ..typeKey = '_url_response_URLResponse__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class UrlLoaderFollowRedirectParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -282,6 +335,12 @@ class UrlLoaderFollowRedirectParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoader_FollowRedirect_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderFollowRedirectParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class UrlLoaderFollowRedirectResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -349,6 +408,21 @@ class UrlLoaderFollowRedirectResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoader_FollowRedirect_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderFollowRedirectResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Response')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_url_response_URLResponse__'
 | 
| +    ..typeKey = '_url_response_URLResponse__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class UrlLoaderQueryStatusParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -407,6 +481,12 @@ class UrlLoaderQueryStatusParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoader_QueryStatus_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderQueryStatusParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class UrlLoaderQueryStatusResponseParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -475,6 +555,22 @@ class UrlLoaderQueryStatusResponseParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _url_loader_URLLoader_QueryStatus_ResponseParams__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'UrlLoaderQueryStatusResponseParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Status')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_url_loader_URLLoaderStatus__'
 | 
| +    ..typeKey = '_url_loader_URLLoaderStatus__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
| +
 | 
|  const int kUrlLoader_start_name = 0;
 | 
|  const int kUrlLoader_followRedirect_name = 1;
 | 
|  const int kUrlLoader_queryStatus_name = 2;
 | 
| @@ -482,6 +578,38 @@ const int kUrlLoader_queryStatus_name = 2;
 | 
|  const String UrlLoaderName =
 | 
|        'mojo::URLLoader';
 | 
|  
 | 
| +mojom_types.MojomInterface _url_loader_URLLoader__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "UrlLoader")
 | 
| +    ..interfaceName = "UrlLoader"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kUrlLoader_start_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "Start")
 | 
| +        ..ordinal = kUrlLoader_start_name
 | 
| +        ..responseParams = _url_loader_URLLoader_Start_ResponseParams__()..parameters = _url_loader_URLLoader_Start_Params__(),kUrlLoader_followRedirect_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "FollowRedirect")
 | 
| +        ..ordinal = kUrlLoader_followRedirect_name
 | 
| +        ..responseParams = _url_loader_URLLoader_FollowRedirect_ResponseParams__()..parameters = _url_loader_URLLoader_FollowRedirect_Params__(),kUrlLoader_queryStatus_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "QueryStatus")
 | 
| +        ..ordinal = kUrlLoader_queryStatus_name
 | 
| +        ..responseParams = _url_loader_URLLoader_QueryStatus_ResponseParams__()..parameters = _url_loader_URLLoader_QueryStatus_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _UrlLoaderServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _url_loader_URLLoader__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class UrlLoader {
 | 
|    dynamic start(url_request_mojom.UrlRequest request,[Function responseFactory = null]);
 | 
|    dynamic followRedirect([Function responseFactory = null]);
 | 
| @@ -507,6 +635,9 @@ class UrlLoaderProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => UrlLoaderName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _UrlLoaderServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        case kUrlLoader_start_name:
 | 
| @@ -803,6 +934,95 @@ class UrlLoaderStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _UrlLoaderServiceDescription();
 | 
| +}
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +var _MojomDesc__ = _initDescriptions();
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> _initDescriptions() {
 | 
| +  var map = new Map<String, mojom_types.UserDefinedType>();
 | 
| +  
 | 
| +  map["_url_loader_URLLoaderStatus__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoaderStatus__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader_Start_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoader_Start_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader_Start_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoader_Start_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader_FollowRedirect_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoader_FollowRedirect_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader_FollowRedirect_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoader_FollowRedirect_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader_QueryStatus_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoader_QueryStatus_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader_QueryStatus_ResponseParams__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _url_loader_URLLoader_QueryStatus_ResponseParams__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_url_loader_URLLoader__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _url_loader_URLLoader__();
 | 
| +
 | 
| +network_error_mojom.getAllMojomTypeDefinitions().forEach((String s, mojom_types.UserDefinedType udt) {
 | 
| +  map[s] = udt;
 | 
| +});
 | 
| +url_request_mojom.getAllMojomTypeDefinitions().forEach((String s, mojom_types.UserDefinedType udt) {
 | 
| +  map[s] = udt;
 | 
| +});
 | 
| +url_response_mojom.getAllMojomTypeDefinitions().forEach((String s, mojom_types.UserDefinedType udt) {
 | 
| +  map[s] = udt;
 | 
| +});
 | 
| +  return map;
 | 
| +}
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> getAllMojomTypeDefinitions() {
 | 
| +  return _MojomDesc__;
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |