Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: Source/core/svg/SVGUseElement.cpp

Issue 266063002: Store SVGElement instead of SVGElementInstance for instancesForElement (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 849 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 { 860 {
861 if (!inActiveDocument() || m_needsShadowTreeRecreation) 861 if (!inActiveDocument() || m_needsShadowTreeRecreation)
862 return; 862 return;
863 scheduleShadowTreeRecreation(); 863 scheduleShadowTreeRecreation();
864 invalidateDependentShadowTrees(); 864 invalidateDependentShadowTrees();
865 } 865 }
866 866
867 void SVGUseElement::invalidateDependentShadowTrees() 867 void SVGUseElement::invalidateDependentShadowTrees()
868 { 868 {
869 // Recursively invalidate dependent <use> shadow trees 869 // Recursively invalidate dependent <use> shadow trees
870 const HashSet<SVGElementInstance*>& instances = instancesForElement(); 870 const HashSet<SVGElement*>& instances = instancesForElement();
871 const HashSet<SVGElementInstance*>::const_iterator end = instances.end(); 871 const HashSet<SVGElement*>::const_iterator end = instances.end();
872 for (HashSet<SVGElementInstance*>::const_iterator it = instances.begin(); it != end; ++it) { 872 for (HashSet<SVGElement*>::const_iterator it = instances.begin(); it != end; ++it) {
873 if (SVGUseElement* element = (*it)->correspondingUseElement()) { 873 if (SVGUseElement* element = (*it)->correspondingUseElement()) {
874 ASSERT(element->inDocument()); 874 ASSERT(element->inDocument());
875 element->invalidateShadowTree(); 875 element->invalidateShadowTree();
876 } 876 }
877 } 877 }
878 } 878 }
879 879
880 void SVGUseElement::transferUseAttributesToReplacedElement(SVGElement* from, SVG Element* to) const 880 void SVGUseElement::transferUseAttributesToReplacedElement(SVGElement* from, SVG Element* to) const
881 { 881 {
882 ASSERT(from); 882 ASSERT(from);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 965
966 if (m_resource) 966 if (m_resource)
967 m_resource->removeClient(this); 967 m_resource->removeClient(this);
968 968
969 m_resource = resource; 969 m_resource = resource;
970 if (m_resource) 970 if (m_resource)
971 m_resource->addClient(this); 971 m_resource->addClient(this);
972 } 972 }
973 973
974 } 974 }
OLDNEW
« Source/core/svg/SVGElement.cpp ('K') | « Source/core/svg/SVGElementRareData.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698