Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Unified Diff: Source/bindings/scripts/code_generator_v8.pm

Issue 173363002: Move mediastream module to oilpan transition types (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added Finalized Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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))";

Powered by Google App Engine
This is Rietveld 408576698