Chromium Code Reviews| Index: third_party/WebKit/Source/bindings/scripts/v8_interface.py |
| diff --git a/third_party/WebKit/Source/bindings/scripts/v8_interface.py b/third_party/WebKit/Source/bindings/scripts/v8_interface.py |
| index bcfa35cc13b2e57c6c8be4891e61e12f976a0751..d476e8d95b8c9eb821bfa0690826d1387abe54cf 100644 |
| --- a/third_party/WebKit/Source/bindings/scripts/v8_interface.py |
| +++ b/third_party/WebKit/Source/bindings/scripts/v8_interface.py |
| @@ -145,11 +145,16 @@ def interface_context(interface): |
| } |
| set_wrapper_reference_to['idl_type'].add_includes_for_type() |
| - # [SetWrapperReferenceFrom] |
| + # [Custom=VisitDOMWrapper] |
| has_visit_dom_wrapper = ( |
| has_extended_attribute_value(interface, 'Custom', 'VisitDOMWrapper') or |
| set_wrapper_reference_from or set_wrapper_reference_to) |
| + # [TraceWrapperReferences] |
| + trace_wrapper_references = extended_attribute_value_as_list(interface, 'TraceWrapperReferences') |
| + if trace_wrapper_references: |
| + includes.add('bindings/core/v8/ScriptWrappableVisitor.h') |
| + |
| wrapper_class_id = ('NodeClassId' if inherits_interface(interface.name, 'Node') else 'ObjectClassId') |
| v8_class_name = v8_utilities.v8_class_name(interface) |
| @@ -169,6 +174,7 @@ def interface_context(interface): |
| 'has_custom_legacy_call_as_function': has_extended_attribute_value(interface, 'Custom', 'LegacyCallAsFunction'), # [Custom=LegacyCallAsFunction] |
| 'has_partial_interface': len(interface.partial_interfaces) > 0, |
| 'has_visit_dom_wrapper': has_visit_dom_wrapper, |
| + 'trace_wrapper_references': trace_wrapper_references, |
|
haraken
2016/04/19 04:58:31
trace_wrapper_references => trace_wrappers
Marcel Hlopko
2016/04/19 12:40:30
Done.
|
| 'header_includes': header_includes, |
| 'interface_name': interface.name, |
| 'is_array_buffer_or_view': is_array_buffer_or_view, |
| @@ -179,7 +185,7 @@ def interface_context(interface): |
| 'is_node': inherits_interface(interface.name, 'Node'), |
| 'is_partial': interface.is_partial, |
| 'is_typed_array_type': is_typed_array_type, |
| - 'lifetime': 'Dependent' if (has_visit_dom_wrapper or is_dependent_lifetime) else 'Independent', |
| + 'lifetime': 'Dependent' if (has_visit_dom_wrapper or trace_wrapper_references or is_dependent_lifetime) else 'Independent', |
| 'measure_as': v8_utilities.measure_as(interface, None), # [MeasureAs] |
| 'origin_trial_enabled_function': v8_utilities.origin_trial_enabled_function_name(interface, None), |
| 'parent_interface': parent_interface, |