| 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, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
| 5 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 5 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
| 6 * Copyright (C) 2012 University of Szeged | 6 * Copyright (C) 2012 University of Szeged |
| 7 * Copyright (C) 2012 Renata Hodovan <reni@webkit.org> | 7 * Copyright (C) 2012 Renata Hodovan <reni@webkit.org> |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 815 { | 815 { |
| 816 if (!inActiveDocument() || m_needsShadowTreeRecreation) | 816 if (!inActiveDocument() || m_needsShadowTreeRecreation) |
| 817 return; | 817 return; |
| 818 scheduleShadowTreeRecreation(); | 818 scheduleShadowTreeRecreation(); |
| 819 invalidateDependentShadowTrees(); | 819 invalidateDependentShadowTrees(); |
| 820 } | 820 } |
| 821 | 821 |
| 822 void SVGUseElement::invalidateDependentShadowTrees() | 822 void SVGUseElement::invalidateDependentShadowTrees() |
| 823 { | 823 { |
| 824 // Recursively invalidate dependent <use> shadow trees | 824 // Recursively invalidate dependent <use> shadow trees |
| 825 const HashSet<SVGElement*>& instances = instancesForElement(); | 825 const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >& instances = in
stancesForElement(); |
| 826 const HashSet<SVGElement*>::const_iterator end = instances.end(); | 826 const WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >::const_iterator
end = instances.end(); |
| 827 for (HashSet<SVGElement*>::const_iterator it = instances.begin(); it != end;
++it) { | 827 for (WillBeHeapHashSet<RawPtrWillBeWeakMember<SVGElement> >::const_iterator
it = instances.begin(); it != end; ++it) { |
| 828 if (SVGUseElement* element = (*it)->correspondingUseElement()) { | 828 if (SVGUseElement* element = (*it)->correspondingUseElement()) { |
| 829 ASSERT(element->inDocument()); | 829 ASSERT(element->inDocument()); |
| 830 element->invalidateShadowTree(); | 830 element->invalidateShadowTree(); |
| 831 } | 831 } |
| 832 } | 832 } |
| 833 } | 833 } |
| 834 | 834 |
| 835 void SVGUseElement::transferUseAttributesToReplacedElement(SVGElement* from, SVG
Element* to) const | 835 void SVGUseElement::transferUseAttributesToReplacedElement(SVGElement* from, SVG
Element* to) const |
| 836 { | 836 { |
| 837 ASSERT(from); | 837 ASSERT(from); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 919 return; | 919 return; |
| 920 | 920 |
| 921 if (m_resource) | 921 if (m_resource) |
| 922 m_resource->removeClient(this); | 922 m_resource->removeClient(this); |
| 923 | 923 |
| 924 m_resource = resource; | 924 m_resource = resource; |
| 925 if (m_resource) | 925 if (m_resource) |
| 926 m_resource->addClient(this); | 926 m_resource->addClient(this); |
| 927 } | 927 } |
| 928 | 928 |
| 929 void SVGUseElement::trace(Visitor* visitor) |
| 930 { |
| 931 visitor->trace(m_targetElementInstance); |
| 932 SVGGraphicsElement::trace(visitor); |
| 929 } | 933 } |
| 934 |
| 935 } |
| OLD | NEW |