| Index: tools/dom/scripts/systemnative.py
|
| diff --git a/tools/dom/scripts/systemnative.py b/tools/dom/scripts/systemnative.py
|
| index c016b7ebe92c19d9d4cd2ead190b974ce2425473..648f2eb059359fc8b28f62634967c2c18909b129 100644
|
| --- a/tools/dom/scripts/systemnative.py
|
| +++ b/tools/dom/scripts/systemnative.py
|
| @@ -576,10 +576,12 @@ class DartiumBackend(HtmlDartGenerator):
|
| 'static ' if operation.is_static else '',
|
| self.SecureOutputType(operation.type.id),
|
| overload_name, argument_list)
|
| + is_custom = 'Custom' in operation.ext_attrs
|
| cpp_callback_name = self._GenerateNativeBinding(
|
| overload_name, (0 if operation.is_static else 1) + argument_count,
|
| - dart_declaration, 'Callback', False, False)
|
| - self._GenerateOperationNativeCallback(operation, operation.arguments[:argument_count], cpp_callback_name)
|
| + dart_declaration, 'Callback', is_custom, emit_metadata=False)
|
| + if not is_custom:
|
| + self._GenerateOperationNativeCallback(operation, operation.arguments[:argument_count], cpp_callback_name)
|
|
|
| self._GenerateDispatcherBody(
|
| info,
|
| @@ -787,6 +789,7 @@ class DartiumBackend(HtmlDartGenerator):
|
| start_index = 1 if needs_receiver else 0
|
| for i, argument in enumerate(arguments):
|
| type_info = self._TypeInfo(argument.type.id)
|
| + self._cpp_impl_includes |= set(type_info.conversion_includes())
|
| argument_expression_template, type, cls, function = \
|
| type_info.to_native_info(argument, self._interface.id)
|
|
|
|
|