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

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGElement.cpp

Issue 1812493002: If add 'id' on pending SVG resource references does not work for non-resources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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, 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // Mark pending resources as pending for removal. 136 // Mark pending resources as pending for removal.
137 extensions.markPendingResourcesForRemoval(resourceId); 137 extensions.markPendingResourcesForRemoval(resourceId);
138 138
139 // Rebuild pending resources for each client of a pending resource that is b eing removed. 139 // Rebuild pending resources for each client of a pending resource that is b eing removed.
140 while (Element* clientElement = extensions.removeElementFromPendingResources ForRemoval(resourceId)) { 140 while (Element* clientElement = extensions.removeElementFromPendingResources ForRemoval(resourceId)) {
141 ASSERT(clientElement->hasPendingResources()); 141 ASSERT(clientElement->hasPendingResources());
142 if (clientElement->hasPendingResources()) { 142 if (clientElement->hasPendingResources()) {
143 // FIXME: Ideally we'd always resolve pending resources async instea d of inside 143 // FIXME: Ideally we'd always resolve pending resources async instea d of inside
144 // insertedInto and svgAttributeChanged. For now we only do it for < use> since 144 // insertedInto and svgAttributeChanged. For now we only do it for < use> since
145 // that would stamp out DOM. 145 // that would stamp out DOM.
146 if (isSVGUseElement(clientElement)) 146 if (isSVGUseElement(clientElement)) {
147 toSVGUseElement(clientElement)->invalidateShadowTree(); 147 toSVGUseElement(clientElement)->invalidateShadowTree();
148 else 148 } else {
149 clientElement->buildPendingResource(); 149 clientElement->buildPendingResource();
150 if (LayoutObject* layoutObject = clientElement->layoutObject())
151 markForLayoutAndParentResourceInvalidation(layoutObject);
fs 2016/03/17 17:27:33 I think we usually have invalidation in the specif
hyunjunekim2 2016/03/18 07:44:06 Moved this one to buildPendingResource().
152 }
150 extensions.clearHasPendingResourcesIfPossible(clientElement); 153 extensions.clearHasPendingResourcesIfPossible(clientElement);
151 } 154 }
152 } 155 }
153 } 156 }
154 157
155 SVGElementRareData* SVGElement::ensureSVGRareData() 158 SVGElementRareData* SVGElement::ensureSVGRareData()
156 { 159 {
157 if (hasSVGRareData()) 160 if (hasSVGRareData())
158 return svgRareData(); 161 return svgRareData();
159 162
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after
1221 Element::trace(visitor); 1224 Element::trace(visitor);
1222 } 1225 }
1223 1226
1224 const AtomicString& SVGElement::eventParameterName() 1227 const AtomicString& SVGElement::eventParameterName()
1225 { 1228 {
1226 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con structFromLiteral)); 1229 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con structFromLiteral));
1227 return evtString; 1230 return evtString;
1228 } 1231 }
1229 1232
1230 } // namespace blink 1233 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698