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

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

Issue 2777083002: Revert of Mojo JS bindings: support auto-loading mojom.js deps. (Closed)
Patch Set: Created 3 years, 8 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 import os
11 from mojom.generate.template_expander import UseJinja 10 from mojom.generate.template_expander import UseJinja
12 11
13 _kind_to_javascript_default_value = { 12 _kind_to_javascript_default_value = {
14 mojom.BOOL: "false", 13 mojom.BOOL: "false",
15 mojom.INT8: "0", 14 mojom.INT8: "0",
16 mojom.UINT8: "0", 15 mojom.UINT8: "0",
17 mojom.INT16: "0", 16 mojom.INT16: "0",
18 mojom.UINT16: "0", 17 mojom.UINT16: "0",
19 mojom.INT32: "0", 18 mojom.INT32: "0",
20 mojom.UINT32: "0", 19 mojom.UINT32: "0",
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 317
319 def IsObjectField(field): 318 def IsObjectField(field):
320 return mojom.IsObjectKind(field.kind) 319 return mojom.IsObjectKind(field.kind)
321 320
322 def IsAnyHandleOrInterfaceField(field): 321 def IsAnyHandleOrInterfaceField(field):
323 return mojom.IsAnyHandleOrInterfaceKind(field.kind) 322 return mojom.IsAnyHandleOrInterfaceKind(field.kind)
324 323
325 def IsEnumField(field): 324 def IsEnumField(field):
326 return mojom.IsEnumKind(field.kind) 325 return mojom.IsEnumKind(field.kind)
327 326
328 def GetRelativePath(module, base_module):
329 return os.path.relpath(module.path, os.path.dirname(base_module.path))
330
331 327
332 class Generator(generator.Generator): 328 class Generator(generator.Generator):
333 329
334 js_filters = { 330 js_filters = {
335 "decode_snippet": JavaScriptDecodeSnippet, 331 "decode_snippet": JavaScriptDecodeSnippet,
336 "default_value": JavaScriptDefaultValue, 332 "default_value": JavaScriptDefaultValue,
337 "encode_snippet": JavaScriptEncodeSnippet, 333 "encode_snippet": JavaScriptEncodeSnippet,
338 "expression_to_text": ExpressionToText, 334 "expression_to_text": ExpressionToText,
339 "field_offset": JavaScriptFieldOffset, 335 "field_offset": JavaScriptFieldOffset,
340 "has_callbacks": mojom.HasCallbacks, 336 "has_callbacks": mojom.HasCallbacks,
341 "is_any_handle_or_interface_field": IsAnyHandleOrInterfaceField, 337 "is_any_handle_or_interface_field": IsAnyHandleOrInterfaceField,
342 "is_array_pointer_field": IsArrayPointerField, 338 "is_array_pointer_field": IsArrayPointerField,
343 "is_bool_field": IsBoolField, 339 "is_bool_field": IsBoolField,
344 "is_enum_field": IsEnumField, 340 "is_enum_field": IsEnumField,
345 "is_handle_field": IsHandleField, 341 "is_handle_field": IsHandleField,
346 "is_interface_field": IsInterfaceField, 342 "is_interface_field": IsInterfaceField,
347 "is_interface_request_field": IsInterfaceRequestField, 343 "is_interface_request_field": IsInterfaceRequestField,
348 "is_map_pointer_field": IsMapPointerField, 344 "is_map_pointer_field": IsMapPointerField,
349 "is_object_field": IsObjectField, 345 "is_object_field": IsObjectField,
350 "is_string_pointer_field": IsStringPointerField, 346 "is_string_pointer_field": IsStringPointerField,
351 "is_struct_pointer_field": IsStructPointerField, 347 "is_struct_pointer_field": IsStructPointerField,
352 "is_union_field": IsUnionField, 348 "is_union_field": IsUnionField,
353 "js_type": JavaScriptType, 349 "js_type": JavaScriptType,
354 "payload_size": JavaScriptPayloadSize, 350 "payload_size": JavaScriptPayloadSize,
355 "get_relative_path": GetRelativePath,
356 "stylize_method": generator.StudlyCapsToCamel, 351 "stylize_method": generator.StudlyCapsToCamel,
357 "union_decode_snippet": JavaScriptUnionDecodeSnippet, 352 "union_decode_snippet": JavaScriptUnionDecodeSnippet,
358 "union_encode_snippet": JavaScriptUnionEncodeSnippet, 353 "union_encode_snippet": JavaScriptUnionEncodeSnippet,
359 "validate_array_params": JavaScriptValidateArrayParams, 354 "validate_array_params": JavaScriptValidateArrayParams,
360 "validate_enum_params": JavaScriptValidateEnumParams, 355 "validate_enum_params": JavaScriptValidateEnumParams,
361 "validate_map_params": JavaScriptValidateMapParams, 356 "validate_map_params": JavaScriptValidateMapParams,
362 "validate_nullable_params": JavaScriptNullableParam, 357 "validate_nullable_params": JavaScriptNullableParam,
363 "validate_struct_params": JavaScriptValidateStructParams, 358 "validate_struct_params": JavaScriptValidateStructParams,
364 "validate_union_params": JavaScriptValidateUnionParams, 359 "validate_union_params": JavaScriptValidateUnionParams,
365 } 360 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 return self.module.imports 411 return self.module.imports
417 412
418 def GetImportedInterfaces(self): 413 def GetImportedInterfaces(self):
419 interface_to_import = {}; 414 interface_to_import = {};
420 for each_import in self.module.imports: 415 for each_import in self.module.imports:
421 for each_interface in each_import["module"].interfaces: 416 for each_interface in each_import["module"].interfaces:
422 name = each_interface.name 417 name = each_interface.name
423 interface_to_import[name] = each_import["unique_name"] + "." + name 418 interface_to_import[name] = each_import["unique_name"] + "." + name
424 return interface_to_import; 419 return interface_to_import;
425 420
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698