| 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 5421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5432 $code .= $nativeValue . "\n" if $nativeValue; # Skip blank line for void re
turn type | 5432 $code .= $nativeValue . "\n" if $nativeValue; # Skip blank line for void re
turn type |
| 5433 | 5433 |
| 5434 return $code; | 5434 return $code; |
| 5435 } | 5435 } |
| 5436 | 5436 |
| 5437 sub GetNativeType | 5437 sub GetNativeType |
| 5438 { | 5438 { |
| 5439 my $type = shift; | 5439 my $type = shift; |
| 5440 my $extendedAttributes = shift; | 5440 my $extendedAttributes = shift; |
| 5441 my $isParameter = shift; | 5441 my $isParameter = shift; |
| 5442 my $isMember = shift; |
| 5442 | 5443 |
| 5443 my $svgNativeType = GetSVGTypeNeedingTearOff($type); | 5444 my $svgNativeType = GetSVGTypeNeedingTearOff($type); |
| 5444 if ($svgNativeType) { | 5445 if ($svgNativeType) { |
| 5445 if ($svgNativeType =~ /List$/) { | 5446 if ($svgNativeType =~ /List$/) { |
| 5446 return "${svgNativeType}*"; | 5447 return "${svgNativeType}*"; |
| 5447 } else { | 5448 } else { |
| 5448 return "RefPtr<${svgNativeType} >"; | 5449 return "RefPtr<${svgNativeType} >"; |
| 5449 } | 5450 } |
| 5450 } | 5451 } |
| 5451 | 5452 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 5482 } | 5483 } |
| 5483 | 5484 |
| 5484 # We need to check [ImplementedAs] extended attribute for wrapper types. | 5485 # We need to check [ImplementedAs] extended attribute for wrapper types. |
| 5485 return "RefPtr<$type>" if $type eq "XPathNSResolver"; # FIXME: can this be
put in nonWrapperTypes instead? | 5486 return "RefPtr<$type>" if $type eq "XPathNSResolver"; # FIXME: can this be
put in nonWrapperTypes instead? |
| 5486 if (IsWrapperType($type)) { | 5487 if (IsWrapperType($type)) { |
| 5487 my $interface = ParseInterface($type); | 5488 my $interface = ParseInterface($type); |
| 5488 my $implClassName = GetImplName($interface); | 5489 my $implClassName = GetImplName($interface); |
| 5489 if ($isParameter) { | 5490 if ($isParameter) { |
| 5490 return "$implClassName*"; | 5491 return "$implClassName*"; |
| 5491 } elsif (IsWillBeGarbageCollectedType($interface->name)) { | 5492 } elsif (IsWillBeGarbageCollectedType($interface->name)) { |
| 5492 return "RefPtrWillBeRawPtr<$implClassName>"; | 5493 if ($isMember) { |
| 5494 return "RefPtrWillBeMember<$implClassName>"; |
| 5495 } else { |
| 5496 return "RefPtrWillBeRawPtr<$implClassName>"; |
| 5497 } |
| 5493 } else { | 5498 } else { |
| 5494 return "RefPtr<$implClassName>"; | 5499 return "RefPtr<$implClassName>"; |
| 5495 } | 5500 } |
| 5496 } | 5501 } |
| 5497 return "RefPtr<$type>" if IsRefPtrType($type) and (not $isParameter or $nonW
rapperTypes{$type}); | 5502 return "RefPtr<$type>" if IsRefPtrType($type) and (not $isParameter or $nonW
rapperTypes{$type}); |
| 5498 | 5503 |
| 5499 my $arrayOrSequenceType = GetArrayOrSequenceType($type); | 5504 my $arrayOrSequenceType = GetArrayOrSequenceType($type); |
| 5500 | 5505 |
| 5501 if ($arrayOrSequenceType) { | 5506 if ($arrayOrSequenceType) { |
| 5502 my $nativeType = GetNativeType($arrayOrSequenceType); | 5507 if (IsWillBeGarbageCollectedType($arrayOrSequenceType)) { |
| 5503 $nativeType .= " " if ($nativeType =~ />$/); | 5508 my $nativeType = GetNativeType($arrayOrSequenceType, {}, "", "member
"); |
| 5504 return "Vector<${nativeType}>"; | 5509 $nativeType .= " " if ($nativeType =~ />$/); |
| 5510 return "WillBeHeapVector<${nativeType}>"; |
| 5511 } else { |
| 5512 my $nativeType = GetNativeType($arrayOrSequenceType); |
| 5513 $nativeType .= " " if ($nativeType =~ />$/); |
| 5514 return "Vector<${nativeType}>"; |
| 5515 } |
| 5505 } | 5516 } |
| 5506 | 5517 |
| 5507 # Default, assume native type is a pointer with same type name as idl type | 5518 # Default, assume native type is a pointer with same type name as idl type |
| 5508 return "${type}*"; | 5519 return "${type}*"; |
| 5509 } | 5520 } |
| 5510 | 5521 |
| 5511 sub GetNativeTypeForCallbacks | 5522 sub GetNativeTypeForCallbacks |
| 5512 { | 5523 { |
| 5513 my $type = shift; | 5524 my $type = shift; |
| 5514 return "const String&" if $type eq "DOMString"; | 5525 return "const String&" if $type eq "DOMString"; |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5619 return "$value->Is${type}() ? V8${type}::toNative(v8::Handle<v8::${type}
>::Cast($value)) : 0" | 5630 return "$value->Is${type}() ? V8${type}::toNative(v8::Handle<v8::${type}
>::Cast($value)) : 0" |
| 5620 } | 5631 } |
| 5621 | 5632 |
| 5622 if ($type eq "XPathNSResolver") { | 5633 if ($type eq "XPathNSResolver") { |
| 5623 return "toXPathNSResolver($value, $getIsolate)"; | 5634 return "toXPathNSResolver($value, $getIsolate)"; |
| 5624 } | 5635 } |
| 5625 | 5636 |
| 5626 my $arrayOrSequenceType = GetArrayOrSequenceType($type); | 5637 my $arrayOrSequenceType = GetArrayOrSequenceType($type); |
| 5627 | 5638 |
| 5628 if ($arrayOrSequenceType) { | 5639 if ($arrayOrSequenceType) { |
| 5640 if (IsWillBeGarbageCollectedType($arrayOrSequenceType)) { |
| 5641 AddToImplIncludes("V8${arrayOrSequenceType}.h"); |
| 5642 return "(toRefPtrWillBeMemberNativeArray<${arrayOrSequenceType}, V8$
{arrayOrSequenceType}>($value, $argIndexOrZero, $getIsolate))"; |
| 5643 } |
| 5629 if (IsRefPtrType($arrayOrSequenceType)) { | 5644 if (IsRefPtrType($arrayOrSequenceType)) { |
| 5630 AddToImplIncludes("V8${arrayOrSequenceType}.h"); | 5645 AddToImplIncludes("V8${arrayOrSequenceType}.h"); |
| 5631 return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequ
enceType}>($value, $argIndexOrZero, $getIsolate))"; | 5646 return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequ
enceType}>($value, $argIndexOrZero, $getIsolate))"; |
| 5632 } | 5647 } |
| 5633 return "toNativeArray<" . GetNativeType($arrayOrSequenceType) . ">($valu
e, $argIndexOrZero, $getIsolate)"; | 5648 return "toNativeArray<" . GetNativeType($arrayOrSequenceType) . ">($valu
e, $argIndexOrZero, $getIsolate)"; |
| 5634 } | 5649 } |
| 5635 | 5650 |
| 5636 AddIncludesForType($type); | 5651 AddIncludesForType($type); |
| 5637 | 5652 |
| 5638 AddToImplIncludes("V8${type}.h"); | 5653 AddToImplIncludes("V8${type}.h"); |
| (...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6479 if ($parameter->type eq "SerializedScriptValue") { | 6494 if ($parameter->type eq "SerializedScriptValue") { |
| 6480 return 1; | 6495 return 1; |
| 6481 } elsif (IsIntegerType($parameter->type)) { | 6496 } elsif (IsIntegerType($parameter->type)) { |
| 6482 return 1; | 6497 return 1; |
| 6483 } | 6498 } |
| 6484 } | 6499 } |
| 6485 return 0; | 6500 return 0; |
| 6486 } | 6501 } |
| 6487 | 6502 |
| 6488 1; | 6503 1; |
| OLD | NEW |