| OLD | NEW |
| 1 # Copyright (C) 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> | 1 # Copyright (C) 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> |
| 2 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com> | 2 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com> |
| 3 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 3 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
| 4 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org> | 4 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org> |
| 5 # Copyright (C) 2006 Apple Computer, Inc. | 5 # Copyright (C) 2006 Apple Computer, Inc. |
| 6 # Copyright (C) 2007, 2008, 2009, 2012 Google Inc. | 6 # Copyright (C) 2007, 2008, 2009, 2012 Google Inc. |
| 7 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 7 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
| 8 # Copyright (C) Research In Motion Limited 2010. All rights reserved. | 8 # Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 9 # Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 # Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 10 # Copyright (C) 2012 Ericsson AB. All rights reserved. | 10 # Copyright (C) 2012 Ericsson AB. All rights reserved. |
| (...skipping 3012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3023 for my $i (0 .. scalar(@$types)-1) { | 3023 for my $i (0 .. scalar(@$types)-1) { |
| 3024 my $unionMemberType = $types->[$i]; | 3024 my $unionMemberType = $types->[$i]; |
| 3025 my $unionMemberVariable = $variableName . $i; | 3025 my $unionMemberVariable = $variableName . $i; |
| 3026 my $isNull = GenerateIsNullExpression($unionMemberType, $unionMember
Variable); | 3026 my $isNull = GenerateIsNullExpression($unionMemberType, $unionMember
Variable); |
| 3027 push @expression, $isNull; | 3027 push @expression, $isNull; |
| 3028 } | 3028 } |
| 3029 return join " && ", @expression; | 3029 return join " && ", @expression; |
| 3030 } | 3030 } |
| 3031 if (IsRefPtrType($type)) { | 3031 if (IsRefPtrType($type)) { |
| 3032 return "!${variableName}"; | 3032 return "!${variableName}"; |
| 3033 } elsif ($type eq "DOMString") { |
| 3034 return "${variableName}.isNull()"; |
| 3033 } else { | 3035 } else { |
| 3034 return "${variableName}.isNull()"; | 3036 return ""; |
| 3035 } | 3037 } |
| 3036 } | 3038 } |
| 3037 | 3039 |
| 3038 sub GenerateImplementationIndexedProperty | 3040 sub GenerateImplementationIndexedProperty |
| 3039 { | 3041 { |
| 3040 my $interface = shift; | 3042 my $interface = shift; |
| 3041 my $interfaceName = $interface->name; | 3043 my $interfaceName = $interface->name; |
| 3042 my $implClassName = GetImplName($interface); | 3044 my $implClassName = GetImplName($interface); |
| 3043 my $v8ClassName = GetV8ClassName($interface); | 3045 my $v8ClassName = GetV8ClassName($interface); |
| 3044 | 3046 |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3190 push @arguments, "ec"; | 3192 push @arguments, "ec"; |
| 3191 } | 3193 } |
| 3192 | 3194 |
| 3193 if (IsUnionType($returnType)) { | 3195 if (IsUnionType($returnType)) { |
| 3194 my $code = ""; | 3196 my $code = ""; |
| 3195 my @extraArguments = (); | 3197 my @extraArguments = (); |
| 3196 for my $i (0..scalar(@{$returnType->unionMemberTypes})-1) { | 3198 for my $i (0..scalar(@{$returnType->unionMemberTypes})-1) { |
| 3197 my $unionMemberType = $returnType->unionMemberTypes->[$i]; | 3199 my $unionMemberType = $returnType->unionMemberTypes->[$i]; |
| 3198 my $nativeType = GetNativeType($unionMemberType); | 3200 my $nativeType = GetNativeType($unionMemberType); |
| 3199 my $unionMemberVariable = $returnName . $i; | 3201 my $unionMemberVariable = $returnName . $i; |
| 3202 my $unionMemberEnabledVariable = $returnName . $i . "Enabled"; |
| 3203 $code .= " bool ${unionMemberEnabledVariable} = false;\n"; |
| 3200 $code .= " ${nativeType} ${unionMemberVariable};\n"; | 3204 $code .= " ${nativeType} ${unionMemberVariable};\n"; |
| 3205 push @extraArguments, $unionMemberEnabledVariable; |
| 3201 push @extraArguments, $unionMemberVariable; | 3206 push @extraArguments, $unionMemberVariable; |
| 3202 } | 3207 } |
| 3203 push @arguments, @extraArguments; | 3208 push @arguments, @extraArguments; |
| 3204 $code .= " ${functionExpression}(" . (join ", ", @arguments) . ");"; | 3209 $code .= " ${functionExpression}(" . (join ", ", @arguments) . ");"; |
| 3205 return $code; | 3210 return $code; |
| 3206 } else { | 3211 } else { |
| 3207 my $nativeType = GetNativeType($returnType); | 3212 my $nativeType = GetNativeType($returnType); |
| 3208 return " ${nativeType} element = ${functionExpression}(" . (join ", "
, @arguments) . ");" | 3213 return " ${nativeType} element = ${functionExpression}(" . (join ", "
, @arguments) . ");" |
| 3209 } | 3214 } |
| 3210 } | 3215 } |
| (...skipping 1503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4714 my $returnHandleTypeArg = $returnHandleType ? ", $returnHandleType" : ""; | 4719 my $returnHandleTypeArg = $returnHandleType ? ", $returnHandleType" : ""; |
| 4715 my $forMainWorldSuffix = shift || ""; | 4720 my $forMainWorldSuffix = shift || ""; |
| 4716 | 4721 |
| 4717 if (IsUnionType($type)) { | 4722 if (IsUnionType($type)) { |
| 4718 my $types = $type->unionMemberTypes; | 4723 my $types = $type->unionMemberTypes; |
| 4719 my @codes = (); | 4724 my @codes = (); |
| 4720 for my $i (0 .. scalar(@$types)-1) { | 4725 for my $i (0 .. scalar(@$types)-1) { |
| 4721 my $unionMemberType = $types->[$i]; | 4726 my $unionMemberType = $types->[$i]; |
| 4722 my $unionMemberNumber = $i + 1; | 4727 my $unionMemberNumber = $i + 1; |
| 4723 my $unionMemberVariable = $nativeValue . $i; | 4728 my $unionMemberVariable = $nativeValue . $i; |
| 4729 my $unionMemberEnabledVariable = $nativeValue . $i . "Enabled"; |
| 4724 my $unionMemberNativeValue = $unionMemberVariable; | 4730 my $unionMemberNativeValue = $unionMemberVariable; |
| 4725 $unionMemberNativeValue .= ".release()" if (IsRefPtrType($unionMembe
rType)); | 4731 $unionMemberNativeValue .= ".release()" if (IsRefPtrType($unionMembe
rType)); |
| 4726 my $returnJSValueCode = NativeToJSValue($unionMemberType, $extendedA
ttributes, $unionMemberNativeValue, $indent . " ", $receiver, $getCreationCon
text, $getIsolate, $getHolderContainer, $getScriptWrappable, $returnHandleType,
$forMainWorldSuffix); | 4732 my $returnJSValueCode = NativeToJSValue($unionMemberType, $extendedA
ttributes, $unionMemberNativeValue, $indent . " ", $receiver, $getCreationCon
text, $getIsolate, $getHolderContainer, $getScriptWrappable, $returnHandleType,
$forMainWorldSuffix); |
| 4727 my $isNotNull = "!" . GenerateIsNullExpression($unionMemberType, $un
ionMemberVariable); | 4733 my $isNotNull = GenerateIsNullExpression($unionMemberType, $unionMem
berVariable); |
| 4734 $isNotNull = " && !" . $isNotNull if $isNotNull; |
| 4728 my $code = ""; | 4735 my $code = ""; |
| 4729 $code .= "${indent}if (${isNotNull})\n"; | 4736 $code .= "${indent}if (${unionMemberEnabledVariable}${isNotNull})\n"
; |
| 4730 $code .= "${returnJSValueCode}"; | 4737 $code .= "${returnJSValueCode}"; |
| 4731 push @codes, $code; | 4738 push @codes, $code; |
| 4732 } | 4739 } |
| 4733 return join "\n", @codes; | 4740 return join "\n", @codes; |
| 4734 } | 4741 } |
| 4735 | 4742 |
| 4736 return "$indent$receiver v8Boolean($nativeValue, $getIsolate);" if $type eq
"boolean"; | 4743 return "$indent$receiver v8Boolean($nativeValue, $getIsolate);" if $type eq
"boolean"; |
| 4737 return "$indent$receiver v8Undefined();" if $type eq "void"; # equivalen
t to v8Undefined() | 4744 return "$indent$receiver v8Undefined();" if $type eq "void"; # equivalen
t to v8Undefined() |
| 4738 | 4745 |
| 4739 # HTML5 says that unsigned reflected attributes should be in the range | 4746 # HTML5 says that unsigned reflected attributes should be in the range |
| (...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5381 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { | 5388 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { |
| 5382 $found = 1; | 5389 $found = 1; |
| 5383 } | 5390 } |
| 5384 return 1 if $found; | 5391 return 1 if $found; |
| 5385 }, 0); | 5392 }, 0); |
| 5386 | 5393 |
| 5387 return $found; | 5394 return $found; |
| 5388 } | 5395 } |
| 5389 | 5396 |
| 5390 1; | 5397 1; |
| OLD | NEW |