Chromium Code Reviews| 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 4017fc51d18c0f60e69f471c48751545640cfbe8..6421ea5ea09916c0ff7303e13e2ba5af6793803e 100644 |
| --- a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl |
| +++ b/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl |
| @@ -16,13 +16,10 @@ |
| {{serialization_context}}); |
| {{struct_macros.deserialize(struct, "input_data_view", "p_%s", "success")}} |
| if (!success) { |
| - mojo::internal::ValidationContext validation_context( |
| - {{message}}->data(), {{message}}->data_num_bytes(), |
| - {{message}}->handles()->size(), {{message}}, |
| + ReportValidationErrorForMessage( |
| + {{message}}, |
| + mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED, |
| "{{description}} deserializer"); |
| - ReportValidationError( |
| - &validation_context, |
| - mojo::internal::VALIDATION_ERROR_DESERIALIZATION_FAILED); |
| return false; |
| } |
| {%- endmacro %} |
| @@ -100,9 +97,9 @@ bool {{class_name}}_{{method.name}}_HandleSyncResponse::Accept( |
| reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_Data*>( |
| message->mutable_payload()); |
| +{%- set desc = class_name~"::"~method.name~" response" %} |
|
yzshen1
2016/07/31 07:16:32
:D good catch.
One thing may be worth considering
tibell
2016/07/31 23:50:29
Agreed. It's on my list.
|
| {{alloc_params(method.response_param_struct, "params", "message", |
| - "&serialization_context_", |
| - "{{class_name}}::{{method.name}} response")}} |
| + "&serialization_context_", desc)}} |
| {%- for param in method.response_parameters %} |
| *out_{{param.name}}_ = std::move(p_{{param.name}}); |
| @@ -133,9 +130,9 @@ bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( |
| reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_Data*>( |
| message->mutable_payload()); |
| +{%- set desc = class_name~"::"~method.name~" response" %} |
| {{alloc_params(method.response_param_struct, "params", "message", |
| - "&serialization_context_", |
| - "{{class_name}}_{{method.name}} response")}} |
| + "&serialization_context_", desc)}} |
| if (!callback_.is_null()) |
| callback_.Run({{pass_params(method.response_parameters)}}); |
| return true; |
| @@ -217,9 +214,7 @@ void {{proxy_name}}::{{method.name}}( |
| {%- set response_params_struct = method.response_param_struct %} |
| {%- set params_description = |
| "%s.%s response"|format(interface.name, method.name) %} |
| -class {{class_name}}_{{method.name}}_ProxyToResponder |
| - : public base::RefCountedThreadSafe< |
| - {{class_name}}_{{method.name}}_ProxyToResponder> { |
| +class {{class_name}}_{{method.name}}_ProxyToResponder { |
| public: |
| static {{class_name}}::{{method.name}}Callback CreateCallback( |
| uint64_t request_id, |
| @@ -227,26 +222,11 @@ class {{class_name}}_{{method.name}}_ProxyToResponder |
| mojo::MessageReceiverWithStatus* responder, |
| scoped_refptr<mojo::AssociatedGroupController> |
| group_controller) { |
| - scoped_refptr<{{class_name}}_{{method.name}}_ProxyToResponder> proxy |
| - = new {{class_name}}_{{method.name}}_ProxyToResponder( |
| - request_id, is_sync, responder, group_controller); |
| + std::unique_ptr<{{class_name}}_{{method.name}}_ProxyToResponder> proxy( |
| + new {{class_name}}_{{method.name}}_ProxyToResponder( |
| + request_id, is_sync, responder, group_controller)); |
| return base::Bind(&{{class_name}}_{{method.name}}_ProxyToResponder::Run, |
| - proxy); |
| - } |
| - |
| - private: |
| - friend class base::RefCountedThreadSafe< |
| - {{class_name}}_{{method.name}}_ProxyToResponder>; |
| - |
| - {{class_name}}_{{method.name}}_ProxyToResponder( |
| - uint64_t request_id, |
| - bool is_sync, |
| - mojo::MessageReceiverWithStatus* responder, |
| - scoped_refptr<mojo::AssociatedGroupController> group_controller) |
| - : request_id_(request_id), |
| - is_sync_(is_sync), |
| - responder_(responder), |
| - serialization_context_(std::move(group_controller)) { |
| + base::Passed(&proxy)); |
| } |
| ~{{class_name}}_{{method.name}}_ProxyToResponder() { |
| @@ -263,6 +243,18 @@ class {{class_name}}_{{method.name}}_ProxyToResponder |
| delete responder_; |
| } |
| + private: |
| + {{class_name}}_{{method.name}}_ProxyToResponder( |
| + uint64_t request_id, |
| + bool is_sync, |
| + mojo::MessageReceiverWithStatus* responder, |
| + scoped_refptr<mojo::AssociatedGroupController> group_controller) |
| + : request_id_(request_id), |
| + is_sync_(is_sync), |
| + responder_(responder), |
| + serialization_context_(std::move(group_controller)) { |
| + } |
| + |
| void Run( |
| {{interface_macros.declare_responder_params( |
| "in_", method.response_parameters, for_blink, |
| @@ -320,8 +312,9 @@ bool {{class_name}}Stub::Accept(mojo::Message* message) { |
| reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*>( |
| message->mutable_payload()); |
| +{%- set desc = class_name~"::"~method.name %} |
| {{alloc_params(method.param_struct, "params", "message", |
| - "&serialization_context_", "{{class_name}}::{{method.name}}") |
| + "&serialization_context_", desc) |
| |indent(4)}} |
|
yzshen1
2016/07/31 07:16:32
nit: now this line could be merged with the one ab
tibell
2016/07/31 23:50:29
Done.
|
| // A null |sink_| means no implementation was bound. |
| assert(sink_); |
| @@ -351,8 +344,9 @@ bool {{class_name}}Stub::AcceptWithResponder( |
| reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*>( |
| message->mutable_payload()); |
| +{%- set desc = class_name~"::"~method.name %} |
| {{alloc_params(method.param_struct, "params", "message", |
| - "&serialization_context_", "{{class_name}}::{{method.name}}")| |
| + "&serialization_context_", desc)| |
| indent(4)}} |
| {{class_name}}::{{method.name}}Callback callback = |
| {{class_name}}_{{method.name}}_ProxyToResponder::CreateCallback( |