| Index: mojo/public/tools/bindings/generators/mojom_js_generator.py
|
| diff --git a/mojo/public/tools/bindings/generators/mojom_js_generator.py b/mojo/public/tools/bindings/generators/mojom_js_generator.py
|
| index 5b83974d97943ec15a117e877cd978bef32a1c73..b2591cf9f751fe016a1eebe779aca4aa84913721 100644
|
| --- a/mojo/public/tools/bindings/generators/mojom_js_generator.py
|
| +++ b/mojo/public/tools/bindings/generators/mojom_js_generator.py
|
| @@ -41,7 +41,7 @@ def JavaScriptDefaultValue(field):
|
| if mojom.IsStructKind(field.kind):
|
| assert field.default == "default"
|
| return "new %s()" % JavascriptType(field.kind)
|
| - return ExpressionToText(field.default)
|
| + return ExpressionToText(field.default, kind=field.kind)
|
| if field.kind in mojom.PRIMITIVES:
|
| return _kind_to_javascript_default_value[field.kind]
|
| if mojom.IsStructKind(field.kind):
|
| @@ -138,7 +138,7 @@ def JavaScriptEncodeSnippet(kind):
|
| return JavaScriptEncodeSnippet(mojom.INT32)
|
|
|
|
|
| -def TranslateConstants(token):
|
| +def TranslateConstants(token, kind=None):
|
| if isinstance(token, (mojom.EnumValue, mojom.NamedValue)):
|
| # Both variable and enum constants are constructed like:
|
| # NamespaceUid.Struct[.Enum].CONSTANT_NAME
|
| @@ -151,11 +151,20 @@ def TranslateConstants(token):
|
| name.append(token.enum_name)
|
| name.append(token.name)
|
| return ".".join(name)
|
| +
|
| + if kind == mojom.DOUBLE or kind == mojom.FLOAT:
|
| + if token == "Inf" or token == "+Inf":
|
| + return "Infinity"
|
| + if token == "-Inf":
|
| + return "-Infinity"
|
| + if token == "NaN":
|
| + return "NaN"
|
| +
|
| return token
|
|
|
|
|
| -def ExpressionToText(value):
|
| - return TranslateConstants(value)
|
| +def ExpressionToText(value, kind=None):
|
| + return TranslateConstants(value, kind)
|
|
|
|
|
| def JavascriptType(kind):
|
|
|