| Index: mojo/dart/packages/mojo_services/lib/keyboard/keyboard.mojom.dart
 | 
| diff --git a/mojo/dart/packages/mojo_services/lib/keyboard/keyboard.mojom.dart b/mojo/dart/packages/mojo_services/lib/keyboard/keyboard.mojom.dart
 | 
| index a96ed8d398dd076a6923fef31d4f03bea74388ae..4ab337d30368505b16320d4ac6d817180635bc9c 100644
 | 
| --- a/mojo/dart/packages/mojo_services/lib/keyboard/keyboard.mojom.dart
 | 
| +++ b/mojo/dart/packages/mojo_services/lib/keyboard/keyboard.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/bindings/types/mojom_types.mojom.dart' as mojom_types;
 | 
| +import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as service_describer;
 | 
|  import 'package:mojo_services/mojo/native_viewport.mojom.dart' as native_viewport_mojom;
 | 
|  
 | 
|  class SubmitAction extends bindings.MojoEnum {
 | 
| @@ -47,12 +49,16 @@ class SubmitAction extends bindings.MojoEnum {
 | 
|      switch(this) {
 | 
|        case done:
 | 
|          return 'SubmitAction.done';
 | 
| +      default:
 | 
| +        return null;
 | 
|      }
 | 
|    }
 | 
|  
 | 
|    int toJson() => mojoEnumValue;
 | 
|  }
 | 
|  
 | 
| +
 | 
| +
 | 
|  class KeyboardType extends bindings.MojoEnum {
 | 
|    static const KeyboardType text = const KeyboardType._(0);
 | 
|    static const KeyboardType number = const KeyboardType._(1);
 | 
| @@ -111,6 +117,8 @@ class KeyboardType extends bindings.MojoEnum {
 | 
|          return 'KeyboardType.phone';
 | 
|        case datetime:
 | 
|          return 'KeyboardType.datetime';
 | 
| +      default:
 | 
| +        return null;
 | 
|      }
 | 
|    }
 | 
|  
 | 
| @@ -119,6 +127,8 @@ class KeyboardType extends bindings.MojoEnum {
 | 
|  
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class CompletionData extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(40, 0)
 | 
| @@ -213,6 +223,8 @@ class CompletionData extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class CorrectionData extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(32, 0)
 | 
| @@ -298,6 +310,8 @@ class CorrectionData extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientCommitCompletionParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -366,6 +380,8 @@ class _KeyboardClientCommitCompletionParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientCommitCorrectionParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -434,6 +450,8 @@ class _KeyboardClientCommitCorrectionParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientCommitTextParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(24, 0)
 | 
| @@ -510,6 +528,8 @@ class _KeyboardClientCommitTextParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientDeleteSurroundingTextParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -586,6 +606,8 @@ class _KeyboardClientDeleteSurroundingTextParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientSetComposingRegionParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -662,6 +684,8 @@ class _KeyboardClientSetComposingRegionParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientSetComposingTextParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(24, 0)
 | 
| @@ -738,6 +762,8 @@ class _KeyboardClientSetComposingTextParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientSetSelectionParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -814,6 +840,8 @@ class _KeyboardClientSetSelectionParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardClientSubmitParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -885,6 +913,8 @@ class _KeyboardClientSubmitParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardServiceShowParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(24, 0)
 | 
| @@ -963,6 +993,8 @@ class _KeyboardServiceShowParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardServiceShowByRequestParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(8, 0)
 | 
| @@ -1021,6 +1053,8 @@ class _KeyboardServiceShowByRequestParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardServiceHideParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(8, 0)
 | 
| @@ -1079,6 +1113,8 @@ class _KeyboardServiceHideParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardServiceSetTextParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -1146,6 +1182,8 @@ class _KeyboardServiceSetTextParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardServiceSetSelectionParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -1222,6 +1260,8 @@ class _KeyboardServiceSetSelectionParams extends bindings.Struct {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| +
 | 
|  class _KeyboardServiceFactoryCreateKeyboardServiceParams extends bindings.Struct {
 | 
|    static const List<bindings.StructDataHeader> kVersions = const [
 | 
|      const bindings.StructDataHeader(16, 0)
 | 
| @@ -1295,6 +1335,9 @@ class _KeyboardServiceFactoryCreateKeyboardServiceParams extends bindings.Struct
 | 
|    }
 | 
|  }
 | 
|  
 | 
| +
 | 
| +
 | 
| +
 | 
|  const int _KeyboardClient_commitCompletionName = 0;
 | 
|  const int _KeyboardClient_commitCorrectionName = 1;
 | 
|  const int _KeyboardClient_commitTextName = 2;
 | 
| @@ -1304,6 +1347,16 @@ const int _KeyboardClient_setComposingTextName = 5;
 | 
|  const int _KeyboardClient_setSelectionName = 6;
 | 
|  const int _KeyboardClient_submitName = 7;
 | 
|  
 | 
| +
 | 
| +
 | 
| +class _KeyboardClientServiceDescription implements service_describer.ServiceDescription {
 | 
| +  dynamic getTopLevelInterface([Function responseFactory]) => null;
 | 
| +
 | 
| +  dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => null;
 | 
| +
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory]) => null;
 | 
| +}
 | 
