| Index: tools/dom/scripts/systemnative.py
|
| diff --git a/tools/dom/scripts/systemnative.py b/tools/dom/scripts/systemnative.py
|
| index 84f1cbc1e1d8de0fc0e2895497bda556222b982f..038825c60331ff7c517d43e90bc72947f67d7cb0 100644
|
| --- a/tools/dom/scripts/systemnative.py
|
| +++ b/tools/dom/scripts/systemnative.py
|
| @@ -737,6 +737,7 @@ class DartiumBackend(HtmlDartGenerator):
|
| cpp_arguments = []
|
| runtime_check = None
|
| raises_exceptions = raises_dom_exception or arguments
|
| + needs_custom_element_callbacks = False
|
|
|
| # TODO(antonm): unify with ScriptState below.
|
| requires_stack_info = (ext_attrs.get('CallWith') == 'ScriptArguments|ScriptState' or
|
| @@ -791,6 +792,10 @@ class DartiumBackend(HtmlDartGenerator):
|
| if return_type_is_nullable:
|
| cpp_arguments = ['isNull']
|
|
|
| + if ext_attrs.get('CustomElementCallbacks') == 'Enable':
|
| + self._cpp_impl_includes.add('"core/dom/CustomElementCallbackDispatcher.h"')
|
| + needs_custom_element_callbacks = True
|
| +
|
| v8EnabledPerContext = ext_attrs.get('synthesizedV8EnabledPerContext', ext_attrs.get('V8EnabledPerContext'))
|
| v8EnabledAtRuntime = ext_attrs.get('synthesizedV8EnabledAtRuntime', ext_attrs.get('V8EnabledAtRuntime'))
|
| assert(not (v8EnabledPerContext and v8EnabledAtRuntime))
|
| @@ -910,6 +915,9 @@ class DartiumBackend(HtmlDartGenerator):
|
| ' return;\n',
|
| INDEX=len(arguments) + 1)
|
|
|
| + if needs_custom_element_callbacks:
|
| + body_emitter.Emit(' CustomElementCallbackDispatcher::CallbackDeliveryScope deliveryScope;\n');
|
| +
|
| # Emit arguments.
|
| start_index = 1 if needs_receiver else 0
|
| for i, argument in enumerate(arguments):
|
|
|