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 1670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1681 $code .= "#endif // ${conditionalString}\n" if $conditionalString; | 1681 $code .= "#endif // ${conditionalString}\n" if $conditionalString; |
1682 $code .= "\n"; | 1682 $code .= "\n"; |
1683 $implementation{nameSpaceInternal}->add($code); | 1683 $implementation{nameSpaceInternal}->add($code); |
1684 } | 1684 } |
1685 | 1685 |
1686 sub ShouldKeepAttributeAlive | 1686 sub ShouldKeepAttributeAlive |
1687 { | 1687 { |
1688 my ($interface, $attribute, $returnType) = @_; | 1688 my ($interface, $attribute, $returnType) = @_; |
1689 my $attrName = $attribute->name; | 1689 my $attrName = $attribute->name; |
1690 | 1690 |
1691 return 1 if $attribute->extendedAttributes->{"KeepAttributeAliveForGC"}; | |
1692 | |
1693 # For readonly attributes (including Replaceable), as a general rule, for | 1691 # For readonly attributes (including Replaceable), as a general rule, for |
1694 # performance reasons we keep the attribute wrapper alive while the owner | 1692 # performance reasons we keep the attribute wrapper alive while the owner |
1695 # wrapper is alive, because the attribute never changes. | 1693 # wrapper is alive, because the attribute never changes. |
1696 return 0 if !IsWrapperType($returnType); | 1694 return 0 if !IsWrapperType($returnType); |
1697 return 0 if !IsReadonly($attribute) && !$attribute->extendedAttributes->{"Re
placeable"}; | 1695 return 0 if !IsReadonly($attribute) && !$attribute->extendedAttributes->{"Re
placeable"}; |
1698 | 1696 |
1699 # However, there are a couple of exceptions. | 1697 # However, there are a couple of exceptions. |
1700 | 1698 |
1701 # Node lifetime is managed by object grouping. | 1699 # Node lifetime is managed by object grouping. |
1702 return 0 if InheritsInterface($interface, "Node"); | 1700 return 0 if InheritsInterface($interface, "Node"); |
(...skipping 4580 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6283 | 6281 |
6284 return 1 if $interface->extendedAttributes->{"CustomToV8"}; | 6282 return 1 if $interface->extendedAttributes->{"CustomToV8"}; |
6285 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; | 6283 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; |
6286 return 1 if InheritsInterface($interface, "Document"); | 6284 return 1 if InheritsInterface($interface, "Document"); |
6287 return 1 if SVGTypeNeedsToHoldContextElement($interface->name); | 6285 return 1 if SVGTypeNeedsToHoldContextElement($interface->name); |
6288 | 6286 |
6289 return 0; | 6287 return 0; |
6290 } | 6288 } |
6291 | 6289 |
6292 1; | 6290 1; |
OLD | NEW |