| Index: mojo/public/interfaces/bindings/mojom_types.mojom
|
| diff --git a/mojo/public/interfaces/bindings/mojom_types.mojom b/mojo/public/interfaces/bindings/mojom_types.mojom
|
| index c4ea2a39ca4b46dd94108be2a665155a377fddd1..e59e080d1ff7809cfaedb1041e8db8798b3a6d81 100644
|
| --- a/mojo/public/interfaces/bindings/mojom_types.mojom
|
| +++ b/mojo/public/interfaces/bindings/mojom_types.mojom
|
| @@ -41,7 +41,7 @@ module mojo.bindings.types;
|
| * file. A |Value| may be a LiteralValue, a UserValueReference or a
|
| * BuiltinConstantValue. Similarly to the situation with TypeReferences,
|
| * UserValueReferences contain a |value_key| which may be used to lookup
|
| - * a UserDefinedValue (an EnumValue or a UserDefinedConstant) in
|
| + * a UserDefinedValue (an EnumValue or a DeclaredConstant) in
|
| * the owning context. For example the |MojomFileGraph| struct in
|
| * mojom_files.mojom contains the map:
|
| * map<string, UserDefinedValue> resolved_values;
|
| @@ -226,6 +226,10 @@ struct UnionField {
|
|
|
| Type type;
|
| uint32 tag;
|
| +
|
| + // The minimum version of the containing union that includes this field.
|
| + // The earliest version is version 0.
|
| + uint32 min_version;
|
| };
|
|
|
| struct MojomUnion {
|
| @@ -244,14 +248,20 @@ struct EnumValue {
|
|
|
| // This is the value specified in the right-hand-side of the optional
|
| // initializer of an enum value declaration. The value must be a literal value
|
| - // of integer type or a UserValueReference whose |resolved_concrete_value| is
|
| - // one of those.
|
| + // of integer type or a UserValueReference that resolves to a different
|
| + // EnumValue from the same enum that was defined earlier lexically,
|
| + // or a UserValueReference that resolves to
|
| + // a DeclaredConstant whose |resolved_concrete_value| is one of those.
|
| Value? initializer_value;
|
|
|
| // The resolved concrete integer value corresponding to this enum value.
|
| // This number is computed based on the |specified_value|s of all of the
|
| // EnumValues in a MojomEnum.
|
| int32 int_value;
|
| +
|
| + // The minimum version of the containing MojomEnum that includes this value.
|
| + // The earliest version is version 0.
|
| + uint32 min_version;
|
| };
|
|
|
| struct MojomEnum {
|
| @@ -272,6 +282,10 @@ struct MojomMethod {
|
| MojomStruct? response_params;
|
|
|
| uint32 ordinal;
|
| +
|
| + // The minimum version of the containing interface that includes this method.
|
| + // The earliest version is version 0.
|
| + uint32 min_version;
|
| };
|
|
|
| struct MojomInterface {
|
| @@ -289,6 +303,14 @@ struct MojomInterface {
|
|
|
| // All the methods in the interface. The keys are the method ordinals.
|
| map<uint32, MojomMethod> methods;
|
| +
|
| + // This value is the least integer that is at least as great as all of the
|
| + // |min_version| fields in all of the methods and parameters in this
|
| + // interface. In more detail it is the maximum of the |min_version| fields of
|
| + // each MojomMethod in this interface, and the |min_version| fields of each
|
| + // StructField of each MojomStruct in the |params| and |response_params|
|
| + // fields of each MojomMethod in this interface.
|
| + uint32 current_version;
|
| };
|
|
|
| ////////////////////////////////////////////////////////////////////////////
|
| @@ -343,18 +365,6 @@ struct UserValueReference {
|
| // an instance of |UserDefinedValue| and so an EnumValue or
|
| // DeclaredConstant.
|
| string? value_key;
|
| -
|
| - // The resolved concrete value. This must be a LiteralValue or a
|
| - // BuiltinConstantValue, not a UserValueReference. The resolved
|
| - // concrete value is defined as follows: If |value_key| refers to an
|
| - // EnumValue then |resolved_concrete_value| is the |int_value| of that
|
| - // EnumValue. If |value_key| referes to a DeclaredConstant then
|
| - // |resolved_concrete_value| is defined recursively to be the resolved
|
| - // concrete value of the DeclaredConstant's |value|.
|
| -
|
| - // This field is not-populated and should not be read. It will be removed
|
| - // in the future. See DeclaredConstant.resolved_concrete_value.
|
| - Value? resolved_concrete_value;
|
| };
|
|
|
| union UserDefinedValue {
|
| @@ -410,10 +420,6 @@ struct Attribute {
|
| struct DeclarationData {
|
| array<Attribute>? attributes;
|
|
|
| - // The value of the "MinVersion" attribute, if any. This field is
|
| - // for convenience as it can also be parsed from the |attributes| field.
|
| - int32 min_version = -1; // Negative value means unset.
|
| -
|
| string? short_name; // Some implementations may not provide names.
|
|
|
| // The fully-qualified identifier is the concatenation of the names of the
|
|
|