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

Unified Diff: mojo/public/bindings/generators/mojom_js_generator.py

Issue 139613005: Support default values for complex objects in mojom. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/bindings/generators/mojom_js_generator.py
diff --git a/mojo/public/bindings/generators/mojom_js_generator.py b/mojo/public/bindings/generators/mojom_js_generator.py
index e18aa840550b70adcc1a45a60977d64f8218e59d..fdd028861af1ade3af66807e780c33f020f409d8 100644
--- a/mojo/public/bindings/generators/mojom_js_generator.py
+++ b/mojo/public/bindings/generators/mojom_js_generator.py
@@ -33,12 +33,7 @@ _kind_to_javascript_default_value = {
def JavaScriptDefaultValue(field):
if field.default:
- if isinstance(field.default, list):
- # TODO(mpcomplete): This will need to be more sophisticated to support
- # arrays of objects/arrays.
- return "[" + ", ".join(field.default) + "]"
- else:
- return field.default
+ raise Exception("Default values should've been handled in jinja.")
if field.kind in mojom.PRIMITIVES:
return _kind_to_javascript_default_value[field.kind]
if isinstance(field.kind, mojom.Struct):
@@ -152,7 +147,12 @@ class Generator(mojom_generator.Generator):
"payload_size": JavaScriptPayloadSize,
"decode_snippet": JavaScriptDecodeSnippet,
"encode_snippet": JavaScriptEncodeSnippet,
+ "is_object_kind": mojom_generator.IsObjectKind,
+ "is_string_kind": mojom_generator.IsStringKind,
+ "is_array_kind": lambda kind: isinstance(kind, mojom.Array),
+ "struct_by_name": mojom_generator.GetStructByName,
"stylize_method": mojom_generator.StudlyCapsToCamel,
+ "verify_token_type": mojom_generator.VerifyTokenType,
}
@UseJinja("js_templates/module.js.tmpl", filters=js_filters)
« no previous file with comments | « mojo/public/bindings/generators/mojom_cpp_generator.py ('k') | mojo/public/bindings/pylib/generate/mojom_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698