Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(229)

Unified Diff: mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart

Issue 1679023006: Reify view ownership as a message pipe. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart
diff --git a/mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart
index f1d603aa3b1b7e87e953e37d899b821f7e4aaa8e..6c95ce3e74a2aabb647b76f1e5b201b58ab0b602 100644
--- a/mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart
+++ b/mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart
@@ -23,6 +23,7 @@ class _ViewManagerRegisterViewParams extends bindings.Struct {
];
Object view = null;
Object viewHost = null;
+ Object viewOwner = null;
String label = null;
_ViewManagerRegisterViewParams() : super(kVersions.last.size);
@@ -70,6 +71,10 @@ class _ViewManagerRegisterViewParams extends bindings.Struct {
}
if (mainDataHeader.version >= 0) {
+ result.viewOwner = decoder0.decodeInterfaceRequest(20, false, views_mojom.ViewOwnerStub.newFromEndpoint);
+ }
+ if (mainDataHeader.version >= 0) {
+
result.label = decoder0.decodeString(24, true);
}
return result;
@@ -92,6 +97,13 @@ class _ViewManagerRegisterViewParams extends bindings.Struct {
rethrow;
}
try {
+ encoder0.encodeInterfaceRequest(viewOwner, 20, false);
+ } on bindings.MojoCodecError catch(e) {
+ e.message = "Error encountered while encoding field "
+ "viewOwner of struct _ViewManagerRegisterViewParams: $e";
+ rethrow;
+ }
+ try {
encoder0.encodeString(label, 24, true);
} on bindings.MojoCodecError catch(e) {
e.message = "Error encountered while encoding field "
@@ -104,6 +116,7 @@ class _ViewManagerRegisterViewParams extends bindings.Struct {
return "_ViewManagerRegisterViewParams("
"view: $view" ", "
"viewHost: $viewHost" ", "
+ "viewOwner: $viewOwner" ", "
"label: $label" ")";
}
@@ -116,81 +129,6 @@ class _ViewManagerRegisterViewParams extends bindings.Struct {
-class ViewManagerRegisterViewResponseParams extends bindings.Struct {
- static const List<bindings.StructDataHeader> kVersions = const [
- const bindings.StructDataHeader(16, 0)
- ];
- views_mojom.ViewToken viewToken = null;
-
- ViewManagerRegisterViewResponseParams() : super(kVersions.last.size);
-
- static ViewManagerRegisterViewResponseParams 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 ViewManagerRegisterViewResponseParams decode(bindings.Decoder decoder0) {
- if (decoder0 == null) {
- return null;
- }
- ViewManagerRegisterViewResponseParams result = new ViewManagerRegisterViewResponseParams();
-
- 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.viewToken = views_mojom.ViewToken.decode(decoder1);
- }
- return result;
- }
-
- void encode(bindings.Encoder encoder) {
- var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
- try {
- encoder0.encodeStruct(viewToken, 8, false);
- } on bindings.MojoCodecError catch(e) {
- e.message = "Error encountered while encoding field "
- "viewToken of struct ViewManagerRegisterViewResponseParams: $e";
- rethrow;
- }
- }
-
- String toString() {
- return "ViewManagerRegisterViewResponseParams("
- "viewToken: $viewToken" ")";
- }
-
- Map toJson() {
- Map map = new Map();
- map["viewToken"] = viewToken;
- return map;
- }
-}
-
-
-
-
class _ViewManagerRegisterViewTreeParams extends bindings.Struct {
static const List<bindings.StructDataHeader> kVersions = const [
const bindings.StructDataHeader(32, 0)
@@ -290,81 +228,6 @@ class _ViewManagerRegisterViewTreeParams extends bindings.Struct {
-class ViewManagerRegisterViewTreeResponseParams extends bindings.Struct {
- static const List<bindings.StructDataHeader> kVersions = const [
- const bindings.StructDataHeader(16, 0)
- ];
- view_trees_mojom.ViewTreeToken viewTreeToken = null;
-
- ViewManagerRegisterViewTreeResponseParams() : super(kVersions.last.size);
-
- static ViewManagerRegisterViewTreeResponseParams 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 ViewManagerRegisterViewTreeResponseParams decode(bindings.Decoder decoder0) {
- if (decoder0 == null) {
- return null;
- }
- ViewManagerRegisterViewTreeResponseParams result = new ViewManagerRegisterViewTreeResponseParams();
-
- 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.viewTreeToken = view_trees_mojom.ViewTreeToken.decode(decoder1);
- }
- return result;
- }
-
- void encode(bindings.Encoder encoder) {
- var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
- try {
- encoder0.encodeStruct(viewTreeToken, 8, false);
- } on bindings.MojoCodecError catch(e) {
- e.message = "Error encountered while encoding field "
- "viewTreeToken of struct ViewManagerRegisterViewTreeResponseParams: $e";
- rethrow;
- }
- }
-
- String toString() {
- return "ViewManagerRegisterViewTreeResponseParams("
- "viewTreeToken: $viewTreeToken" ")";
- }
-
- Map toJson() {
- Map map = new Map();
- map["viewTreeToken"] = viewTreeToken;
- return map;
- }
-}
-
-
-
-
const int _ViewManager_registerViewName = 0;
const int _ViewManager_registerViewTreeName = 1;
@@ -380,8 +243,8 @@ class _ViewManagerServiceDescription implements service_describer.ServiceDescrip
abstract class ViewManager {
static const String serviceName = "mojo::ui::ViewManager";
- dynamic registerView(Object view,Object viewHost,String label,[Function responseFactory = null]);
- dynamic registerViewTree(Object viewTree,Object viewTreeHost,String label,[Function responseFactory = null]);
+ void registerView(Object view, Object viewHost, Object viewOwner, String label);
+ void registerViewTree(Object viewTree, Object viewTreeHost, String label);
}
@@ -405,46 +268,6 @@ class _ViewManagerProxyImpl extends bindings.Proxy {
void handleResponse(bindings.ServiceMessage message) {
switch (message.header.type) {
- case _ViewManager_registerViewName:
- var r = ViewManagerRegisterViewResponseParams.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 _ViewManager_registerViewTreeName:
- var r = ViewManagerRegisterViewTreeResponseParams.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;
default:
proxyError("Unexpected message type: ${message.header.type}");
close(immediate: true);
@@ -463,27 +286,28 @@ class _ViewManagerProxyCalls implements ViewManager {
_ViewManagerProxyImpl _proxyImpl;
_ViewManagerProxyCalls(this._proxyImpl);
- dynamic registerView(Object view,Object viewHost,String label,[Function responseFactory = null]) {
+ void registerView(Object view, Object viewHost, Object viewOwner, String label) {
+ if (!_proxyImpl.isBound) {
+ _proxyImpl.proxyError("The Proxy is closed.");
+ return;
+ }
var params = new _ViewManagerRegisterViewParams();
params.view = view;
params.viewHost = viewHost;
+ params.viewOwner = viewOwner;
params.label = label;
- return _proxyImpl.sendMessageWithRequestId(
- params,
- _ViewManager_registerViewName,
- -1,
- bindings.MessageHeader.kMessageExpectsResponse);
+ _proxyImpl.sendMessage(params, _ViewManager_registerViewName);
}
- dynamic registerViewTree(Object viewTree,Object viewTreeHost,String label,[Function responseFactory = null]) {
+ void registerViewTree(Object viewTree, Object viewTreeHost, String label) {
+ if (!_proxyImpl.isBound) {
+ _proxyImpl.proxyError("The Proxy is closed.");
+ return;
+ }
var params = new _ViewManagerRegisterViewTreeParams();
params.viewTree = viewTree;
params.viewTreeHost = viewTreeHost;
params.label = label;
- return _proxyImpl.sendMessageWithRequestId(
- params,
- _ViewManager_registerViewTreeName,
- -1,
- bindings.MessageHeader.kMessageExpectsResponse);
+ _proxyImpl.sendMessage(params, _ViewManager_registerViewTreeName);
}
}
@@ -566,16 +390,6 @@ class ViewManagerStub extends bindings.Stub {
}
- ViewManagerRegisterViewResponseParams _ViewManagerRegisterViewResponseParamsFactory(views_mojom.ViewToken viewToken) {
- var mojo_factory_result = new ViewManagerRegisterViewResponseParams();
- mojo_factory_result.viewToken = viewToken;
- return mojo_factory_result;
- }
- ViewManagerRegisterViewTreeResponseParams _ViewManagerRegisterViewTreeResponseParamsFactory(view_trees_mojom.ViewTreeToken viewTreeToken) {
- var mojo_factory_result = new ViewManagerRegisterViewTreeResponseParams();
- mojo_factory_result.viewTreeToken = viewTreeToken;
- return mojo_factory_result;
- }
dynamic handleMessage(bindings.ServiceMessage message) {
if (bindings.ControlMessageHandler.isControlMessage(message)) {
@@ -588,46 +402,12 @@ class ViewManagerStub extends bindings.Stub {
case _ViewManager_registerViewName:
var params = _ViewManagerRegisterViewParams.deserialize(
message.payload);
- var response = _impl.registerView(params.view,params.viewHost,params.label,_ViewManagerRegisterViewResponseParamsFactory);
- if (response is Future) {
- return response.then((response) {
- if (response != null) {
- return buildResponseWithId(
- response,
- _ViewManager_registerViewName,
- message.header.requestId,
- bindings.MessageHeader.kMessageIsResponse);
- }
- });
- } else if (response != null) {
- return buildResponseWithId(
- response,
- _ViewManager_registerViewName,
- message.header.requestId,
- bindings.MessageHeader.kMessageIsResponse);
- }
+ _impl.registerView(params.view, params.viewHost, params.viewOwner, params.label);
break;
case _ViewManager_registerViewTreeName:
var params = _ViewManagerRegisterViewTreeParams.deserialize(
message.payload);
- var response = _impl.registerViewTree(params.viewTree,params.viewTreeHost,params.label,_ViewManagerRegisterViewTreeResponseParamsFactory);
- if (response is Future) {
- return response.then((response) {
- if (response != null) {
- return buildResponseWithId(
- response,
- _ViewManager_registerViewTreeName,
- message.header.requestId,
- bindings.MessageHeader.kMessageIsResponse);
- }
- });
- } else if (response != null) {
- return buildResponseWithId(
- response,
- _ViewManager_registerViewTreeName,
- message.header.requestId,
- bindings.MessageHeader.kMessageIsResponse);
- }
+ _impl.registerViewTree(params.viewTree, params.viewTreeHost, params.label);
break;
default:
throw new bindings.MojoCodecError("Unexpected message name");
« no previous file with comments | « examples/ui/tile/tile_view.cc ('k') | mojo/dart/packages/mojo_services/lib/mojo/ui/view_provider.mojom.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698