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 1684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1695 $code .= "#endif // ${conditionalString}\n" if $conditionalString; | 1695 $code .= "#endif // ${conditionalString}\n" if $conditionalString; |
1696 $code .= "\n"; | 1696 $code .= "\n"; |
1697 $implementation{nameSpaceInternal}->add($code); | 1697 $implementation{nameSpaceInternal}->add($code); |
1698 } | 1698 } |
1699 | 1699 |
1700 sub ShouldKeepAttributeAlive | 1700 sub ShouldKeepAttributeAlive |
1701 { | 1701 { |
1702 my ($interface, $attribute, $returnType) = @_; | 1702 my ($interface, $attribute, $returnType) = @_; |
1703 my $attrName = $attribute->name; | 1703 my $attrName = $attribute->name; |
1704 | 1704 |
1705 return 1 if $attribute->extendedAttributes->{"KeepAttributeAliveForGC"}; | |
1706 | |
1707 # For readonly attributes (including Replaceable), as a general rule, for | 1705 # For readonly attributes (including Replaceable), as a general rule, for |
1708 # performance reasons we keep the attribute wrapper alive while the owner | 1706 # performance reasons we keep the attribute wrapper alive while the owner |
1709 # wrapper is alive, because the attribute never changes. | 1707 # wrapper is alive, because the attribute never changes. |
1710 return 0 if !IsWrapperType($returnType); | 1708 return 0 if !IsWrapperType($returnType); |
1711 return 0 if !IsReadonly($attribute) && !$attribute->extendedAttributes->{"Re
placeable"}; | 1709 return 0 if !IsReadonly($attribute) && !$attribute->extendedAttributes->{"Re
placeable"}; |
1712 | 1710 |
1713 # However, there are a couple of exceptions. | 1711 # However, there are a couple of exceptions. |
1714 | 1712 |
1715 # Node lifetime is managed by object grouping. | 1713 # Node lifetime is managed by object grouping. |
1716 return 0 if InheritsInterface($interface, "Node"); | 1714 return 0 if InheritsInterface($interface, "Node"); |
(...skipping 4572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6289 | 6287 |
6290 return 1 if $interface->extendedAttributes->{"CustomToV8"}; | 6288 return 1 if $interface->extendedAttributes->{"CustomToV8"}; |
6291 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; | 6289 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; |
6292 return 1 if InheritsInterface($interface, "Document"); | 6290 return 1 if InheritsInterface($interface, "Document"); |
6293 return 1 if SVGTypeNeedsToHoldContextElement($interface->name); | 6291 return 1 if SVGTypeNeedsToHoldContextElement($interface->name); |
6294 | 6292 |
6295 return 0; | 6293 return 0; |
6296 } | 6294 } |
6297 | 6295 |
6298 1; | 6296 1; |
OLD | NEW |