| Index: Source/bindings/scripts/v8_interface.py | 
| diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py | 
| index cf852f4efc5825e0fa5d5e3b287b00fa585b1bfa..c371236612ce526d91d0b9cf27fdc23eb14851c4 100644 | 
| --- a/Source/bindings/scripts/v8_interface.py | 
| +++ b/Source/bindings/scripts/v8_interface.py | 
| @@ -48,7 +48,7 @@ from v8_types import cpp_ptr_type, cpp_template_type | 
| import v8_utilities | 
| from v8_utilities import (cpp_name_or_partial, capitalize, conditional_string, cpp_name, gc_type, | 
| has_extended_attribute_value, runtime_enabled_function_name, | 
| -                          extended_attribute_value_as_list) | 
| +                          extended_attribute_value_as_list, is_legacy_interface_type_checking) | 
|  | 
|  | 
| INTERFACE_H_INCLUDES = frozenset([ | 
| @@ -1275,13 +1275,15 @@ def property_setter(setter, interface): | 
| extended_attributes = setter.extended_attributes | 
| is_raises_exception = 'RaisesException' in extended_attributes | 
|  | 
| +    # [TypeChecking=Interface] / [LegacyInterfaceTypeChecking] | 
| +    has_type_checking_interface = ( | 
| +        not is_legacy_interface_type_checking(interface, setter) and | 
| +        idl_type.is_wrapper_type) | 
| + | 
| return { | 
| 'has_exception_state': (is_raises_exception or | 
| idl_type.v8_conversion_needs_exception_state), | 
| -        'has_type_checking_interface': | 
| -            (has_extended_attribute_value(interface, 'TypeChecking', 'Interface') or | 
| -             has_extended_attribute_value(setter, 'TypeChecking', 'Interface')) and | 
| -            idl_type.is_wrapper_type, | 
| +        'has_type_checking_interface': has_type_checking_interface, | 
| 'idl_type': idl_type.base_type, | 
| 'is_custom': 'Custom' in extended_attributes, | 
| 'is_nullable': idl_type.is_nullable, | 
|  |