| Index: mojo/dart/packages/mojo_services/lib/notifications/notifications.mojom.dart
 | 
| diff --git a/mojo/dart/packages/mojo_services/lib/notifications/notifications.mojom.dart b/mojo/dart/packages/mojo_services/lib/notifications/notifications.mojom.dart
 | 
| index 037ca4b85536a3454c708a4e4ccf06ff39adf98d..1113c466c5e2014c67b52514db66c1902281dc0e 100644
 | 
| --- a/mojo/dart/packages/mojo_services/lib/notifications/notifications.mojom.dart
 | 
| +++ b/mojo/dart/packages/mojo_services/lib/notifications/notifications.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;
 | 
|  
 | 
|  
 | 
|  
 | 
| @@ -86,6 +88,22 @@ class NotificationData extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _notifications_NotificationData__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationData')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Title')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = true)),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Text')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +..stringType = (new mojom_types.StringType()..nullable = true)),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class NotificationClientOnSelectedParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -144,6 +162,12 @@ class NotificationClientOnSelectedParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _notifications_NotificationClient_OnSelected_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationClientOnSelectedParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class NotificationClientOnDismissedParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -202,6 +226,12 @@ class NotificationClientOnDismissedParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _notifications_NotificationClient_OnDismissed_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationClientOnDismissedParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class NotificationUpdateParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -270,6 +300,21 @@ class NotificationUpdateParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _notifications_Notification_Update_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationUpdateParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationData')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_notifications_NotificationData__'
 | 
| +    ..typeKey = '_notifications_NotificationData__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class NotificationCancelParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -328,6 +373,12 @@ class NotificationCancelParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _notifications_Notification_Cancel_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationCancelParams')
 | 
| +    ..fields = <mojom_types.StructField>[];
 | 
| +}
 | 
| +
 | 
|  
 | 
|  class NotificationServicePostParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
| @@ -411,12 +462,78 @@ class NotificationServicePostParams extends bindings.Struct {
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +mojom_types.MojomStruct _notifications_NotificationService_Post_Params__() {
 | 
| +  return new mojom_types.MojomStruct()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationServicePostParams')
 | 
| +    ..fields = <mojom_types.StructField>[
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'NotificationData')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +  
 | 
| +    ..identifier = '_notifications_NotificationData__'
 | 
| +    ..typeKey = '_notifications_NotificationData__'
 | 
| +  )),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Client')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +    ..nullable = true
 | 
| +  
 | 
| +  
 | 
| +    ..identifier = '_notifications_NotificationClient__'
 | 
| +    ..typeKey = '_notifications_NotificationClient__'
 | 
| +  )),
 | 
| +      
 | 
| +      new mojom_types.StructField()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = 'Notification')
 | 
| +        ..type = (new mojom_types.Type()
 | 
| +    ..typeReference = (new mojom_types.TypeReference()
 | 
| +    ..nullable = true
 | 
| +  
 | 
| +  
 | 
| +    ..isInterfaceRequest = true
 | 
| +    ..identifier = '_notifications_Notification__'
 | 
| +    ..typeKey = '_notifications_Notification__'
 | 
| +  )),
 | 
| +      ];
 | 
| +}
 | 
| +
 | 
| +
 | 
|  const int kNotificationClient_onSelected_name = 0;
 | 
|  const int kNotificationClient_onDismissed_name = 1;
 | 
|  
 | 
|  const String NotificationClientName =
 | 
|        'notifications::NotificationClient';
 | 
|  
 | 
| +mojom_types.MojomInterface _notifications_NotificationClient__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "NotificationClient")
 | 
| +    ..interfaceName = "NotificationClient"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kNotificationClient_onSelected_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "OnSelected")
 | 
| +        ..ordinal = kNotificationClient_onSelected_name..parameters = _notifications_NotificationClient_OnSelected_Params__(),kNotificationClient_onDismissed_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "OnDismissed")
 | 
| +        ..ordinal = kNotificationClient_onDismissed_name..parameters = _notifications_NotificationClient_OnDismissed_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _NotificationClientServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _notifications_NotificationClient__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class NotificationClient {
 | 
|    void onSelected();
 | 
|    void onDismissed();
 | 
| @@ -441,6 +558,9 @@ class NotificationClientProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => NotificationClientName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _NotificationClientServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -599,6 +719,9 @@ class NotificationClientStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _NotificationClientServiceDescription();
 | 
|  }
 | 
