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

Unified Diff: Source/core/svg/SVGElement.cpp

Issue 1111223002: Invalidate ancestor resources in when relative lengths change (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: TEs. Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/svg/SVGElement.cpp
diff --git a/Source/core/svg/SVGElement.cpp b/Source/core/svg/SVGElement.cpp
index e0a312336479d0331318b43a746cbd414eca1f65..df5e14a9780327da99ab0a62ad4132e7bc51936f 100644
--- a/Source/core/svg/SVGElement.cpp
+++ b/Source/core/svg/SVGElement.cpp
@@ -423,7 +423,7 @@ void SVGElement::invalidateRelativeLengthClients(SubtreeLayoutScope* layoutScope
if (renderer->isSVGResourceContainer())
toLayoutSVGResourceContainer(renderer)->invalidateCacheAndMarkForLayout(layoutScope);
else
- renderer->setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReason::Unknown, MarkContainerChain, layoutScope);
fs 2015/04/30 13:36:47 So Unknown -> SvgResourceInvalidated; bad -> weird
+ markForLayoutAndParentResourceInvalidation(renderer, layoutScope);
}
for (SVGElement* element : m_elementsWithRelativeLengths) {
@@ -958,10 +958,11 @@ bool SVGElement::hasFocusEventListeners() const
|| hasEventListeners(EventTypeNames::focus) || hasEventListeners(EventTypeNames::blur);
}
-void SVGElement::markForLayoutAndParentResourceInvalidation(LayoutObject* renderer)
+void SVGElement::markForLayoutAndParentResourceInvalidation(LayoutObject* renderer, SubtreeLayoutScope* layoutScope)
{
ASSERT(renderer);
- LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation(renderer, true);
+ const bool needsLayout = true;
+ LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation(renderer, needsLayout, layoutScope);
}
void SVGElement::invalidateInstances()
« Source/core/layout/svg/LayoutSVGResourceContainer.cpp ('K') | « Source/core/svg/SVGElement.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698