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

Unified Diff: Source/core/rendering/svg/SVGResourcesCache.cpp

Issue 787563003: Fix RenderSVGResourceContainer task re-ordering bug (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: New fix Created 6 years 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/svg/SVGResourcesCache.cpp
diff --git a/Source/core/rendering/svg/SVGResourcesCache.cpp b/Source/core/rendering/svg/SVGResourcesCache.cpp
index a77894d5059213170ccaee41396400a66c89ebc7..c4f5e89ef114a76b6be2062ee8372a5b653ad3dd 100644
--- a/Source/core/rendering/svg/SVGResourcesCache.cpp
+++ b/Source/core/rendering/svg/SVGResourcesCache.cpp
@@ -21,6 +21,7 @@
#include "core/rendering/svg/SVGResourcesCache.h"
#include "core/HTMLNames.h"
+#include "core/rendering/RenderLayer.h"
#include "core/rendering/svg/RenderSVGResourceContainer.h"
#include "core/rendering/svg/SVGResources.h"
#include "core/rendering/svg/SVGResourcesCycleSolver.h"
@@ -117,11 +118,14 @@ void SVGResourcesCache::clientStyleChanged(RenderObject* renderer, StyleDifferen
{
ASSERT(renderer);
ASSERT(renderer->node());
- ASSERT(renderer->node()->isSVGElement());
if (!diff.hasDifference() || !renderer->parent())
return;
+ // If the renderer has a filter, make sure RenderLayer::updateFilters gets called.
+ if (renderer->hasFilter())
+ renderer->enclosingLayer()->styleChanged(diff, newStyle);
+
// In this case the proper SVGFE*Element will decide whether the modified CSS properties require a relayout or paintInvalidation.
if (renderer->isSVGResourceFilterPrimitive() && !diff.needsLayout())
return;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698