OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> |
3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 if (hasSVGRareData()) { | 93 if (hasSVGRareData()) { |
94 if (SVGCursorElement* cursorElement = svgRareData()->cursorElement()) | 94 if (SVGCursorElement* cursorElement = svgRareData()->cursorElement()) |
95 cursorElement->removeReferencedElement(this); | 95 cursorElement->removeReferencedElement(this); |
96 if (CSSCursorImageValue* cursorImageValue = svgRareData()->cursorImageVa
lue()) | 96 if (CSSCursorImageValue* cursorImageValue = svgRareData()->cursorImageVa
lue()) |
97 cursorImageValue->removeReferencedElement(this); | 97 cursorImageValue->removeReferencedElement(this); |
98 // Clear the rare data now so that we are in a consistent state when | 98 // Clear the rare data now so that we are in a consistent state when |
99 // calling rebuildAllElementReferencesForTarget() below. | 99 // calling rebuildAllElementReferencesForTarget() below. |
100 m_SVGRareData.clear(); | 100 m_SVGRareData.clear(); |
101 } | 101 } |
102 | 102 |
| 103 // FIXME: Oilpan: Some of the rebuild callbacks are still required in oilpan
. |
| 104 // We need to convert all of them to weak processing. |
| 105 document().accessSVGExtensions().rebuildAllElementReferencesForTarget(this); |
| 106 |
103 // With Oilpan, either removedFrom has been called or the document is dead | 107 // With Oilpan, either removedFrom has been called or the document is dead |
104 // as well and there is no reason to clear out the extensions. | 108 // as well and there is no reason to clear out the extensions. |
105 document().accessSVGExtensions().rebuildAllElementReferencesForTarget(this); | |
106 document().accessSVGExtensions().removeAllElementReferencesForTarget(this); | 109 document().accessSVGExtensions().removeAllElementReferencesForTarget(this); |
107 #endif | 110 #endif |
108 } | 111 } |
109 | 112 |
110 void SVGElement::detach(const AttachContext& context) | 113 void SVGElement::detach(const AttachContext& context) |
111 { | 114 { |
112 Element::detach(context); | 115 Element::detach(context); |
113 if (SVGElement* element = correspondingElement()) | 116 if (SVGElement* element = correspondingElement()) |
114 element->removeInstanceMapping(this); | 117 element->removeInstanceMapping(this); |
115 } | 118 } |
(...skipping 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 #endif | 1188 #endif |
1186 | 1189 |
1187 void SVGElement::trace(Visitor* visitor) | 1190 void SVGElement::trace(Visitor* visitor) |
1188 { | 1191 { |
1189 visitor->trace(m_elementsWithRelativeLengths); | 1192 visitor->trace(m_elementsWithRelativeLengths); |
1190 visitor->trace(m_SVGRareData); | 1193 visitor->trace(m_SVGRareData); |
1191 Element::trace(visitor); | 1194 Element::trace(visitor); |
1192 } | 1195 } |
1193 | 1196 |
1194 } | 1197 } |
OLD | NEW |