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

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

Issue 2891193002: Mojo JS bindings: switch all mojo/ layout tests to use the new mode. (Closed)
Patch Set: . Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 {%- for method in interface.methods %} 1 {%- for method in interface.methods %}
2 {%- set interface_method_id = 2 {%- set interface_method_id =
3 interface.mojom_name ~ "_" ~ method.mojom_name %} 3 interface.mojom_name ~ "_" ~ method.mojom_name %}
4 var k{{interface_method_id}}_Name = {{method.ordinal}}; 4 var k{{interface_method_id}}_Name = {{method.ordinal}};
5 {%- endfor %} 5 {%- endfor %}
6 6
7 function {{interface.name}}Ptr(handleOrPtrInfo) { 7 function {{interface.name}}Ptr(handleOrPtrInfo) {
8 this.ptr = new bindings.InterfacePtrController({{interface.name}}, 8 this.ptr = new bindings.InterfacePtrController({{interface.name}},
9 handleOrPtrInfo); 9 handleOrPtrInfo);
10 } 10 }
11 11
12 function Associated{{interface.name}}Ptr(associatedInterfacePtrInfo) { 12 function {{interface.name}}AssociatedPtr(associatedInterfacePtrInfo) {
13 this.ptr = new associatedBindings.AssociatedInterfacePtrController( 13 this.ptr = new associatedBindings.AssociatedInterfacePtrController(
14 {{interface.name}}, associatedInterfacePtrInfo); 14 {{interface.name}}, associatedInterfacePtrInfo);
15 } 15 }
16 16
17 Associated{{interface.name}}Ptr.prototype = 17 {{interface.name}}AssociatedPtr.prototype =
18 Object.create({{interface.name}}Ptr.prototype); 18 Object.create({{interface.name}}Ptr.prototype);
19 Associated{{interface.name}}Ptr.prototype.constructor = 19 {{interface.name}}AssociatedPtr.prototype.constructor =
20 Associated{{interface.name}}Ptr; 20 {{interface.name}}AssociatedPtr;
21 21
22 function {{interface.name}}Proxy(receiver) { 22 function {{interface.name}}Proxy(receiver) {
23 this.receiver_ = receiver; 23 this.receiver_ = receiver;
24 } 24 }
25 25
26 {%- for method in interface.methods %} 26 {%- for method in interface.methods %}
27 {%- set interface_method_id = 27 {%- set interface_method_id =
28 interface.mojom_name ~ "_" ~ method.mojom_name %} 28 interface.mojom_name ~ "_" ~ method.mojom_name %}
29 {{interface.name}}Ptr.prototype.{{method.name}} = function() { 29 {{interface.name}}Ptr.prototype.{{method.name}} = function() {
30 return {{interface.name}}Proxy.prototype.{{method.name}} 30 return {{interface.name}}Proxy.prototype.{{method.name}}
31 .apply(this.ptr.getProxy(), arguments); 31 .apply(this.ptr.getProxy(), arguments);
32 }; 32 };
33 33
34 {{interface.name}}Proxy.prototype.{{method.name}} = function( 34 {{interface.name}}Proxy.prototype.{{method.name}} = function(
35 {%- for parameter in method.parameters -%} 35 {%- for parameter in method.parameters -%}
36 {{parameter.name}}{% if not loop.last %}, {% endif %} 36 {{parameter.name}}{% if not loop.last %}, {% endif %}
37 {%- endfor -%} 37 {%- endfor -%}
38 ) { 38 ) {
39 var params = new {{interface_method_id}}_Params(); 39 var params = new {{interface_method_id}}_Params();
40 {%- for parameter in method.parameters %} 40 {%- for parameter in method.parameters %}
41 params.{{parameter.name}} = {{parameter.name}}; 41 params.{{parameter.name}} = {{parameter.name}};
42 {%- endfor %} 42 {%- endfor %}
43 43
44 {%- if method.response_parameters == None %} 44 {%- if method.response_parameters == None %}
45 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} 45 {%- if method|method_passes_associated_kinds %}
46 var builder = new codec.MessageV2Builder( 46 var builder = new codec.MessageV2Builder(
47 k{{interface_method_id}}_Name, 47 k{{interface_method_id}}_Name,
48 codec.align({{interface_method_id}}_Params.encodedSize)); 48 codec.align({{interface_method_id}}_Params.encodedSize));
49 builder.setPayload({{interface_method_id}}_Params, params); 49 builder.setPayload({{interface_method_id}}_Params, params);
50 {%- else %} 50 {%- else %}
51 var builder = new codec.MessageV0Builder( 51 var builder = new codec.MessageV0Builder(
52 k{{interface_method_id}}_Name, 52 k{{interface_method_id}}_Name,
53 codec.align({{interface_method_id}}_Params.encodedSize)); 53 codec.align({{interface_method_id}}_Params.encodedSize));
54 builder.encodeStruct({{interface_method_id}}_Params, params); 54 builder.encodeStruct({{interface_method_id}}_Params, params);
55 {%- endif %} 55 {%- endif %}
56 var message = builder.finish(); 56 var message = builder.finish();
57 this.receiver_.accept(message); 57 this.receiver_.accept(message);
58 {%- else %} 58 {%- else %}
59 return new Promise(function(resolve, reject) { 59 return new Promise(function(resolve, reject) {
60 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} 60 {%- if method|method_passes_associated_kinds %}
61 var builder = new codec.MessageV2Builder( 61 var builder = new codec.MessageV2Builder(
62 k{{interface_method_id}}_Name, 62 k{{interface_method_id}}_Name,
63 codec.align({{interface_method_id}}_Params.encodedSize), 63 codec.align({{interface_method_id}}_Params.encodedSize),
64 codec.kMessageExpectsResponse, 0); 64 codec.kMessageExpectsResponse, 0);
65 builder.setPayload({{interface_method_id}}_Params, params); 65 builder.setPayload({{interface_method_id}}_Params, params);
66 {%- else %} 66 {%- else %}
67 var builder = new codec.MessageV1Builder( 67 var builder = new codec.MessageV1Builder(
68 k{{interface_method_id}}_Name, 68 k{{interface_method_id}}_Name,
69 codec.align({{interface_method_id}}_Params.encodedSize), 69 codec.align({{interface_method_id}}_Params.encodedSize),
70 codec.kMessageExpectsResponse, 0); 70 codec.kMessageExpectsResponse, 0);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 var params = reader.decodeStruct({{interface_method_id}}_Params); 127 var params = reader.decodeStruct({{interface_method_id}}_Params);
128 this.{{method.name}}( 128 this.{{method.name}}(
129 {%- for parameter in method.parameters -%} 129 {%- for parameter in method.parameters -%}
130 params.{{parameter.name}}{% if not loop.last %}, {% endif -%} 130 params.{{parameter.name}}{% if not loop.last %}, {% endif -%}
131 {%- endfor %}).then(function(response) { 131 {%- endfor %}).then(function(response) {
132 var responseParams = 132 var responseParams =
133 new {{interface_method_id}}_ResponseParams(); 133 new {{interface_method_id}}_ResponseParams();
134 {%- for parameter in method.response_parameters %} 134 {%- for parameter in method.response_parameters %}
135 responseParams.{{parameter.name}} = response.{{parameter.name}}; 135 responseParams.{{parameter.name}} = response.{{parameter.name}};
136 {%- endfor %} 136 {%- endfor %}
137 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} 137 {%- if method|method_passes_associated_kinds %}
138 var builder = new codec.MessageV2Builder( 138 var builder = new codec.MessageV2Builder(
139 k{{interface_method_id}}_Name, 139 k{{interface_method_id}}_Name,
140 codec.align({{interface_method_id}}_ResponseParams 140 codec.align({{interface_method_id}}_ResponseParams
141 .encodedSize), 141 .encodedSize),
142 codec.kMessageIsResponse, reader.requestID); 142 codec.kMessageIsResponse, reader.requestID);
143 builder.setPayload({{interface_method_id}}_ResponseParams, 143 builder.setPayload({{interface_method_id}}_ResponseParams,
144 responseParams); 144 responseParams);
145 {%- else %} 145 {%- else %}
146 var builder = new codec.MessageV1Builder( 146 var builder = new codec.MessageV1Builder(
147 k{{interface_method_id}}_Name, 147 k{{interface_method_id}}_Name,
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 {%- from "enum_definition.tmpl" import enum_def -%} 235 {%- from "enum_definition.tmpl" import enum_def -%}
236 {%- for enum in interface.enums %} 236 {%- for enum in interface.enums %}
237 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }} 237 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }}
238 {%- endfor %} 238 {%- endfor %}
239 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ; 239 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ;
240 {%- if interface|has_callbacks %} 240 {%- if interface|has_callbacks %}
241 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se; 241 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se;
242 {%- else %} 242 {%- else %}
243 {{interface.name}}Proxy.prototype.validator = null; 243 {{interface.name}}Proxy.prototype.validator = null;
244 {%- endif %} 244 {%- endif %}
OLDNEW
« no previous file with comments | « mojo/public/js/new_bindings/validator.js ('k') | mojo/public/tools/bindings/generators/js_templates/module.amd.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698