Index: Source/bindings/scripts/v8_interface.py |
diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py |
index 8c4aef85f6e69b9532bd6c8327f01e167c545e18..406fee3ea90f3e71b91bbf804cda892c8fb5bab7 100644 |
--- a/Source/bindings/scripts/v8_interface.py |
+++ b/Source/bindings/scripts/v8_interface.py |
@@ -127,30 +127,31 @@ def interface_context(interface): |
includes.add('core/frame/UseCounter.h') |
# [SetWrapperReferenceFrom] |
- reachable_node_function = extended_attributes.get('SetWrapperReferenceFrom') |
- if reachable_node_function: |
+ set_wrapper_reference_from = extended_attributes.get('SetWrapperReferenceFrom') |
+ if set_wrapper_reference_from: |
includes.update(['bindings/core/v8/V8GCController.h', |
'core/dom/Element.h']) |
# [SetWrapperReferenceTo] |
- set_wrapper_reference_to_list = [{ |
- 'name': argument.name, |
- # FIXME: properly should be: |
- # 'cpp_type': argument.idl_type.cpp_type_args(raw_type=True), |
- # (if type is non-wrapper type like NodeFilter, normally RefPtr) |
- # Raw pointers faster though, and NodeFilter hacky anyway. |
- 'cpp_type': argument.idl_type.implemented_as + '*', |
- 'idl_type': argument.idl_type, |
- 'v8_type': v8_types.v8_type(argument.idl_type.name), |
- } for argument in extended_attributes.get('SetWrapperReferenceTo', [])] |
- for set_wrapper_reference_to in set_wrapper_reference_to_list: |
+ set_wrapper_reference_to_argument = extended_attributes.get('SetWrapperReferenceTo') |
+ set_wrapper_reference_to = None |
+ if set_wrapper_reference_to_argument: |
+ set_wrapper_reference_to = { |
+ 'name': set_wrapper_reference_to_argument.name, |
+ # FIXME: properly should be: |
+ # 'cpp_type': set_wrapper_reference_to_argument.idl_type.cpp_type_args(raw_type=True), |
+ # (if type is non-wrapper type like NodeFilter, normally RefPtr) |
+ # Raw pointers faster though, and NodeFilter hacky anyway. |
+ 'cpp_type': set_wrapper_reference_to_argument.idl_type.implemented_as + '*', |
+ 'idl_type': set_wrapper_reference_to_argument.idl_type, |
+ 'v8_type': v8_types.v8_type(set_wrapper_reference_to_argument.idl_type.name), |
+ } |
set_wrapper_reference_to['idl_type'].add_includes_for_type() |
# [SetWrapperReferenceFrom] |
has_visit_dom_wrapper = ( |
has_extended_attribute_value(interface, 'Custom', 'VisitDOMWrapper') or |
- reachable_node_function or |
- set_wrapper_reference_to_list) |
+ set_wrapper_reference_from or set_wrapper_reference_to) |
this_gc_type = gc_type(interface) |
@@ -194,9 +195,9 @@ def interface_context(interface): |
'pass_cpp_type': cpp_template_type( |
cpp_ptr_type('PassRefPtr', 'RawPtr', this_gc_type), |
cpp_name(interface)), |
- 'reachable_node_function': reachable_node_function, |
'runtime_enabled_function': runtime_enabled_function_name(interface), # [RuntimeEnabled] |
- 'set_wrapper_reference_to_list': set_wrapper_reference_to_list, |
+ 'set_wrapper_reference_from': set_wrapper_reference_from, |
+ 'set_wrapper_reference_to': set_wrapper_reference_to, |
'v8_class': v8_class_name, |
'v8_class_or_partial': v8_class_name_or_partial, |
'wrapper_class_id': wrapper_class_id, |