| 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 |