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

Unified 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 6 years 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/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 59933a9dd2c2022ba92166737e56f82afe4e955a..4efdf0038260e7e18eb1e83f9402bbb8441b2485 100644
--- a/mojo/public/tools/bindings/generators/mojom_js_generator.py
+++ b/mojo/public/tools/bindings/generators/mojom_js_generator.py
@@ -223,6 +223,30 @@ def JavaScriptValidateHandleParams(packed_field):
return "%s, %s" % (field_offset, nullable)
+
+
+def JavaScriptProxyMethodParameterValue(parameter):
+ name = parameter.name;
+ if (IsInterfaceParameter(parameter)):
+ type = JavaScriptType(parameter.kind)
+ return "core.isHandle(%s) ? %s : connection.bindProxyClient" \
+ "(%s, %s, %s.client)" % (name, name, name, type, type)
+ if (IsInterfaceRequestParameter(parameter)):
+ type = JavaScriptType(parameter.kind.kind)
+ return "core.isHandle(%s) ? %s : connection.bindProxyClient" \
+ "(%s, %s.client, %s)" % (name, name, name, type, type)
+ return name;
+
+def JavaScriptStubMethodParameterValue(parameter):
+ name = parameter.name;
+ if (IsInterfaceParameter(parameter)):
+ type = JavaScriptType(parameter.kind)
+ return "connection.bindProxyHandle(%s, %s.client, %s)" % (name, type, type)
+ if (IsInterfaceRequestParameter(parameter)):
+ type = JavaScriptType(parameter.kind.kind)
+ return "connection.bindProxyHandle(%s, %s, %s.client)" % (name, type, type)
+ return name;
+
def TranslateConstants(token):
if isinstance(token, (mojom.EnumValue, mojom.NamedValue)):
# Both variable and enum constants are constructed like:
@@ -292,6 +316,8 @@ class Generator(generator.Generator):
"js_type": JavaScriptType,
"is_interface_request_parameter": IsInterfaceRequestParameter,
"is_interface_parameter": IsInterfaceParameter,
+ "js_proxy_method_parameter_value": JavaScriptProxyMethodParameterValue,
+ "js_stub_method_parameter_value": JavaScriptStubMethodParameterValue,
"stylize_method": generator.StudlyCapsToCamel,
"validate_array_params": JavaScriptValidateArrayParams,
"validate_handle_params": JavaScriptValidateHandleParams,

Powered by Google App Engine
This is Rietveld 408576698