| 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 3013 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3024 for my $i (0 .. scalar(@$types)-1) { | 3024 for my $i (0 .. scalar(@$types)-1) { |
| 3025 my $unionMemberType = $types->[$i]; | 3025 my $unionMemberType = $types->[$i]; |
| 3026 my $unionMemberVariable = $variableName . $i; | 3026 my $unionMemberVariable = $variableName . $i; |
| 3027 my $isNull = GenerateIsNullExpression($unionMemberType, $unionMember
Variable); | 3027 my $isNull = GenerateIsNullExpression($unionMemberType, $unionMember
Variable); |
| 3028 push @expression, $isNull; | 3028 push @expression, $isNull; |
| 3029 } | 3029 } |
| 3030 return join " && ", @expression; | 3030 return join " && ", @expression; |
| 3031 } | 3031 } |
| 3032 if (IsRefPtrType($type)) { | 3032 if (IsRefPtrType($type)) { |
| 3033 return "!${variableName}"; | 3033 return "!${variableName}"; |
| 3034 } elsif ($type eq "DOMString") { |
| 3035 return "${variableName}.isNull()"; |
| 3034 } else { | 3036 } else { |
| 3035 return "${variableName}.isNull()"; | 3037 return ""; |
| 3036 } | 3038 } |
| 3037 } | 3039 } |
| 3038 | 3040 |
| 3039 sub GenerateImplementationIndexedProperty | 3041 sub GenerateImplementationIndexedProperty |
| 3040 { | 3042 { |
| 3041 my $interface = shift; | 3043 my $interface = shift; |
| 3042 my $interfaceName = $interface->name; | 3044 my $interfaceName = $interface->name; |
| 3043 my $implClassName = GetImplName($interface); | 3045 my $implClassName = GetImplName($interface); |
| 3044 my $v8ClassName = GetV8ClassName($interface); | 3046 my $v8ClassName = GetV8ClassName($interface); |
| 3045 | 3047 |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3191 push @arguments, "ec"; | 3193 push @arguments, "ec"; |
| 3192 } | 3194 } |
| 3193 | 3195 |
| 3194 if (IsUnionType($returnType)) { | 3196 if (IsUnionType($returnType)) { |
| 3195 my $code = ""; | 3197 my $code = ""; |
| 3196 my @extraArguments = (); | 3198 my @extraArguments = (); |
| 3197 for my $i (0..scalar(@{$returnType->unionMemberTypes})-1) { | 3199 for my $i (0..scalar(@{$returnType->unionMemberTypes})-1) { |
| 3198 my $unionMemberType = $returnType->unionMemberTypes->[$i]; | 3200 my $unionMemberType = $returnType->unionMemberTypes->[$i]; |
| 3199 my $nativeType = GetNativeType($unionMemberType); | 3201 my $nativeType = GetNativeType($unionMemberType); |
| 3200 my $unionMemberVariable = $returnName . $i; | 3202 my $unionMemberVariable = $returnName . $i; |
| 3203 my $unionMemberEnabledVariable = $returnName . $i . "Enabled"; |
| 3204 $code .= " bool ${unionMemberEnabledVariable} = false;\n"; |
| 3201 $code .= " ${nativeType} ${unionMemberVariable};\n"; | 3205 $code .= " ${nativeType} ${unionMemberVariable};\n"; |
| 3206 push @extraArguments, $unionMemberEnabledVariable; |
| 3202 push @extraArguments, $unionMemberVariable; | 3207 push @extraArguments, $unionMemberVariable; |
| 3203 } | 3208 } |
| 3204 push @arguments, @extraArguments; | 3209 push @arguments, @extraArguments; |
| 3205 $code .= " ${functionExpression}(" . (join ", ", @arguments) . ");"; | 3210 $code .= " ${functionExpression}(" . (join ", ", @arguments) . ");"; |
| 3206 return $code; | 3211 return $code; |
| 3207 } else { | 3212 } else { |
| 3208 my $nativeType = GetNativeType($returnType); | 3213 my $nativeType = GetNativeType($returnType); |
| 3209 return " ${nativeType} element = ${functionExpression}(" . (join ", "
, @arguments) . ");" | 3214 return " ${nativeType} element = ${functionExpression}(" . (join ", "
, @arguments) . ");" |
| 3210 } | 3215 } |
| 3211 } | 3216 } |
| (...skipping 1513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4725 my $returnHandleTypeArg = $returnHandleType ? ", $returnHandleType" : ""; | 4730 my $returnHandleTypeArg = $returnHandleType ? ", $returnHandleType" : ""; |
| 4726 my $forMainWorldSuffix = shift || ""; | 4731 my $forMainWorldSuffix = shift || ""; |
| 4727 | 4732 |
| 4728 if (IsUnionType($type)) { | 4733 if (IsUnionType($type)) { |
| 4729 my $types = $type->unionMemberTypes; | 4734 my $types = $type->unionMemberTypes; |
| 4730 my @codes = (); | 4735 my @codes = (); |
| 4731 for my $i (0 .. scalar(@$types)-1) { | 4736 for my $i (0 .. scalar(@$types)-1) { |
| 4732 my $unionMemberType = $types->[$i]; | 4737 my $unionMemberType = $types->[$i]; |
| 4733 my $unionMemberNumber = $i + 1; | 4738 my $unionMemberNumber = $i + 1; |
| 4734 my $unionMemberVariable = $nativeValue . $i; | 4739 my $unionMemberVariable = $nativeValue . $i; |
| 4740 my $unionMemberEnabledVariable = $nativeValue . $i . "Enabled"; |
| 4735 my $unionMemberNativeValue = $unionMemberVariable; | 4741 my $unionMemberNativeValue = $unionMemberVariable; |
| 4736 $unionMemberNativeValue .= ".release()" if (IsRefPtrType($unionMembe
rType)); | 4742 $unionMemberNativeValue .= ".release()" if (IsRefPtrType($unionMembe
rType)); |
| 4737 my $returnJSValueCode = NativeToJSValue($unionMemberType, $extendedA
ttributes, $unionMemberNativeValue, $indent . " ", $receiver, $getCreationCon
text, $getIsolate, $getHolderContainer, $getScriptWrappable, $returnHandleType,
$forMainWorldSuffix); | 4743 my $returnJSValueCode = NativeToJSValue($unionMemberType, $extendedA
ttributes, $unionMemberNativeValue, $indent . " ", $receiver, $getCreationCon
text, $getIsolate, $getHolderContainer, $getScriptWrappable, $returnHandleType,
$forMainWorldSuffix); |
| 4738 my $isNotNull = "!" . GenerateIsNullExpression($unionMemberType, $un
ionMemberVariable); | 4744 my $isNotNull = GenerateIsNullExpression($unionMemberType, $unionMem
berVariable); |
| 4745 $isNotNull = " && !" . $isNotNull if $isNotNull; |
| 4739 my $code = ""; | 4746 my $code = ""; |
| 4740 $code .= "${indent}if (${isNotNull})\n"; | 4747 $code .= "${indent}if (${unionMemberEnabledVariable}${isNotNull})\n"
; |
| 4741 $code .= "${returnJSValueCode}"; | 4748 $code .= "${returnJSValueCode}"; |
| 4742 push @codes, $code; | 4749 push @codes, $code; |
| 4743 } | 4750 } |
| 4744 return join "\n", @codes; | 4751 return join "\n", @codes; |
| 4745 } | 4752 } |
| 4746 | 4753 |
| 4747 return "$indent$receiver v8Boolean($nativeValue, $getIsolate);" if $type eq
"boolean"; | 4754 return "$indent$receiver v8Boolean($nativeValue, $getIsolate);" if $type eq
"boolean"; |
| 4748 return "$indent$receiver v8Undefined();" if $type eq "void"; # equivalen
t to v8Undefined() | 4755 return "$indent$receiver v8Undefined();" if $type eq "void"; # equivalen
t to v8Undefined() |
| 4749 | 4756 |
| 4750 # HTML5 says that unsigned reflected attributes should be in the range | 4757 # HTML5 says that unsigned reflected attributes should be in the range |
| (...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5392 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { | 5399 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { |
| 5393 $found = 1; | 5400 $found = 1; |
| 5394 } | 5401 } |
| 5395 return 1 if $found; | 5402 return 1 if $found; |
| 5396 }, 0); | 5403 }, 0); |
| 5397 | 5404 |
| 5398 return $found; | 5405 return $found; |
| 5399 } | 5406 } |
| 5400 | 5407 |
| 5401 1; | 5408 1; |
| OLD | NEW |