| +
 | 
|  abstract class KeyboardClient {
 | 
|    static const String serviceName = null;
 | 
|    void commitCompletion(CompletionData completion);
 | 
| @@ -1332,6 +1385,9 @@ class _KeyboardClientProxyImpl extends bindings.Proxy {
 | 
|      return new _KeyboardClientProxyImpl.fromEndpoint(endpoint);
 | 
|    }
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _KeyboardClientServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -1578,6 +1634,9 @@ class KeyboardClientStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _KeyboardClientServiceDescription();
 | 
|  }
 | 
|  
 | 
|  const int _KeyboardService_showName = 0;
 | 
| @@ -1586,6 +1645,16 @@ const int _KeyboardService_hideName = 2;
 | 
|  const int _KeyboardService_setTextName = 3;
 | 
|  const int _KeyboardService_setSelectionName = 4;
 | 
|  
 | 
| +
 | 
| +
 | 
| +class _KeyboardServiceServiceDescription implements service_describer.ServiceDescription {
 | 
| +  dynamic getTopLevelInterface([Function responseFactory]) => null;
 | 
| +
 | 
| +  dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => null;
 | 
| +
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory]) => null;
 | 
| +}
 | 
| +
 | 
|  abstract class KeyboardService {
 | 
|    static const String serviceName = "keyboard::KeyboardService";
 | 
|    void show(Object client, KeyboardType type);
 | 
| @@ -1611,6 +1680,9 @@ class _KeyboardServiceProxyImpl extends bindings.Proxy {
 | 
|      return new _KeyboardServiceProxyImpl.fromEndpoint(endpoint);
 | 
|    }
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _KeyboardServiceServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -1810,10 +1882,23 @@ class KeyboardServiceStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _KeyboardServiceServiceDescription();
 | 
|  }
 | 
|  
 | 
|  const int _KeyboardServiceFactory_createKeyboardServiceName = 0;
 | 
|  
 | 
| +
 | 
| +
 | 
| +class _KeyboardServiceFactoryServiceDescription implements service_describer.ServiceDescription {
 | 
| +  dynamic getTopLevelInterface([Function responseFactory]) => null;
 | 
| +
 | 
| +  dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => null;
 | 
| +
 | 
| +  dynamic getAllTypeDefinitions([Function responseFactory]) => null;
 | 
| +}
 | 
| +
 | 
|  abstract class KeyboardServiceFactory {
 | 
|    static const String serviceName = "keyboard::KeyboardServiceFactory";
 | 
|    void createKeyboardService(Object keyEventDispatcher, Object serviceRequest);
 | 
| @@ -1835,6 +1920,9 @@ class _KeyboardServiceFactoryProxyImpl extends bindings.Proxy {
 | 
|      return new _KeyboardServiceFactoryProxyImpl.fromEndpoint(endpoint);
 | 
|    }
 | 
|  
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _KeyboardServiceFactoryServiceDescription();
 | 
| +
 | 
|    void handleResponse(bindings.ServiceMessage message) {
 | 
|      switch (message.header.type) {
 | 
|        default:
 | 
| @@ -1979,6 +2067,10 @@ class KeyboardServiceFactoryStub extends bindings.Stub {
 | 
|    }
 | 
|  
 | 
|    int get version => 0;
 | 
| +
 | 
| +  service_describer.ServiceDescription get serviceDescription =>
 | 
| +    new _KeyboardServiceFactoryServiceDescription();
 | 
|  }
 | 
|  
 | 
|  
 | 
| +
 | 
| 
 |