| Index: mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart
|
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart
|
| index a0fa2d06b6e095615fddffb64a716f3725139a05..9cc565e69d658cc43eb7dbe207268f52b6945071 100644
|
| --- a/mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart
|
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart
|
| @@ -344,6 +344,141 @@ class ViewTreeOnRootUnavailableResponseParams extends bindings.Struct {
|
|
|
|
|
|
|
| +class _ViewTreeHostGetTokenParams extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(8, 0)
|
| + ];
|
| +
|
| + _ViewTreeHostGetTokenParams() : super(kVersions.last.size);
|
| +
|
| + static _ViewTreeHostGetTokenParams deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static _ViewTreeHostGetTokenParams decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + _ViewTreeHostGetTokenParams result = new _ViewTreeHostGetTokenParams();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + encoder.getStructEncoderAtOffset(kVersions.last);
|
| + }
|
| +
|
| + String toString() {
|
| + return "_ViewTreeHostGetTokenParams("")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +
|
| +
|
| +class ViewTreeHostGetTokenResponseParams extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(16, 0)
|
| + ];
|
| + ViewTreeToken token = null;
|
| +
|
| + ViewTreeHostGetTokenResponseParams() : super(kVersions.last.size);
|
| +
|
| + static ViewTreeHostGetTokenResponseParams deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static ViewTreeHostGetTokenResponseParams decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + ViewTreeHostGetTokenResponseParams result = new ViewTreeHostGetTokenResponseParams();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(8, false);
|
| + result.token = ViewTreeToken.decode(decoder1);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| + try {
|
| + encoder0.encodeStruct(token, 8, false);
|
| + } on bindings.MojoCodecError catch(e) {
|
| + e.message = "Error encountered while encoding field "
|
| + "token of struct ViewTreeHostGetTokenResponseParams: $e";
|
| + rethrow;
|
| + }
|
| + }
|
| +
|
| + String toString() {
|
| + return "ViewTreeHostGetTokenResponseParams("
|
| + "token: $token" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["token"] = token;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +
|
| +
|
| class _ViewTreeHostGetServiceProviderParams extends bindings.Struct {
|
| static const List<bindings.StructDataHeader> kVersions = const [
|
| const bindings.StructDataHeader(16, 0)
|
| @@ -482,7 +617,7 @@ class _ViewTreeHostSetRootParams extends bindings.Struct {
|
| const bindings.StructDataHeader(24, 0)
|
| ];
|
| int rootKey = 0;
|
| - views_mojom.ViewToken rootViewToken = null;
|
| + Object rootViewOwner = null;
|
|
|
| _ViewTreeHostSetRootParams() : super(kVersions.last.size);
|
|
|
| @@ -525,8 +660,7 @@ class _ViewTreeHostSetRootParams extends bindings.Struct {
|
| }
|
| if (mainDataHeader.version >= 0) {
|
|
|
| - var decoder1 = decoder0.decodePointer(16, false);
|
| - result.rootViewToken = views_mojom.ViewToken.decode(decoder1);
|
| + result.rootViewOwner = decoder0.decodeServiceInterface(12, false, views_mojom.ViewOwnerProxy.newFromEndpoint);
|
| }
|
| return result;
|
| }
|
| @@ -541,10 +675,10 @@ class _ViewTreeHostSetRootParams extends bindings.Struct {
|
| rethrow;
|
| }
|
| try {
|
| - encoder0.encodeStruct(rootViewToken, 16, false);
|
| + encoder0.encodeInterface(rootViewOwner, 12, false);
|
| } on bindings.MojoCodecError catch(e) {
|
| e.message = "Error encountered while encoding field "
|
| - "rootViewToken of struct _ViewTreeHostSetRootParams: $e";
|
| + "rootViewOwner of struct _ViewTreeHostSetRootParams: $e";
|
| rethrow;
|
| }
|
| }
|
| @@ -552,14 +686,12 @@ class _ViewTreeHostSetRootParams extends bindings.Struct {
|
| String toString() {
|
| return "_ViewTreeHostSetRootParams("
|
| "rootKey: $rootKey" ", "
|
| - "rootViewToken: $rootViewToken" ")";
|
| + "rootViewOwner: $rootViewOwner" ")";
|
| }
|
|
|
| Map toJson() {
|
| - Map map = new Map();
|
| - map["rootKey"] = rootKey;
|
| - map["rootViewToken"] = rootViewToken;
|
| - return map;
|
| + throw new bindings.MojoCodecError(
|
| + 'Object containing handles cannot be encoded to JSON.');
|
| }
|
| }
|
|
|
| @@ -568,8 +700,9 @@ class _ViewTreeHostSetRootParams extends bindings.Struct {
|
|
|
| class _ViewTreeHostResetRootParams extends bindings.Struct {
|
| static const List<bindings.StructDataHeader> kVersions = const [
|
| - const bindings.StructDataHeader(8, 0)
|
| + const bindings.StructDataHeader(16, 0)
|
| ];
|
| + Object transferredViewOwner = null;
|
|
|
| _ViewTreeHostResetRootParams() : super(kVersions.last.size);
|
|
|
| @@ -606,20 +739,32 @@ class _ViewTreeHostResetRootParams extends bindings.Struct {
|
| 'Message newer than the last known version cannot be shorter than '
|
| 'required by the last known version.');
|
| }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.transferredViewOwner = decoder0.decodeInterfaceRequest(8, true, views_mojom.ViewOwnerStub.newFromEndpoint);
|
| + }
|
| return result;
|
| }
|
|
|
| void encode(bindings.Encoder encoder) {
|
| - encoder.getStructEncoderAtOffset(kVersions.last);
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| + try {
|
| + encoder0.encodeInterfaceRequest(transferredViewOwner, 8, true);
|
| + } on bindings.MojoCodecError catch(e) {
|
| + e.message = "Error encountered while encoding field "
|
| + "transferredViewOwner of struct _ViewTreeHostResetRootParams: $e";
|
| + rethrow;
|
| + }
|
| }
|
|
|
| String toString() {
|
| - return "_ViewTreeHostResetRootParams("")";
|
| + return "_ViewTreeHostResetRootParams("
|
| + "transferredViewOwner: $transferredViewOwner" ")";
|
| }
|
|
|
| Map toJson() {
|
| - Map map = new Map();
|
| - return map;
|
| + throw new bindings.MojoCodecError(
|
| + 'Object containing handles cannot be encoded to JSON.');
|
| }
|
| }
|
|
|
| @@ -1057,11 +1202,12 @@ class ViewTreeStub extends bindings.Stub {
|
| new _ViewTreeServiceDescription();
|
| }
|
|
|
| -const int _ViewTreeHost_getServiceProviderName = 0;
|
| -const int _ViewTreeHost_requestLayoutName = 1;
|
| -const int _ViewTreeHost_setRootName = 2;
|
| -const int _ViewTreeHost_resetRootName = 3;
|
| -const int _ViewTreeHost_layoutRootName = 4;
|
| +const int _ViewTreeHost_getTokenName = 0;
|
| +const int _ViewTreeHost_getServiceProviderName = 1;
|
| +const int _ViewTreeHost_requestLayoutName = 2;
|
| +const int _ViewTreeHost_setRootName = 3;
|
| +const int _ViewTreeHost_resetRootName = 4;
|
| +const int _ViewTreeHost_layoutRootName = 5;
|
|
|
|
|
|
|
| @@ -1075,10 +1221,11 @@ class _ViewTreeHostServiceDescription implements service_describer.ServiceDescri
|
|
|
| abstract class ViewTreeHost {
|
| static const String serviceName = null;
|
| + dynamic getToken([Function responseFactory = null]);
|
| void getServiceProvider(Object serviceProvider);
|
| void requestLayout();
|
| - void setRoot(int rootKey, views_mojom.ViewToken rootViewToken);
|
| - void resetRoot();
|
| + void setRoot(int rootKey, Object rootViewOwner);
|
| + void resetRoot(Object transferredViewOwner);
|
| dynamic layoutRoot(layouts_mojom.ViewLayoutParams rootLayoutParams,[Function responseFactory = null]);
|
| }
|
|
|
| @@ -1103,6 +1250,26 @@ class _ViewTreeHostProxyImpl extends bindings.Proxy {
|
|
|
| void handleResponse(bindings.ServiceMessage message) {
|
| switch (message.header.type) {
|
| + case _ViewTreeHost_getTokenName:
|
| + var r = ViewTreeHostGetTokenResponseParams.deserialize(
|
| + message.payload);
|
| + if (!message.header.hasRequestId) {
|
| + proxyError("Expected a message with a valid request Id.");
|
| + return;
|
| + }
|
| + Completer c = completerMap[message.header.requestId];
|
| + if (c == null) {
|
| + proxyError(
|
| + "Message had unknown request Id: ${message.header.requestId}");
|
| + return;
|
| + }
|
| + completerMap.remove(message.header.requestId);
|
| + if (c.isCompleted) {
|
| + proxyError("Response completer already completed");
|
| + return;
|
| + }
|
| + c.complete(r);
|
| + break;
|
| case _ViewTreeHost_layoutRootName:
|
| var r = ViewTreeHostLayoutRootResponseParams.deserialize(
|
| message.payload);
|
| @@ -1141,6 +1308,14 @@ class _ViewTreeHostProxyCalls implements ViewTreeHost {
|
| _ViewTreeHostProxyImpl _proxyImpl;
|
|
|
| _ViewTreeHostProxyCalls(this._proxyImpl);
|
| + dynamic getToken([Function responseFactory = null]) {
|
| + var params = new _ViewTreeHostGetTokenParams();
|
| + return _proxyImpl.sendMessageWithRequestId(
|
| + params,
|
| + _ViewTreeHost_getTokenName,
|
| + -1,
|
| + bindings.MessageHeader.kMessageExpectsResponse);
|
| + }
|
| void getServiceProvider(Object serviceProvider) {
|
| if (!_proxyImpl.isBound) {
|
| _proxyImpl.proxyError("The Proxy is closed.");
|
| @@ -1158,22 +1333,23 @@ class _ViewTreeHostProxyCalls implements ViewTreeHost {
|
| var params = new _ViewTreeHostRequestLayoutParams();
|
| _proxyImpl.sendMessage(params, _ViewTreeHost_requestLayoutName);
|
| }
|
| - void setRoot(int rootKey, views_mojom.ViewToken rootViewToken) {
|
| + void setRoot(int rootKey, Object rootViewOwner) {
|
| if (!_proxyImpl.isBound) {
|
| _proxyImpl.proxyError("The Proxy is closed.");
|
| return;
|
| }
|
| var params = new _ViewTreeHostSetRootParams();
|
| params.rootKey = rootKey;
|
| - params.rootViewToken = rootViewToken;
|
| + params.rootViewOwner = rootViewOwner;
|
| _proxyImpl.sendMessage(params, _ViewTreeHost_setRootName);
|
| }
|
| - void resetRoot() {
|
| + void resetRoot(Object transferredViewOwner) {
|
| if (!_proxyImpl.isBound) {
|
| _proxyImpl.proxyError("The Proxy is closed.");
|
| return;
|
| }
|
| var params = new _ViewTreeHostResetRootParams();
|
| + params.transferredViewOwner = transferredViewOwner;
|
| _proxyImpl.sendMessage(params, _ViewTreeHost_resetRootName);
|
| }
|
| dynamic layoutRoot(layouts_mojom.ViewLayoutParams rootLayoutParams,[Function responseFactory = null]) {
|
| @@ -1266,6 +1442,11 @@ class ViewTreeHostStub extends bindings.Stub {
|
| }
|
|
|
|
|
| + ViewTreeHostGetTokenResponseParams _ViewTreeHostGetTokenResponseParamsFactory(ViewTreeToken token) {
|
| + var mojo_factory_result = new ViewTreeHostGetTokenResponseParams();
|
| + mojo_factory_result.token = token;
|
| + return mojo_factory_result;
|
| + }
|
| ViewTreeHostLayoutRootResponseParams _ViewTreeHostLayoutRootResponseParamsFactory(layouts_mojom.ViewLayoutInfo info) {
|
| var mojo_factory_result = new ViewTreeHostLayoutRootResponseParams();
|
| mojo_factory_result.info = info;
|
| @@ -1280,6 +1461,28 @@ class ViewTreeHostStub extends bindings.Stub {
|
| }
|
| assert(_impl != null);
|
| switch (message.header.type) {
|
| + case _ViewTreeHost_getTokenName:
|
| + var params = _ViewTreeHostGetTokenParams.deserialize(
|
| + message.payload);
|
| + var response = _impl.getToken(_ViewTreeHostGetTokenResponseParamsFactory);
|
| + if (response is Future) {
|
| + return response.then((response) {
|
| + if (response != null) {
|
| + return buildResponseWithId(
|
| + response,
|
| + _ViewTreeHost_getTokenName,
|
| + message.header.requestId,
|
| + bindings.MessageHeader.kMessageIsResponse);
|
| + }
|
| + });
|
| + } else if (response != null) {
|
| + return buildResponseWithId(
|
| + response,
|
| + _ViewTreeHost_getTokenName,
|
| + message.header.requestId,
|
| + bindings.MessageHeader.kMessageIsResponse);
|
| + }
|
| + break;
|
| case _ViewTreeHost_getServiceProviderName:
|
| var params = _ViewTreeHostGetServiceProviderParams.deserialize(
|
| message.payload);
|
| @@ -1293,12 +1496,12 @@ class ViewTreeHostStub extends bindings.Stub {
|
| case _ViewTreeHost_setRootName:
|
| var params = _ViewTreeHostSetRootParams.deserialize(
|
| message.payload);
|
| - _impl.setRoot(params.rootKey, params.rootViewToken);
|
| + _impl.setRoot(params.rootKey, params.rootViewOwner);
|
| break;
|
| case _ViewTreeHost_resetRootName:
|
| var params = _ViewTreeHostResetRootParams.deserialize(
|
| message.payload);
|
| - _impl.resetRoot();
|
| + _impl.resetRoot(params.transferredViewOwner);
|
| break;
|
| case _ViewTreeHost_layoutRootName:
|
| var params = _ViewTreeHostLayoutRootParams.deserialize(
|
|
|