| Index: Source/bindings/scripts/code_generator_v8.pm | 
| diff --git a/Source/bindings/scripts/code_generator_v8.pm b/Source/bindings/scripts/code_generator_v8.pm | 
| index 825b6c65fd4c68c0044d9df07d038594f7e5d923..9c378bba9d67a93fba9eabca8817b7b7aa08c29a 100644 | 
| --- a/Source/bindings/scripts/code_generator_v8.pm | 
| +++ b/Source/bindings/scripts/code_generator_v8.pm | 
| @@ -5439,6 +5439,7 @@ sub GetNativeType | 
| my $type = shift; | 
| my $extendedAttributes = shift; | 
| my $isParameter = shift; | 
| +    my $isMember = shift; | 
|  | 
| my $svgNativeType = GetSVGTypeNeedingTearOff($type); | 
| if ($svgNativeType) { | 
| @@ -5489,7 +5490,11 @@ sub GetNativeType | 
| if ($isParameter) { | 
| return "$implClassName*"; | 
| } elsif (IsWillBeGarbageCollectedType($interface->name)) { | 
| -            return "RefPtrWillBeRawPtr<$implClassName>"; | 
| +            if ($isMember) { | 
| +                return "RefPtrWillBeMember<$implClassName>"; | 
| +            } else { | 
| +                return "RefPtrWillBeRawPtr<$implClassName>"; | 
| +            } | 
| } else { | 
| return "RefPtr<$implClassName>"; | 
| } | 
| @@ -5499,9 +5504,15 @@ sub GetNativeType | 
| my $arrayOrSequenceType = GetArrayOrSequenceType($type); | 
|  | 
| if ($arrayOrSequenceType) { | 
| -        my $nativeType = GetNativeType($arrayOrSequenceType); | 
| -        $nativeType .= " " if ($nativeType =~ />$/); | 
| -        return "Vector<${nativeType}>"; | 
| +        if (IsWillBeGarbageCollectedType($arrayOrSequenceType)) { | 
| +            my $nativeType = GetNativeType($arrayOrSequenceType, {}, "", "member"); | 
| +            $nativeType .= " " if ($nativeType =~ />$/); | 
| +            return "WillBeHeapVector<${nativeType}>"; | 
| +        } else { | 
| +            my $nativeType = GetNativeType($arrayOrSequenceType); | 
| +            $nativeType .= " " if ($nativeType =~ />$/); | 
| +            return "Vector<${nativeType}>"; | 
| +        } | 
| } | 
|  | 
| # Default, assume native type is a pointer with same type name as idl type | 
| @@ -5626,6 +5637,10 @@ sub JSValueToNative | 
| my $arrayOrSequenceType = GetArrayOrSequenceType($type); | 
|  | 
| if ($arrayOrSequenceType) { | 
| +        if (IsWillBeGarbageCollectedType($arrayOrSequenceType)) { | 
| +            AddToImplIncludes("V8${arrayOrSequenceType}.h"); | 
| +            return "(toRefPtrWillBeMemberNativeArray<${arrayOrSequenceType}, V8${arrayOrSequenceType}>($value, $argIndexOrZero, $getIsolate))"; | 
| +        } | 
| if (IsRefPtrType($arrayOrSequenceType)) { | 
| AddToImplIncludes("V8${arrayOrSequenceType}.h"); | 
| return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequenceType}>($value, $argIndexOrZero, $getIsolate))"; | 
|  |