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

Unified Diff: mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl

Issue 2820783002: Add associated interfaces & bindings. (Closed)
Patch Set: Change Router.prototype.accept. Add a TODO for endpoint client not attached. Created 3 years, 8 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/public/tools/bindings/generators/js_templates/interface_definition.tmpl
diff --git a/mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl b/mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl
index 11e319c1f7c819840a6f2a323f1021f2acacce8f..85d95d6a62822f6658c9c4e993c07bff4ee9f0be 100644
--- a/mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl
+++ b/mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl
@@ -7,6 +7,16 @@
handleOrPtrInfo);
}
+ function Associated{{interface.name}}Ptr(associatedInterfacePtrInfo) {
+ this.ptr = new associatedBindings.AssociatedInterfacePtrController(
+ {{interface.name}}, associatedInterfacePtrInfo);
+ }
+
+ Associated{{interface.name}}Ptr.prototype =
+ Object.create({{interface.name}}Ptr.prototype);
+ Associated{{interface.name}}Ptr.prototype.constructor =
+ Associated{{interface.name}}Ptr;
+
function {{interface.name}}Proxy(receiver) {
this.receiver_ = receiver;
}
@@ -28,19 +38,34 @@
{%- endfor %}
{%- if method.response_parameters == None %}
- var builder = new codec.MessageBuilder(
+{%- if method|method_passes_associated_kinds and not use_new_js_bindings %}
+ var builder = new codec.MessageV2Builder(
+ k{{interface.name}}_{{method.name}}_Name,
+ codec.align({{interface.name}}_{{method.name}}_Params.encodedSize));
+ builder.setPayload({{interface.name}}_{{method.name}}_Params, params);
+{%- else %}
+ var builder = new codec.MessageV0Builder(
k{{interface.name}}_{{method.name}}_Name,
codec.align({{interface.name}}_{{method.name}}_Params.encodedSize));
builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
+{%- endif %}
var message = builder.finish();
this.receiver_.accept(message);
{%- else %}
return new Promise(function(resolve, reject) {
- var builder = new codec.MessageWithRequestIDBuilder(
+{%- if method|method_passes_associated_kinds and not use_new_js_bindings %}
+ var builder = new codec.MessageV2Builder(
+ k{{interface.name}}_{{method.name}}_Name,
+ codec.align({{interface.name}}_{{method.name}}_Params.encodedSize),
+ codec.kMessageExpectsResponse, 0);
+ builder.setPayload({{interface.name}}_{{method.name}}_Params, params);
+{%- else %}
+ var builder = new codec.MessageV1Builder(
k{{interface.name}}_{{method.name}}_Name,
codec.align({{interface.name}}_{{method.name}}_Params.encodedSize),
codec.kMessageExpectsResponse, 0);
builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
+{%- endif %}
var message = builder.finish();
this.receiver_.acceptAndExpectResponse(message).then(function(message) {
var reader = new codec.MessageReader(message);
@@ -102,12 +127,22 @@ params.{{parameter.name}}{% if not loop.last %}, {% endif -%}
{%- for parameter in method.response_parameters %}
responseParams.{{parameter.name}} = response.{{parameter.name}};
{%- endfor %}
- var builder = new codec.MessageWithRequestIDBuilder(
+{%- if method|method_passes_associated_kinds and not use_new_js_bindings %}
+ var builder = new codec.MessageV2Builder(
+ k{{interface.name}}_{{method.name}}_Name,
+ codec.align({{interface.name}}_{{method.name}}_ResponseParams
+ .encodedSize),
+ codec.kMessageIsResponse, reader.requestID);
+ builder.setPayload({{interface.name}}_{{method.name}}_ResponseParams,
+ responseParams);
+{%- else %}
+ var builder = new codec.MessageV1Builder(
k{{interface.name}}_{{method.name}}_Name,
codec.align({{interface.name}}_{{method.name}}_ResponseParams.encodedSize),
codec.kMessageIsResponse, reader.requestID);
builder.encodeStruct({{interface.name}}_{{method.name}}_ResponseParams,
responseParams);
+{%- endif %}
var message = builder.finish();
responder.accept(message);
});
« no previous file with comments | « mojo/public/js/validator.js ('k') | mojo/public/tools/bindings/generators/js_templates/module_definition.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698