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

Side by Side Diff: mojo/public/tools/bindings/generators/mojom_js_generator.py

Issue 795593004: Update mojo sdk to rev cc531b32182099a5a034a99daff35ed5d38a61c8 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More workarounds for MSVC Created 5 years, 11 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 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Generates JavaScript source files from a mojom.Module.""" 5 """Generates JavaScript source files from a mojom.Module."""
6 6
7 import mojom.generate.generator as generator 7 import mojom.generate.generator as generator
8 import mojom.generate.module as mojom 8 import mojom.generate.module as mojom
9 import mojom.generate.pack as pack 9 import mojom.generate.pack as pack
10 from mojom.generate.template_expander import UseJinja 10 from mojom.generate.template_expander import UseJinja
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 nullable = JavaScriptNullableParam(packed_field) 216 nullable = JavaScriptNullableParam(packed_field)
217 return "%s, %s" % (JavaScriptFieldOffset(packed_field), nullable) 217 return "%s, %s" % (JavaScriptFieldOffset(packed_field), nullable)
218 218
219 219
220 def JavaScriptValidateHandleParams(packed_field): 220 def JavaScriptValidateHandleParams(packed_field):
221 nullable = JavaScriptNullableParam(packed_field) 221 nullable = JavaScriptNullableParam(packed_field)
222 field_offset = JavaScriptFieldOffset(packed_field) 222 field_offset = JavaScriptFieldOffset(packed_field)
223 return "%s, %s" % (field_offset, nullable) 223 return "%s, %s" % (field_offset, nullable)
224 224
225 225
226
227
228 def JavaScriptProxyMethodParameterValue(parameter):
229 name = parameter.name;
230 if (IsInterfaceParameter(parameter)):
231 type = JavaScriptType(parameter.kind)
232 return "core.isHandle(%s) ? %s : connection.bindProxyClient" \
233 "(%s, %s, %s.client)" % (name, name, name, type, type)
234 if (IsInterfaceRequestParameter(parameter)):
235 type = JavaScriptType(parameter.kind.kind)
236 return "core.isHandle(%s) ? %s : connection.bindProxyClient" \
237 "(%s, %s.client, %s)" % (name, name, name, type, type)
238 return name;
239
240 def JavaScriptStubMethodParameterValue(parameter):
241 name = parameter.name;
242 if (IsInterfaceParameter(parameter)):
243 type = JavaScriptType(parameter.kind)
244 return "connection.bindProxyHandle(%s, %s.client, %s)" % (name, type, type)
245 if (IsInterfaceRequestParameter(parameter)):
246 type = JavaScriptType(parameter.kind.kind)
247 return "connection.bindProxyHandle(%s, %s, %s.client)" % (name, type, type)
248 return name;
249
226 def TranslateConstants(token): 250 def TranslateConstants(token):
227 if isinstance(token, (mojom.EnumValue, mojom.NamedValue)): 251 if isinstance(token, (mojom.EnumValue, mojom.NamedValue)):
228 # Both variable and enum constants are constructed like: 252 # Both variable and enum constants are constructed like:
229 # NamespaceUid.Struct[.Enum].CONSTANT_NAME 253 # NamespaceUid.Struct[.Enum].CONSTANT_NAME
230 name = [] 254 name = []
231 if token.imported_from: 255 if token.imported_from:
232 name.append(token.imported_from["unique_name"]) 256 name.append(token.imported_from["unique_name"])
233 if token.parent_kind: 257 if token.parent_kind:
234 name.append(token.parent_kind.name) 258 name.append(token.parent_kind.name)
235 if isinstance(token, mojom.EnumValue): 259 if isinstance(token, mojom.EnumValue):
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 "field_offset": JavaScriptFieldOffset, 309 "field_offset": JavaScriptFieldOffset,
286 "has_callbacks": mojom.HasCallbacks, 310 "has_callbacks": mojom.HasCallbacks,
287 "is_array_pointer_field": IsArrayPointerField, 311 "is_array_pointer_field": IsArrayPointerField,
288 "is_map_pointer_field": IsMapPointerField, 312 "is_map_pointer_field": IsMapPointerField,
289 "is_struct_pointer_field": IsStructPointerField, 313 "is_struct_pointer_field": IsStructPointerField,
290 "is_string_pointer_field": IsStringPointerField, 314 "is_string_pointer_field": IsStringPointerField,
291 "is_handle_field": IsHandleField, 315 "is_handle_field": IsHandleField,
292 "js_type": JavaScriptType, 316 "js_type": JavaScriptType,
293 "is_interface_request_parameter": IsInterfaceRequestParameter, 317 "is_interface_request_parameter": IsInterfaceRequestParameter,
294 "is_interface_parameter": IsInterfaceParameter, 318 "is_interface_parameter": IsInterfaceParameter,
319 "js_proxy_method_parameter_value": JavaScriptProxyMethodParameterValue,
320 "js_stub_method_parameter_value": JavaScriptStubMethodParameterValue,
295 "stylize_method": generator.StudlyCapsToCamel, 321 "stylize_method": generator.StudlyCapsToCamel,
296 "validate_array_params": JavaScriptValidateArrayParams, 322 "validate_array_params": JavaScriptValidateArrayParams,
297 "validate_handle_params": JavaScriptValidateHandleParams, 323 "validate_handle_params": JavaScriptValidateHandleParams,
298 "validate_map_params": JavaScriptValidateMapParams, 324 "validate_map_params": JavaScriptValidateMapParams,
299 "validate_string_params": JavaScriptValidateStringParams, 325 "validate_string_params": JavaScriptValidateStringParams,
300 "validate_struct_params": JavaScriptValidateStructParams, 326 "validate_struct_params": JavaScriptValidateStructParams,
301 } 327 }
302 328
303 def GetParameters(self): 329 def GetParameters(self):
304 return { 330 return {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 return self.module.imports 371 return self.module.imports
346 372
347 def GetImportedInterfaces(self): 373 def GetImportedInterfaces(self):
348 interface_to_import = {}; 374 interface_to_import = {};
349 for each_import in self.module.imports: 375 for each_import in self.module.imports:
350 for each_interface in each_import["module"].interfaces: 376 for each_interface in each_import["module"].interfaces:
351 name = each_interface.name 377 name = each_interface.name
352 interface_to_import[name] = each_import["unique_name"] + "." + name 378 interface_to_import[name] = each_import["unique_name"] + "." + name
353 return interface_to_import; 379 return interface_to_import;
354 380
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698