Index: mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl |
index e0b74f903f16e64fc541e20d0efb2c0d522ba4a7..762d1617899e82226eb3ef78e6271f08c0989ab0 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl |
@@ -19,6 +19,8 @@ p{{loop.index}} |
p{{loop.index}}.Pass() |
{%- elif param.kind|is_interface_kind -%} |
mojo::MakeProxy<{{param.kind.name}}>(mojo::MakeScopedHandle(mojo::internal::FetchAndReset(¶ms->{{param.name}}))) |
+{%- elif param.kind|is_interface_request_kind -%} |
+mojo::MakeRequest<{{param.kind.kind.name}}>(mojo::MakeScopedHandle(mojo::internal::FetchAndReset(¶ms->{{param.name}}))) |
{%- elif param.kind|is_handle_kind -%} |
mojo::MakeScopedHandle(mojo::internal::FetchAndReset(¶ms->{{param.name}})) |
{%- elif param.kind|is_enum_kind -%} |
@@ -53,9 +55,11 @@ params->{{param.name}} |
params->{{param.name}} = mojo::MessagePipeHandle(); |
} else { |
// Delegate handle. |
- params->{{param.name}} = |
- in_{{param.name}}.ResetAndReturnMessagePipe().release(); |
+ params->{{param.name}} = in_{{param.name}}.PassMessagePipe().release(); |
} |
+{%- elif param.kind|is_interface_request_kind %} |
+ // Delegate handle. |
+ params->{{param.name}} = in_{{param.name}}.PassMessagePipe().release(); |
{%- elif param.kind|is_handle_kind %} |
params->{{param.name}} = in_{{param.name}}.release(); |
{%- else %} |