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 fb10155476c5611f30f9ec5469e76876d8495e80..4d49e53baddc164e1dee45c43f2f4d22c0adfda7 100644 |
--- a/Source/bindings/scripts/code_generator_v8.pm |
+++ b/Source/bindings/scripts/code_generator_v8.pm |
@@ -245,18 +245,13 @@ my %svgTypeNewPropertyImplementation = ( |
"SVGRect" => 1, |
"SVGString" => 1, |
"SVGStringList" => 1, |
+ "SVGTransform" => 1, |
+ "SVGTransformList" => 1, |
); |
my %svgTypeNeedingTearOff = ( |
"SVGAngle" => "SVGPropertyTearOff<SVGAngle>", |
- "SVGMatrix" => "SVGMatrixTearOff", |
"SVGPathSegList" => "SVGPathSegListPropertyTearOff", |
- "SVGTransform" => "SVGPropertyTearOff<SVGTransform>", |
- "SVGTransformList" => "SVGTransformListPropertyTearOff" |
-); |
- |
-my %svgTypeWithWritablePropertiesNeedingTearOff = ( |
- "SVGMatrix" => 1 |
); |
# Default license header |
@@ -559,12 +554,13 @@ END |
if ($svgPropertyType) { |
$setReferenceType = $svgNativeType; |
} |
+ my $setReferenceImplType = GetImplNameFromImplementedBy($setReferenceType); |
my $setReferenceName = $setReference->name; |
AddIncludesForType($setReferenceType); |
$code .= <<END; |
- ${setReferenceType}* ${setReferenceName} = impl->${setReferenceName}(); |
+ ${setReferenceImplType}* ${setReferenceName} = impl->${setReferenceName}(); |
if (${setReferenceName}) { |
if (!DOMDataStore::containsWrapper<${setReferenceV8Type}>(${setReferenceName}, isolate)) |
wrap(${setReferenceName}, creationContext, isolate); |
@@ -614,10 +610,6 @@ sub GetSVGPropertyTypes |
if ($svgNativeType =~ /SVGPropertyTearOff/) { |
$svgPropertyType = $svgWrappedNativeType; |
AddToHeaderIncludes("core/svg/properties/SVGAnimatedPropertyTearOff.h"); |
- } elsif ($svgNativeType =~ /SVGMatrixTearOff/) { |
- $svgPropertyType = $svgWrappedNativeType; |
- AddToHeaderIncludes("core/svg/properties/SVGMatrixTearOff.h"); |
- AddToHeaderIncludes("core/svg/properties/SVGAnimatedPropertyTearOff.h"); |
} elsif ($svgNativeType =~ /SVGListPropertyTearOff/ or $svgNativeType =~ /SVGStaticListPropertyTearOff/ or $svgNativeType =~ /SVGTransformListPropertyTearOff/) { |
$svgListPropertyType = $svgWrappedNativeType; |
AddToHeaderIncludes("core/svg/properties/SVGAnimatedListPropertyTearOff.h"); |
@@ -1721,25 +1713,7 @@ END |
AddToImplIncludes("core/svg/properties/SVGPropertyTearOff.h"); |
my $tearOffType = GetSVGTypeNeedingTearOff($attrType); |
my $wrappedValue; |
- if (IsSVGTypeWithWritablePropertiesNeedingTearOff($attrType) and not defined $attribute->extendedAttributes->{"Immutable"}) { |
- my $getter = $expression; |
- $getter =~ s/imp->//; |
- $getter =~ s/\(\)//; |
- |
- my $updateMethod = "&${implClassName}::update" . FirstLetterToUpperCase($getter); |
- |
- my $selfIsTearOffType = IsSVGTypeNeedingTearOff($interfaceName); |
- if ($selfIsTearOffType) { |
- AddToImplIncludes("core/svg/properties/SVGMatrixTearOff.h"); |
- # FIXME: Don't create a new one everytime we access the matrix property. This means, e.g, === won't work. |
- $wrappedValue = "WTF::getPtr(SVGMatrixTearOff::create(wrapper, $expression))"; |
- } else { |
- AddToImplIncludes("core/svg/properties/SVGStaticPropertyTearOff.h"); |
- $tearOffType =~ s/SVGPropertyTearOff</SVGStaticPropertyTearOff<$implClassName, /; |
- |
- $wrappedValue = "WTF::getPtr(${tearOffType}::create(imp, $expression, $updateMethod))"; |
- } |
- } elsif ($tearOffType =~ /SVGStaticListPropertyTearOff/) { |
+ if ($tearOffType =~ /SVGStaticListPropertyTearOff/) { |
$wrappedValue = "WTF::getPtr(${tearOffType}::create(imp, $expression))"; |
} elsif ($tearOffType =~ /SVG(Point|PathSeg)List/) { |
$wrappedValue = "WTF::getPtr($expression)"; |
@@ -5332,8 +5306,6 @@ END |
} |
END |
} |
- } elsif ($parameter->type eq "SVGMatrix" and $interfaceName eq "SVGTransformList") { |
- push @arguments, "$paramName.get()"; |
} elsif (IsNullableParameter($parameter)) { |
push @arguments, "${paramName}IsNull ? 0 : &$paramName"; |
} elsif (IsCallbackInterface($paramType) or $paramType eq "NodeFilter" or $paramType eq "XPathNSResolver") { |
@@ -6032,14 +6004,6 @@ sub IsSVGTypeNeedingTearOff |
return 0; |
} |
-sub IsSVGTypeWithWritablePropertiesNeedingTearOff |
-{ |
- my $type = shift; |
- |
- return 1 if $svgTypeWithWritablePropertiesNeedingTearOff{$type}; |
- return 0; |
-} |
- |
sub IsTypedArrayType |
{ |
my $type = shift; |
@@ -6102,8 +6066,6 @@ sub GetSVGWrappedTypeNeedingTearOff |
$svgTypeNeedingTearOff =~ s/SVGStaticListPropertyTearOff<//; |
} elsif ($svgTypeNeedingTearOff =~ /SVGTransformListPropertyTearOff/) { |
$svgTypeNeedingTearOff =~ s/SVGTransformListPropertyTearOff<//; |
- } elsif ($svgTypeNeedingTearOff =~ /SVGMatrixTearOff/) { |
- $svgTypeNeedingTearOff = 'SVGMatrix'; |
} |
$svgTypeNeedingTearOff =~ s/>//; |