Index: Source/bindings/scripts/deprecated_code_generator_v8.pm |
diff --git a/Source/bindings/scripts/deprecated_code_generator_v8.pm b/Source/bindings/scripts/deprecated_code_generator_v8.pm |
index ee5a0e85497c03c894056cb4c8d265b5d0c6e7f4..64933a749b0fc64869c5aa227b6f353112278714 100644 |
--- a/Source/bindings/scripts/deprecated_code_generator_v8.pm |
+++ b/Source/bindings/scripts/deprecated_code_generator_v8.pm |
@@ -210,7 +210,7 @@ my %svgTypeNeedingTearOff = ( |
"SVGLength" => "SVGPropertyTearOff<SVGLength>", |
"SVGLengthList" => "SVGListPropertyTearOff<SVGLengthList>", |
"SVGMatrix" => "SVGPropertyTearOff<SVGMatrix>", |
- "SVGNumber" => "SVGPropertyTearOff<float>", |
+ "SVGNumber" => "SVGPropertyTearOff<SVGNumber>", |
"SVGNumberList" => "SVGListPropertyTearOff<SVGNumberList>", |
"SVGPathSegList" => "SVGPathSegListPropertyTearOff", |
"SVGPoint" => "SVGPropertyTearOff<SVGPoint>", |
@@ -418,9 +418,6 @@ sub SkipIncludeHeader |
return 1 if IsEnumType($type); |
return 1 if IsCallbackFunctionType($type); |
return 1 if $type eq "DOMString"; |
- |
- # Special case: SVGNumber.h does not exist. |
- return 1 if $type eq "SVGNumber"; |
return 0; |
} |
@@ -518,7 +515,7 @@ sub GetSVGPropertyTypes |
my $svgWrappedNativeType = GetSVGWrappedTypeNeedingTearOff($implType); |
if ($svgNativeType =~ /SVGPropertyTearOff/) { |
$svgPropertyType = $svgWrappedNativeType; |
- AddToImplIncludes("core/svg/properties/SVGAnimatedPropertyTearOff.h"); |
+ AddToHeaderIncludes("core/svg/properties/SVGAnimatedPropertyTearOff.h"); |
} elsif ($svgNativeType =~ /SVGListPropertyTearOff/ or $svgNativeType =~ /SVGStaticListPropertyTearOff/ or $svgNativeType =~ /SVGTransformListPropertyTearOff/) { |
$svgListPropertyType = $svgWrappedNativeType; |
AddToHeaderIncludes("core/svg/properties/SVGAnimatedListPropertyTearOff.h"); |
@@ -1354,7 +1351,6 @@ sub GenerateNormalAttrGetter |
} |
AssertNotSequenceType($attrType); |
- my $getterStringUsesImp = $interfaceName ne "SVGNumber"; |
my $nativeType = GetNativeType($attribute->type, $attribute->extendedAttributes, ""); |
my $svgNativeType = GetSVGTypeNeedingTearOff($interfaceName); |
@@ -1375,12 +1371,8 @@ END |
$code .= <<END; |
$svgNativeType* wrapper = ${v8ClassName}::toNative(info.Holder()); |
$svgWrappedNativeType& impInstance = wrapper->propertyReference(); |
-END |
- if ($getterStringUsesImp) { |
- $code .= <<END; |
$svgWrappedNativeType* imp = &impInstance; |
END |
- } |
} |
} elsif ($attrExt->{"OnProto"} || $attrExt->{"Unforgeable"}) { |
if ($interfaceName eq "Window") { |
@@ -1401,7 +1393,7 @@ END |
} else { |
my $reflect = $attribute->extendedAttributes->{"Reflect"}; |
my $url = $attribute->extendedAttributes->{"URL"}; |
- if ($getterStringUsesImp && $reflect && !$url && InheritsInterface($interface, "Node") && $attrType eq "DOMString") { |
+ if ($reflect && !$url && InheritsInterface($interface, "Node") && $attrType eq "DOMString") { |
# Generate super-compact call for regular attribute getter: |
my ($functionName, @arguments) = GetterExpression($interfaceName, $attribute); |
$code .= " Element* imp = V8Element::toNative(info.Holder());\n"; |
@@ -1453,28 +1445,24 @@ END |
my $returnType = $attribute->type; |
my $getterString; |
- if ($getterStringUsesImp) { |
- my ($functionName, @arguments) = GetterExpression($interfaceName, $attribute); |
- push(@arguments, "isNull") if $isNullable; |
- push(@arguments, "es") if $useExceptions; |
- if ($attribute->extendedAttributes->{"ImplementedBy"}) { |
- my $implementedBy = $attribute->extendedAttributes->{"ImplementedBy"}; |
- my $implementedByImplName = GetImplNameFromImplementedBy($implementedBy); |
- AddToImplIncludes(HeaderFilesForInterface($implementedBy, $implementedByImplName)); |
- unshift(@arguments, "imp") if !$attribute->isStatic; |
- $functionName = "${implementedByImplName}::${functionName}"; |
- } elsif ($attribute->isStatic) { |
- $functionName = "${implClassName}::${functionName}"; |
- } else { |
- $functionName = "imp->${functionName}"; |
- } |
- my ($arg, $subCode) = GenerateCallWith($attribute->extendedAttributes->{"CallWith"}, " ", 0); |
- $code .= $subCode; |
- unshift(@arguments, @$arg); |
- $getterString = "${functionName}(" . join(", ", @arguments) . ")"; |
+ my ($functionName, @arguments) = GetterExpression($interfaceName, $attribute); |
+ push(@arguments, "isNull") if $isNullable; |
+ push(@arguments, "es") if $useExceptions; |
+ if ($attribute->extendedAttributes->{"ImplementedBy"}) { |
+ my $implementedBy = $attribute->extendedAttributes->{"ImplementedBy"}; |
+ my $implementedByImplName = GetImplNameFromImplementedBy($implementedBy); |
+ AddToImplIncludes(HeaderFilesForInterface($implementedBy, $implementedByImplName)); |
+ unshift(@arguments, "imp") if !$attribute->isStatic; |
+ $functionName = "${implementedByImplName}::${functionName}"; |
+ } elsif ($attribute->isStatic) { |
+ $functionName = "${implClassName}::${functionName}"; |
} else { |
- $getterString = "impInstance"; |
+ $functionName = "imp->${functionName}"; |
} |
+ my ($arg, $subCode) = GenerateCallWith($attribute->extendedAttributes->{"CallWith"}, " ", 0); |
+ $code .= $subCode; |
+ unshift(@arguments, @$arg); |
+ $getterString = "${functionName}(" . join(", ", @arguments) . ")"; |
my $expression; |
if ($attribute->type eq "EventListener" && $interface->name eq "Window") { |
@@ -1882,43 +1870,39 @@ END |
$code .= " ExceptionState es(info.GetIsolate());\n"; |
} |
- if ($interfaceName eq "SVGNumber") { |
- $code .= " *imp = $expression;\n"; |
+ if ($attribute->type eq "EventListener") { |
+ my $implSetterFunctionName = FirstLetterToUpperCase($attrName); |
+ AddToImplIncludes("bindings/v8/V8AbstractEventListener.h"); |
+ if (!InheritsInterface($interface, "Node")) { |
+ my $attrImplName = GetImplName($attribute); |
+ $code .= " transferHiddenDependency(info.Holder(), imp->${attrImplName}(isolatedWorldForIsolate(info.GetIsolate())), value, ${v8ClassName}::eventListenerCacheIndex, info.GetIsolate());\n"; |
+ } |
+ AddToImplIncludes("bindings/v8/V8EventListenerList.h"); |
+ if (($interfaceName eq "Window" or $interfaceName eq "WorkerGlobalScope") and $attribute->name eq "onerror") { |
+ AddToImplIncludes("bindings/v8/V8ErrorHandler.h"); |
+ $code .= " imp->set$implSetterFunctionName(V8EventListenerList::findOrCreateWrapper<V8ErrorHandler>(value, true), isolatedWorldForIsolate(info.GetIsolate()));\n"; |
+ } else { |
+ $code .= " imp->set$implSetterFunctionName(V8EventListenerList::getEventListener(value, true, ListenerFindOrCreate), isolatedWorldForIsolate(info.GetIsolate()));\n"; |
+ } |
} else { |
- if ($attribute->type eq "EventListener") { |
- my $implSetterFunctionName = FirstLetterToUpperCase($attrName); |
- AddToImplIncludes("bindings/v8/V8AbstractEventListener.h"); |
- if (!InheritsInterface($interface, "Node")) { |
- my $attrImplName = GetImplName($attribute); |
- $code .= " transferHiddenDependency(info.Holder(), imp->${attrImplName}(isolatedWorldForIsolate(info.GetIsolate())), value, ${v8ClassName}::eventListenerCacheIndex, info.GetIsolate());\n"; |
- } |
- AddToImplIncludes("bindings/v8/V8EventListenerList.h"); |
- if (($interfaceName eq "Window" or $interfaceName eq "WorkerGlobalScope") and $attribute->name eq "onerror") { |
- AddToImplIncludes("bindings/v8/V8ErrorHandler.h"); |
- $code .= " imp->set$implSetterFunctionName(V8EventListenerList::findOrCreateWrapper<V8ErrorHandler>(value, true), isolatedWorldForIsolate(info.GetIsolate()));\n"; |
- } else { |
- $code .= " imp->set$implSetterFunctionName(V8EventListenerList::getEventListener(value, true, ListenerFindOrCreate), isolatedWorldForIsolate(info.GetIsolate()));\n"; |
- } |
+ my ($functionName, @arguments) = SetterExpression($interfaceName, $attribute); |
+ push(@arguments, $expression); |
+ push(@arguments, "es") if $useExceptions; |
+ if ($attribute->extendedAttributes->{"ImplementedBy"}) { |
+ my $implementedBy = $attribute->extendedAttributes->{"ImplementedBy"}; |
+ my $implementedByImplName = GetImplNameFromImplementedBy($implementedBy); |
+ AddToImplIncludes(HeaderFilesForInterface($implementedBy, $implementedByImplName)); |
+ unshift(@arguments, "imp") if !$attribute->isStatic; |
+ $functionName = "${implementedByImplName}::${functionName}"; |
+ } elsif ($attribute->isStatic) { |
+ $functionName = "${implClassName}::${functionName}"; |
} else { |
- my ($functionName, @arguments) = SetterExpression($interfaceName, $attribute); |
- push(@arguments, $expression); |
- push(@arguments, "es") if $useExceptions; |
- if ($attribute->extendedAttributes->{"ImplementedBy"}) { |
- my $implementedBy = $attribute->extendedAttributes->{"ImplementedBy"}; |
- my $implementedByImplName = GetImplNameFromImplementedBy($implementedBy); |
- AddToImplIncludes(HeaderFilesForInterface($implementedBy, $implementedByImplName)); |
- unshift(@arguments, "imp") if !$attribute->isStatic; |
- $functionName = "${implementedByImplName}::${functionName}"; |
- } elsif ($attribute->isStatic) { |
- $functionName = "${implClassName}::${functionName}"; |
- } else { |
- $functionName = "imp->${functionName}"; |
- } |
- my ($arg, $subCode) = GenerateCallWith($attribute->extendedAttributes->{"SetterCallWith"} || $attribute->extendedAttributes->{"CallWith"}, " ", 1); |
- $code .= $subCode; |
- unshift(@arguments, @$arg); |
- $code .= " ${functionName}(" . join(", ", @arguments) . ");\n"; |
+ $functionName = "imp->${functionName}"; |
} |
+ my ($arg, $subCode) = GenerateCallWith($attribute->extendedAttributes->{"SetterCallWith"} || $attribute->extendedAttributes->{"CallWith"}, " ", 1); |
+ $code .= $subCode; |
+ unshift(@arguments, @$arg); |
+ $code .= " ${functionName}(" . join(", ", @arguments) . ");\n"; |
} |
if ($useExceptions) { |