| Index: Source/bindings/scripts/v8_types.py
|
| diff --git a/Source/bindings/scripts/v8_types.py b/Source/bindings/scripts/v8_types.py
|
| index 277ea8bd1cf040b0054fbbc6c42809e81113cfaf..c02da3f5a397ff05b220c0ca3d2bd5449012cdeb 100644
|
| --- a/Source/bindings/scripts/v8_types.py
|
| +++ b/Source/bindings/scripts/v8_types.py
|
| @@ -310,7 +310,7 @@ IdlType.set_will_be_garbage_collected_types = classmethod(
|
|
|
|
|
| def gc_type(idl_type):
|
| - if idl_type.is_garbage_collected or idl_type.is_dictionary:
|
| + if idl_type.is_garbage_collected or idl_type.is_dictionary or idl_type.is_union_type:
|
| return 'GarbageCollectedObject'
|
| if idl_type.is_will_be_garbage_collected:
|
| return 'WillBeGarbageCollectedObject'
|
| @@ -322,7 +322,8 @@ IdlTypeBase.gc_type = property(gc_type)
|
| def is_traceable(idl_type):
|
| return (idl_type.is_garbage_collected
|
| or idl_type.is_will_be_garbage_collected
|
| - or idl_type.is_dictionary)
|
| + or idl_type.is_dictionary
|
| + or idl_type.is_union_type)
|
|
|
| IdlTypeBase.is_traceable = property(is_traceable)
|
| IdlUnionType.is_traceable = property(
|
| @@ -593,7 +594,7 @@ def v8_value_to_cpp_value_array_or_sequence(native_array_element_type, v8_value,
|
| else:
|
| ref_ptr_type = None
|
| this_cpp_type = native_array_element_type.cpp_type
|
| - if native_array_element_type.is_dictionary:
|
| + if native_array_element_type.is_dictionary or native_array_element_type.is_union_type:
|
| vector_type = 'HeapVector'
|
| else:
|
| vector_type = 'Vector'
|
|
|