|  
 | 
|  const int kNotification_update_name = 0;
 | 
| @@ -607,6 +730,33 @@ const int kNotification_cancel_name = 1;
 | 
|  const String NotificationName =
 | 
|        'notifications::Notification';
 | 
|  
 | 
| +mojom_types.MojomInterface _notifications_Notification__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "Notification")
 | 
| +    ..interfaceName = "Notification"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kNotification_update_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "Update")
 | 
| +        ..ordinal = kNotification_update_name..parameters = _notifications_Notification_Update_Params__(),kNotification_cancel_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "Cancel")
 | 
| +        ..ordinal = kNotification_cancel_name..parameters = _notifications_Notification_Cancel_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _NotificationServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _notifications_Notification__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class Notification {
 | 
|    void update(NotificationData notificationData);
 | 
|    void cancel();
 | 
| @@ -631,6 +781,9 @@ class NotificationProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => NotificationName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _NotificationServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -790,6 +943,9 @@ class NotificationStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _NotificationServiceDescription();
 | 
|  }
 | 
|  
 | 
|  const int kNotificationService_post_name = 0;
 | 
| @@ -797,6 +953,31 @@ const int kNotificationService_post_name = 0;
 | 
|  const String NotificationServiceName =
 | 
|        'notifications::NotificationService';
 | 
|  
 | 
| +mojom_types.MojomInterface _notifications_NotificationService__() {
 | 
| +  return new mojom_types.MojomInterface()
 | 
| +    ..declData = (new mojom_types.DeclarationData()..shortName = "NotificationService")
 | 
| +    ..interfaceName = "NotificationService"
 | 
| +    ..methods = <int, mojom_types.MojomMethod>{
 | 
| +kNotificationService_post_name: new mojom_types.MojomMethod()
 | 
| +        ..declData = (new mojom_types.DeclarationData()..shortName = "Post")
 | 
| +        ..ordinal = kNotificationService_post_name..parameters = _notifications_NotificationService_Post_Params__(),
 | 
| +    };
 | 
| +}
 | 
| +
 | 
| +class _NotificationServiceServiceDescription extends service_describer.ServiceDescription {
 | 
| +  // Avoid infinite loop by overriding serviceDescription field.
 | 
| +  final service_describer.ServiceDescription serviceDescription = null;
 | 
| +dynamic getTopLevelInterface([Function responseFactory = null]) {
 | 
| +    return _notifications_NotificationService__();
 | 
| +  }
 | 
| +  dynamic getTypeDefinition(String typeKey,[Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions()[typeKey];
 | 
| +  }
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory = null]) {
 | 
| +    return getAllMojomTypeDefinitions();
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  abstract class NotificationService {
 | 
|    void post(NotificationData notificationData, Object client, Object notification);
 | 
|  
 | 
| @@ -820,6 +1001,9 @@ class NotificationServiceProxyImpl extends bindings.Proxy {
 | 
|  
 | 
|    String get name => NotificationServiceName;
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _NotificationServiceServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -967,6 +1151,86 @@ class NotificationServiceStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _NotificationServiceServiceDescription();
 | 
| +}
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +
 | 
| +var _MojomDesc__ = _initDescriptions();
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> _initDescriptions() {
 | 
| +  var map = new Map<String, mojom_types.UserDefinedType>();
 | 
| +  
 | 
| +  map["_notifications_NotificationData__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _notifications_NotificationData__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_notifications_NotificationClient_OnSelected_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _notifications_NotificationClient_OnSelected_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_notifications_NotificationClient_OnDismissed_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _notifications_NotificationClient_OnDismissed_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_notifications_Notification_Update_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _notifications_Notification_Update_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_notifications_Notification_Cancel_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _notifications_Notification_Cancel_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  map["_notifications_NotificationService_Post_Params__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..structType = _notifications_NotificationService_Post_Params__();
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  map["_notifications_NotificationClient__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _notifications_NotificationClient__();
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +
 | 
| +  
 | 
| +  
 | 
| +  
 | 
| +  map["_notifications_NotificationService__"] =
 | 
| +    new mojom_types.UserDefinedType()
 | 
| +      ..interfaceType = _notifications_NotificationService__();
 | 
| +
 | 
| +  return map;
 | 
| +}
 | 
| +
 | 
| +Map<String, mojom_types.UserDefinedType> getAllMojomTypeDefinitions() {
 | 
| +  return _MojomDesc__;
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |