| 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..c4400ea0325cf3ae7b2f40eb3ac4ebef35eb108a 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,11 @@
|
| handleOrPtrInfo);
|
| }
|
|
|
| + function Associated{{interface.name}}Ptr(associatedInterfacePtrInfo) {
|
| + this.ptr = new associatedBindings.AssociatedInterfacePtrController(
|
| + {{interface.name}}, associatedInterfacePtrInfo);
|
| + }
|
| +
|
| function {{interface.name}}Proxy(receiver) {
|
| this.receiver_ = receiver;
|
| }
|
| @@ -17,6 +22,11 @@
|
| .apply(this.ptr.getProxy(), arguments);
|
| };
|
|
|
| + Associated{{interface.name}}Ptr.prototype.{{method.name|stylize_method}} = function() {
|
| + return {{interface.name}}Proxy.prototype.{{method.name|stylize_method}}
|
| + .apply(this.ptr.getProxy(), arguments);
|
| + };
|
| +
|
| {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
|
| {%- for parameter in method.parameters -%}
|
| {{parameter.name}}{% if not loop.last %}, {% endif %}
|
| @@ -28,19 +38,34 @@
|
| {%- endfor %}
|
|
|
| {%- if method.response_parameters == None %}
|
| +{%- 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.MessageBuilder(
|
| 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) {
|
| +{%- 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.MessageWithRequestIDBuilder(
|
| 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,21 @@ params.{{parameter.name}}{% if not loop.last %}, {% endif -%}
|
| {%- for parameter in method.response_parameters %}
|
| responseParams.{{parameter.name}} = response.{{parameter.name}};
|
| {%- endfor %}
|
| +{%- 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.MessageWithRequestIDBuilder(
|
| 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);
|
| });
|
|
|