| Index: Source/bindings/scripts/v8_interface.py | 
| diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py | 
| index 09442160ea0526455b60536fbef654d390633477..0e25827cd41c66df462a62ffc34fd2557af9e938 100644 | 
| --- a/Source/bindings/scripts/v8_interface.py | 
| +++ b/Source/bindings/scripts/v8_interface.py | 
| @@ -83,11 +83,17 @@ def generate_interface(interface): | 
| 'bindings/v8/V8WindowShell.h', | 
| 'core/frame/LocalFrame.h']) | 
|  | 
| +    # [ActiveDOMObject] | 
| +    is_active_dom_object = 'ActiveDOMObject' in extended_attributes | 
| + | 
| # [CheckSecurity] | 
| is_check_security = 'CheckSecurity' in extended_attributes | 
| if is_check_security: | 
| includes.add('bindings/v8/BindingSecurity.h') | 
|  | 
| +    # [DependentLifetime] | 
| +    is_dependent_lifetime = 'DependentLifetime' in extended_attributes | 
| + | 
| # [MeasureAs] | 
| is_measure_as = 'MeasureAs' in extended_attributes | 
| if is_measure_as: | 
| @@ -124,23 +130,25 @@ def generate_interface(interface): | 
| # [WillBeGarbageCollected] | 
| is_will_be_garbage_collected = 'WillBeGarbageCollected' in extended_attributes | 
|  | 
| +    # [Custom=Wrap], [SetWrapperReferenceFrom] | 
| +    has_visit_dom_wrapper = ( | 
| +        has_extended_attribute_value(interface, 'Custom', 'VisitDOMWrapper') or | 
| +        reachable_node_function or | 
| +        set_wrapper_reference_to_list) | 
| + | 
| template_contents = { | 
| 'conditional_string': conditional_string(interface),  # [Conditional] | 
| 'cpp_class': cpp_name(interface), | 
| 'has_custom_legacy_call_as_function': has_extended_attribute_value(interface, 'Custom', 'LegacyCallAsFunction'),  # [Custom=LegacyCallAsFunction] | 
| 'has_custom_to_v8': has_extended_attribute_value(interface, 'Custom', 'ToV8'),  # [Custom=ToV8] | 
| 'has_custom_wrap': has_extended_attribute_value(interface, 'Custom', 'Wrap'),  # [Custom=Wrap] | 
| -        'has_visit_dom_wrapper': ( | 
| -            # [Custom=Wrap], [SetWrapperReferenceFrom] | 
| -            has_extended_attribute_value(interface, 'Custom', 'VisitDOMWrapper') or | 
| -            reachable_node_function or | 
| -            set_wrapper_reference_to_list), | 
| +        'has_visit_dom_wrapper': has_visit_dom_wrapper, | 
| 'header_includes': header_includes, | 
| 'interface_name': interface.name, | 
| -        'is_active_dom_object': 'ActiveDOMObject' in extended_attributes,  # [ActiveDOMObject] | 
| +        'is_active_dom_object': is_active_dom_object, | 
| 'is_audio_buffer': is_audio_buffer, | 
| 'is_check_security': is_check_security, | 
| -        'is_dependent_lifetime': 'DependentLifetime' in extended_attributes,  # [DependentLifetime] | 
| +        'is_dependent_lifetime': is_dependent_lifetime, | 
| 'is_document': is_document, | 
| 'is_event_target': inherits_interface(interface.name, 'EventTarget'), | 
| 'is_exception': interface.is_exception, | 
| @@ -157,6 +165,11 @@ def generate_interface(interface): | 
| 'set_wrapper_reference_to_list': set_wrapper_reference_to_list, | 
| 'special_wrap_for': special_wrap_for, | 
| 'v8_class': v8_utilities.v8_class_name(interface), | 
| +        'wrapper_configuration': 'WrapperConfiguration::Dependent' | 
| +            if (has_visit_dom_wrapper or | 
| +                is_active_dom_object or | 
| +                is_dependent_lifetime) | 
| +            else 'WrapperConfiguration::Independent', | 
| } | 
|  | 
| # Constructors | 
|  |