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

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

Issue 2893543002: Revert of Mojo JavaScript bindings: follow JavaScript naming rules. (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
« no previous file with comments | « no previous file | mojo/public/tools/bindings/generators/mojom_js_generator.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {%- for method in interface.methods %} 1 {%- for method in interface.methods %}
2 {%- set interface_method_id = 2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}};
3 interface.mojom_name ~ "_" ~ method.mojom_name %}
4 var k{{interface_method_id}}_Name = {{method.ordinal}};
5 {%- endfor %} 3 {%- endfor %}
6 4
7 function {{interface.name}}Ptr(handleOrPtrInfo) { 5 function {{interface.name}}Ptr(handleOrPtrInfo) {
8 this.ptr = new bindings.InterfacePtrController({{interface.name}}, 6 this.ptr = new bindings.InterfacePtrController({{interface.name}},
9 handleOrPtrInfo); 7 handleOrPtrInfo);
10 } 8 }
11 9
12 function Associated{{interface.name}}Ptr(associatedInterfacePtrInfo) { 10 function Associated{{interface.name}}Ptr(associatedInterfacePtrInfo) {
13 this.ptr = new associatedBindings.AssociatedInterfacePtrController( 11 this.ptr = new associatedBindings.AssociatedInterfacePtrController(
14 {{interface.name}}, associatedInterfacePtrInfo); 12 {{interface.name}}, associatedInterfacePtrInfo);
15 } 13 }
16 14
17 Associated{{interface.name}}Ptr.prototype = 15 Associated{{interface.name}}Ptr.prototype =
18 Object.create({{interface.name}}Ptr.prototype); 16 Object.create({{interface.name}}Ptr.prototype);
19 Associated{{interface.name}}Ptr.prototype.constructor = 17 Associated{{interface.name}}Ptr.prototype.constructor =
20 Associated{{interface.name}}Ptr; 18 Associated{{interface.name}}Ptr;
21 19
22 function {{interface.name}}Proxy(receiver) { 20 function {{interface.name}}Proxy(receiver) {
23 this.receiver_ = receiver; 21 this.receiver_ = receiver;
24 } 22 }
25 23
26 {%- for method in interface.methods %} 24 {%- for method in interface.methods %}
27 {%- set interface_method_id = 25 {{interface.name}}Ptr.prototype.{{method.name|stylize_method}} = function() {
28 interface.mojom_name ~ "_" ~ method.mojom_name %} 26 return {{interface.name}}Proxy.prototype.{{method.name|stylize_method}}
29 {{interface.name}}Ptr.prototype.{{method.name}} = function() {
30 return {{interface.name}}Proxy.prototype.{{method.name}}
31 .apply(this.ptr.getProxy(), arguments); 27 .apply(this.ptr.getProxy(), arguments);
32 }; 28 };
33 29
34 {{interface.name}}Proxy.prototype.{{method.name}} = function( 30 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
35 {%- for parameter in method.parameters -%} 31 {%- for parameter in method.parameters -%}
36 {{parameter.name}}{% if not loop.last %}, {% endif %} 32 {{parameter.name}}{% if not loop.last %}, {% endif %}
37 {%- endfor -%} 33 {%- endfor -%}
38 ) { 34 ) {
39 var params = new {{interface_method_id}}_Params(); 35 var params = new {{interface.name}}_{{method.name}}_Params();
40 {%- for parameter in method.parameters %} 36 {%- for parameter in method.parameters %}
41 params.{{parameter.name}} = {{parameter.name}}; 37 params.{{parameter.name}} = {{parameter.name}};
42 {%- endfor %} 38 {%- endfor %}
43 39
44 {%- if method.response_parameters == None %} 40 {%- if method.response_parameters == None %}
45 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} 41 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %}
46 var builder = new codec.MessageV2Builder( 42 var builder = new codec.MessageV2Builder(
47 k{{interface_method_id}}_Name, 43 k{{interface.name}}_{{method.name}}_Name,
48 codec.align({{interface_method_id}}_Params.encodedSize)); 44 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize));
49 builder.setPayload({{interface_method_id}}_Params, params); 45 builder.setPayload({{interface.name}}_{{method.name}}_Params, params);
50 {%- else %} 46 {%- else %}
51 var builder = new codec.MessageV0Builder( 47 var builder = new codec.MessageV0Builder(
52 k{{interface_method_id}}_Name, 48 k{{interface.name}}_{{method.name}}_Name,
53 codec.align({{interface_method_id}}_Params.encodedSize)); 49 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize));
54 builder.encodeStruct({{interface_method_id}}_Params, params); 50 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
55 {%- endif %} 51 {%- endif %}
56 var message = builder.finish(); 52 var message = builder.finish();
57 this.receiver_.accept(message); 53 this.receiver_.accept(message);
58 {%- else %} 54 {%- else %}
59 return new Promise(function(resolve, reject) { 55 return new Promise(function(resolve, reject) {
60 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} 56 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %}
61 var builder = new codec.MessageV2Builder( 57 var builder = new codec.MessageV2Builder(
62 k{{interface_method_id}}_Name, 58 k{{interface.name}}_{{method.name}}_Name,
63 codec.align({{interface_method_id}}_Params.encodedSize), 59 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize),
64 codec.kMessageExpectsResponse, 0); 60 codec.kMessageExpectsResponse, 0);
65 builder.setPayload({{interface_method_id}}_Params, params); 61 builder.setPayload({{interface.name}}_{{method.name}}_Params, params);
66 {%- else %} 62 {%- else %}
67 var builder = new codec.MessageV1Builder( 63 var builder = new codec.MessageV1Builder(
68 k{{interface_method_id}}_Name, 64 k{{interface.name}}_{{method.name}}_Name,
69 codec.align({{interface_method_id}}_Params.encodedSize), 65 codec.align({{interface.name}}_{{method.name}}_Params.encodedSize),
70 codec.kMessageExpectsResponse, 0); 66 codec.kMessageExpectsResponse, 0);
71 builder.encodeStruct({{interface_method_id}}_Params, params); 67 builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
72 {%- endif %} 68 {%- endif %}
73 var message = builder.finish(); 69 var message = builder.finish();
74 this.receiver_.acceptAndExpectResponse(message).then(function(message) { 70 this.receiver_.acceptAndExpectResponse(message).then(function(message) {
75 var reader = new codec.MessageReader(message); 71 var reader = new codec.MessageReader(message);
76 var responseParams = 72 var responseParams =
77 reader.decodeStruct({{interface_method_id}}_ResponseParams); 73 reader.decodeStruct({{interface.name}}_{{method.name}}_ResponseParam s);
78 resolve(responseParams); 74 resolve(responseParams);
79 }).catch(function(result) { 75 }).catch(function(result) {
80 reject(Error("Connection error: " + result)); 76 reject(Error("Connection error: " + result));
81 }); 77 });
82 }.bind(this)); 78 }.bind(this));
83 {%- endif %} 79 {%- endif %}
84 }; 80 };
85 {%- endfor %} 81 {%- endfor %}
86 82
87 function {{interface.name}}Stub(delegate) { 83 function {{interface.name}}Stub(delegate) {
88 this.delegate_ = delegate; 84 this.delegate_ = delegate;
89 } 85 }
90 86
91 {%- for method in interface.methods %} 87 {%- for method in interface.methods %}
92 {{interface.name}}Stub.prototype.{{method.name}} = function({{method.parameter s|map(attribute='name')|join(', ')}}) { 88 {%- set js_method_name = method.name|stylize_method %}
93 return this.delegate_ && this.delegate_.{{method.name}} && this.delegate_.{{ method.name}}({{method.parameters|map(attribute='name')|join(', ')}}); 89 {{interface.name}}Stub.prototype.{{js_method_name}} = function({{method.parame ters|map(attribute='name')|join(', ')}}) {
90 return this.delegate_ && this.delegate_.{{js_method_name}} && this.delegate_ .{{js_method_name}}({{method.parameters|map(attribute='name')|join(', ')}});
94 } 91 }
95 {%- endfor %} 92 {%- endfor %}
96 93
97 {{interface.name}}Stub.prototype.accept = function(message) { 94 {{interface.name}}Stub.prototype.accept = function(message) {
98 var reader = new codec.MessageReader(message); 95 var reader = new codec.MessageReader(message);
99 switch (reader.messageName) { 96 switch (reader.messageName) {
100 {%- for method in interface.methods %} 97 {%- for method in interface.methods %}
101 {%- set interface_method_id =
102 interface.mojom_name ~ "_" ~ method.mojom_name %}
103 {%- if method.response_parameters == None %} 98 {%- if method.response_parameters == None %}
104 case k{{interface_method_id}}_Name: 99 case k{{interface.name}}_{{method.name}}_Name:
105 var params = reader.decodeStruct({{interface_method_id}}_Params); 100 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params );
106 this.{{method.name}}( 101 this.{{method.name|stylize_method}}(
107 {%- for parameter in method.parameters -%} 102 {%- for parameter in method.parameters -%}
108 params.{{parameter.name}}{% if not loop.last %}, {% endif %} 103 params.{{parameter.name}}{% if not loop.last %}, {% endif %}
109 {%- endfor %}); 104 {%- endfor %});
110 return true; 105 return true;
111 {%- endif %} 106 {%- endif %}
112 {%- endfor %} 107 {%- endfor %}
113 default: 108 default:
114 return false; 109 return false;
115 } 110 }
116 }; 111 };
117 112
118 {{interface.name}}Stub.prototype.acceptWithResponder = 113 {{interface.name}}Stub.prototype.acceptWithResponder =
119 function(message, responder) { 114 function(message, responder) {
120 var reader = new codec.MessageReader(message); 115 var reader = new codec.MessageReader(message);
121 switch (reader.messageName) { 116 switch (reader.messageName) {
122 {%- for method in interface.methods %} 117 {%- for method in interface.methods %}
123 {%- set interface_method_id =
124 interface.mojom_name ~ "_" ~ method.mojom_name %}
125 {%- if method.response_parameters != None %} 118 {%- if method.response_parameters != None %}
126 case k{{interface_method_id}}_Name: 119 case k{{interface.name}}_{{method.name}}_Name:
127 var params = reader.decodeStruct({{interface_method_id}}_Params); 120 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params );
128 this.{{method.name}}( 121 this.{{method.name|stylize_method}}(
129 {%- for parameter in method.parameters -%} 122 {%- for parameter in method.parameters -%}
130 params.{{parameter.name}}{% if not loop.last %}, {% endif -%} 123 params.{{parameter.name}}{% if not loop.last %}, {% endif -%}
131 {%- endfor %}).then(function(response) { 124 {%- endfor %}).then(function(response) {
132 var responseParams = 125 var responseParams =
133 new {{interface_method_id}}_ResponseParams(); 126 new {{interface.name}}_{{method.name}}_ResponseParams();
134 {%- for parameter in method.response_parameters %} 127 {%- for parameter in method.response_parameters %}
135 responseParams.{{parameter.name}} = response.{{parameter.name}}; 128 responseParams.{{parameter.name}} = response.{{parameter.name}};
136 {%- endfor %} 129 {%- endfor %}
137 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %} 130 {%- if method|method_passes_associated_kinds and not use_new_js_bindings %}
138 var builder = new codec.MessageV2Builder( 131 var builder = new codec.MessageV2Builder(
139 k{{interface_method_id}}_Name, 132 k{{interface.name}}_{{method.name}}_Name,
140 codec.align({{interface_method_id}}_ResponseParams 133 codec.align({{interface.name}}_{{method.name}}_ResponseParams
141 .encodedSize), 134 .encodedSize),
142 codec.kMessageIsResponse, reader.requestID); 135 codec.kMessageIsResponse, reader.requestID);
143 builder.setPayload({{interface_method_id}}_ResponseParams, 136 builder.setPayload({{interface.name}}_{{method.name}}_ResponseParams,
144 responseParams); 137 responseParams);
145 {%- else %} 138 {%- else %}
146 var builder = new codec.MessageV1Builder( 139 var builder = new codec.MessageV1Builder(
147 k{{interface_method_id}}_Name, 140 k{{interface.name}}_{{method.name}}_Name,
148 codec.align({{interface_method_id}}_ResponseParams.encodedSize), 141 codec.align({{interface.name}}_{{method.name}}_ResponseParams.encode dSize),
149 codec.kMessageIsResponse, reader.requestID); 142 codec.kMessageIsResponse, reader.requestID);
150 builder.encodeStruct({{interface_method_id}}_ResponseParams, 143 builder.encodeStruct({{interface.name}}_{{method.name}}_ResponseParams,
151 responseParams); 144 responseParams);
152 {%- endif %} 145 {%- endif %}
153 var message = builder.finish(); 146 var message = builder.finish();
154 responder.accept(message); 147 responder.accept(message);
155 }); 148 });
156 return true; 149 return true;
157 {%- endif %} 150 {%- endif %}
158 {%- endfor %} 151 {%- endfor %}
159 default: 152 default:
160 return false; 153 return false;
161 } 154 }
162 }; 155 };
163 156
164 {#--- Validation #} 157 {#--- Validation #}
165 158
166 function validate{{interface.name}}Request(messageValidator) { 159 function validate{{interface.name}}Request(messageValidator) {
167 {%- if not(interface.methods) %} 160 {%- if not(interface.methods) %}
168 return validator.validationError.NONE; 161 return validator.validationError.NONE;
169 {%- else %} 162 {%- else %}
170 var message = messageValidator.message; 163 var message = messageValidator.message;
171 var paramsClass = null; 164 var paramsClass = null;
172 switch (message.getName()) { 165 switch (message.getName()) {
173 {%- for method in interface.methods %} 166 {%- for method in interface.methods %}
174 {%- set interface_method_id = 167 case k{{interface.name}}_{{method.name}}_Name:
175 interface.mojom_name ~ "_" ~ method.mojom_name %}
176 case k{{interface_method_id}}_Name:
177 {%- if method.response_parameters == None %} 168 {%- if method.response_parameters == None %}
178 if (!message.expectsResponse() && !message.isResponse()) 169 if (!message.expectsResponse() && !message.isResponse())
179 paramsClass = {{interface_method_id}}_Params; 170 paramsClass = {{interface.name}}_{{method.name}}_Params;
180 {%- else %} 171 {%- else %}
181 if (message.expectsResponse()) 172 if (message.expectsResponse())
182 paramsClass = {{interface_method_id}}_Params; 173 paramsClass = {{interface.name}}_{{method.name}}_Params;
183 {%- endif %} 174 {%- endif %}
184 break; 175 break;
185 {%- endfor %} 176 {%- endfor %}
186 } 177 }
187 if (paramsClass === null) 178 if (paramsClass === null)
188 return validator.validationError.NONE; 179 return validator.validationError.NONE;
189 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes()); 180 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes());
190 {%- endif %} 181 {%- endif %}
191 } 182 }
192 183
193 function validate{{interface.name}}Response(messageValidator) { 184 function validate{{interface.name}}Response(messageValidator) {
194 {%- if not(interface|has_callbacks) %} 185 {%- if not(interface|has_callbacks) %}
195 return validator.validationError.NONE; 186 return validator.validationError.NONE;
196 {%- else %} 187 {%- else %}
197 var message = messageValidator.message; 188 var message = messageValidator.message;
198 var paramsClass = null; 189 var paramsClass = null;
199 switch (message.getName()) { 190 switch (message.getName()) {
200 {%- for method in interface.methods %} 191 {%- for method in interface.methods %}
201 {%- set interface_method_id =
202 interface.mojom_name ~ "_" ~ method.mojom_name %}
203 {%- if method.response_parameters != None %} 192 {%- if method.response_parameters != None %}
204 case k{{interface_method_id}}_Name: 193 case k{{interface.name}}_{{method.name}}_Name:
205 if (message.isResponse()) 194 if (message.isResponse())
206 paramsClass = {{interface_method_id}}_ResponseParams; 195 paramsClass = {{interface.name}}_{{method.name}}_ResponseParams;
207 break; 196 break;
208 {%- endif %} 197 {%- endif %}
209 {%- endfor %} 198 {%- endfor %}
210 } 199 }
211 if (paramsClass === null) 200 if (paramsClass === null)
212 return validator.validationError.NONE; 201 return validator.validationError.NONE;
213 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes()); 202 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes());
214 {%- endif %} 203 {%- endif %}
215 } 204 }
216 205
217 var {{interface.name}} = { 206 var {{interface.name}} = {
218 name: '{{module.mojom_namespace|replace(".","::")}}::{{interface.mojom_name} }', 207 name: '{{module.namespace|replace(".","::")}}::{{interface.name}}',
219 kVersion: {{interface.version}}, 208 kVersion: {{interface.version}},
220 ptrClass: {{interface.name}}Ptr, 209 ptrClass: {{interface.name}}Ptr,
221 proxyClass: {{interface.name}}Proxy, 210 proxyClass: {{interface.name}}Proxy,
222 stubClass: {{interface.name}}Stub, 211 stubClass: {{interface.name}}Stub,
223 validateRequest: validate{{interface.name}}Request, 212 validateRequest: validate{{interface.name}}Request,
224 {%- if interface|has_callbacks %} 213 {%- if interface|has_callbacks %}
225 validateResponse: validate{{interface.name}}Response, 214 validateResponse: validate{{interface.name}}Response,
226 {%- else %} 215 {%- else %}
227 validateResponse: null, 216 validateResponse: null,
228 {%- endif %} 217 {%- endif %}
229 }; 218 };
230 {#--- Interface Constants #} 219 {#--- Interface Constants #}
231 {%- for constant in interface.constants %} 220 {%- for constant in interface.constants %}
232 {{interface.name}}.{{constant.name}} = {{constant.value|expression_to_text}}, 221 {{interface.name}}.{{constant.name}} = {{constant.value|expression_to_text}},
233 {%- endfor %} 222 {%- endfor %}
234 {#--- Interface Enums #} 223 {#--- Interface Enums #}
235 {%- from "enum_definition.tmpl" import enum_def -%} 224 {%- from "enum_definition.tmpl" import enum_def -%}
236 {%- for enum in interface.enums %} 225 {%- for enum in interface.enums %}
237 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }} 226 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }}
238 {%- endfor %} 227 {%- endfor %}
239 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ; 228 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ;
240 {%- if interface|has_callbacks %} 229 {%- if interface|has_callbacks %}
241 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se; 230 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se;
242 {%- else %} 231 {%- else %}
243 {{interface.name}}Proxy.prototype.validator = null; 232 {{interface.name}}Proxy.prototype.validator = null;
244 {%- endif %} 233 {%- endif %}
OLDNEW
« no previous file with comments | « no previous file | mojo/public/tools/bindings/generators/mojom_js_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698