Index: Source/bindings/scripts/unstable/v8_attributes.py |
diff --git a/Source/bindings/scripts/unstable/v8_attributes.py b/Source/bindings/scripts/unstable/v8_attributes.py |
index fbd00a82da01d8108406362c791e5d7ca17dce39..919835ac8f8f481d462a9ca39316ed59bb0d3958 100644 |
--- a/Source/bindings/scripts/unstable/v8_attributes.py |
+++ b/Source/bindings/scripts/unstable/v8_attributes.py |
@@ -170,7 +170,11 @@ def generate_getter(interface, attribute, contents): |
v8_set_return_value_statement = 'v8SetReturnValue(info, wrapper)' |
includes.add('bindings/v8/V8HiddenPropertyName.h') |
else: |
- v8_set_return_value_statement = v8_types.v8_set_return_value(idl_type, cpp_value, extended_attributes=extended_attributes, script_wrappable='imp') |
+ if attribute.is_nullable and v8_types.is_interface_type(idl_type): |
+ set_cpp_value = 'jsValue.release()' |
+ else: |
+ set_cpp_value = cpp_value |
+ v8_set_return_value_statement = v8_types.v8_set_return_value(idl_type, set_cpp_value, extended_attributes=extended_attributes, script_wrappable='imp') |
contents.update({ |
'cpp_value': cpp_value, |