Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| index 4c95c4a9b3a672ae3c79dfa53bceb4a841face6b..d7ca9bd4e47967f2706be861927210e7c595504e 100644 |
| --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| @@ -245,14 +245,13 @@ void LayoutSVGResourceContainer::registerResource() |
| // If the client has a layer (is a non-SVGElement) we need to signal |
| // invalidation in the same way as is done in markAllResourceClientsForInvalidation above. |
| if (layoutObject->hasLayer() && resourceType() == FilterResourceType) { |
| - if (style.hasFilter()) |
| - toLayoutBoxModelObject(layoutObject)->layer()->filterNeedsPaintInvalidation(); |
| - // If this is the SVG root, we could have both 'filter' and |
| - // '-webkit-filter' applied, so we need to do the invalidation |
| - // below as well, unless we can optimistically determine that |
| - // 'filter' does not apply to the element in question. |
| - if (!layoutObject->isSVGRoot() || !style.svgStyle().hasFilter()) |
| + if (!style.hasFilter()) |
| continue; |
| + toLayoutBoxModelObject(layoutObject)->layer()->filterNeedsPaintInvalidation(); |
| + if (!layoutObject->isSVGRoot()) |
|
chrishtr
2016/06/15 15:56:03
Can a non-SVGRoot SVG object have a PaintLayer?
fs
2016/06/15 22:02:10
Not at the moment (and unlikely ever...)
|
| + continue; |
| + // A root SVG element with a filter, however, still needs to run |
| + // the full invalidation step below. |
| } |
| StyleDifference diff; |