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

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

Issue 2549683002: Mojo JS bindings: introduce concepts that are more similar to C++ bindings: (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
1 {%- for method in interface.methods %} 1 {%- for method in interface.methods %}
2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; 2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}};
3 {%- endfor %} 3 {%- endfor %}
4 4
5 function {{interface.name}}Ptr() {
yzshen1 2016/12/02 00:22:59 As you can see, I decided to create FooPtr which i
6 bindings.InterfacePtrBase.call(this, {{interface.name}});
7 }
8 {{interface.name}}Ptr.prototype =
9 Object.create(bindings.InterfacePtrBase.prototype);
10
5 function {{interface.name}}Proxy(receiver) { 11 function {{interface.name}}Proxy(receiver) {
6 bindings.ProxyBase.call(this, receiver); 12 bindings.ProxyBase.call(this, receiver);
7 } 13 }
8 {{interface.name}}Proxy.prototype = Object.create(bindings.ProxyBase.prototype ); 14 {{interface.name}}Proxy.prototype = Object.create(bindings.ProxyBase.prototype );
9 15
10 {%- for method in interface.methods %} 16 {%- for method in interface.methods %}
17 {{interface.name}}Ptr.prototype.{{method.name|stylize_method}} = function() {
18 return {{interface.name}}Proxy.prototype.{{method.name|stylize_method}}
19 .apply(this.connection.remote, arguments);
20 };
21
11 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function( 22 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
12 {%- for parameter in method.parameters -%} 23 {%- for parameter in method.parameters -%}
13 {{parameter.name}}{% if not loop.last %}, {% endif %} 24 {{parameter.name}}{% if not loop.last %}, {% endif %}
14 {%- endfor -%} 25 {%- endfor -%}
15 ) { 26 ) {
16 var params = new {{interface.name}}_{{method.name}}_Params(); 27 var params = new {{interface.name}}_{{method.name}}_Params();
17 {%- for parameter in method.parameters %} 28 {%- for parameter in method.parameters %}
18 params.{{parameter.name}} = {{parameter|js_proxy_method_parameter_value}}; 29 params.{{parameter.name}} = {{parameter|js_proxy_method_parameter_value}};
19 {%- endfor %} 30 {%- endfor %}
20 31
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 {%- from "enum_definition.tmpl" import enum_def -%} 190 {%- from "enum_definition.tmpl" import enum_def -%}
180 {%- for enum in interface.enums %} 191 {%- for enum in interface.enums %}
181 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }} 192 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }}
182 {%- endfor %} 193 {%- endfor %}
183 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ; 194 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ;
184 {%- if interface|has_callbacks %} 195 {%- if interface|has_callbacks %}
185 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se; 196 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se;
186 {%- else %} 197 {%- else %}
187 {{interface.name}}Proxy.prototype.validator = null; 198 {{interface.name}}Proxy.prototype.validator = null;
188 {%- endif %} 199 {%- endif %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698