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 |