| Index: Source/bindings/scripts/v8_interface.py | 
| diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py | 
| index b5f4103a1a8287470c7bffcb764f61b8c58ee489..ea2e4368cf708d3a6b7dd7b0371852466b8858a2 100644 | 
| --- a/Source/bindings/scripts/v8_interface.py | 
| +++ b/Source/bindings/scripts/v8_interface.py | 
| @@ -1175,12 +1175,16 @@ def property_getter(getter, cpp_arguments): | 
| } | 
|  | 
|  | 
| -def property_setter(setter): | 
| +def property_setter(interface, setter): | 
| idl_type = setter.arguments[1].idl_type | 
| extended_attributes = setter.extended_attributes | 
| is_raises_exception = 'RaisesException' in extended_attributes | 
| +    restricted_float = ( | 
| +        has_extended_attribute_value(interface, 'TypeChecking', 'Unrestricted') or | 
| +        has_extended_attribute_value(setter, 'TypeChecking', 'Unrestricted')) | 
| return { | 
| 'has_type_checking_interface': | 
| +            # FIXME: check interface's [TypeChecking] attribute too. | 
| has_extended_attribute_value(setter, 'TypeChecking', 'Interface') and | 
| idl_type.is_wrapper_type, | 
| 'idl_type': idl_type.base_type, | 
| @@ -1190,7 +1194,7 @@ def property_setter(setter): | 
| 'is_raises_exception': is_raises_exception, | 
| 'name': cpp_name(setter), | 
| 'v8_value_to_local_cpp_value': idl_type.v8_value_to_local_cpp_value( | 
| -            extended_attributes, 'v8Value', 'propertyValue'), | 
| +            extended_attributes, 'v8Value', 'propertyValue', restricted_float), | 
| } | 
|  | 
|  | 
| @@ -1242,7 +1246,7 @@ def indexed_property_setter(interface): | 
| except StopIteration: | 
| return None | 
|  | 
| -    return property_setter(setter) | 
| +    return property_setter(interface, setter) | 
|  | 
|  | 
| def indexed_property_deleter(interface): | 
| @@ -1296,7 +1300,7 @@ def named_property_setter(interface): | 
| except StopIteration: | 
| return None | 
|  | 
| -    return property_setter(setter) | 
| +    return property_setter(interface, setter) | 
|  | 
|  | 
| def named_property_deleter(interface): | 
|  |