| 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 391d375e1e6688cc5ed04585dc75aef22ee6939e..1212dae59ffc259a6a61a9bcb34ef14514cf56ec 100644
|
| --- a/mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl
|
| +++ b/mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl
|
| @@ -103,6 +103,24 @@ params.{{parameter.name}}{% if not loop.last %}, {% endif -%}
|
| }
|
| };
|
|
|
| + function {{interface.name}}DelegatingStub() {
|
| + }
|
| +
|
| + {{interface.name}}DelegatingStub.prototype =
|
| + Object.create({{interface.name}}Stub.prototype);
|
| +
|
| + {{interface.name}}DelegatingStub.prototype.callDelegateMethod$ = function(methodName, args) {
|
| + var method = this.delegate$ && this.delegate$[methodName];
|
| + return method && method.apply(this.delegate$, args);
|
| + }
|
| +
|
| +{%- for method in interface.methods %}
|
| +{%- set method_name = method.name|stylize_method %}
|
| + {{interface.name}}DelegatingStub.prototype.{{method_name}} = function() {
|
| + return this.callDelegateMethod$("{{method_name}}", arguments);
|
| + }
|
| +{%- endfor %}
|
| +
|
| {#--- Validation #}
|
|
|
| function validate{{interface.name}}Request(messageValidator) {
|
| @@ -156,6 +174,7 @@ params.{{parameter.name}}{% if not loop.last %}, {% endif -%}
|
| name: '{{namespace|replace(".","::")}}::{{interface.name}}',
|
| proxyClass: {{interface.name}}Proxy,
|
| stubClass: {{interface.name}}Stub,
|
| + delegatingStubClass: {{interface.name}}DelegatingStub,
|
| validateRequest: validate{{interface.name}}Request,
|
| {%- if interface|has_callbacks %}
|
| validateResponse: validate{{interface.name}}Response,
|
|
|