Chromium Code Reviews| Index: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
| diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
| index d5a458eaed9d175deec76359124646b36dc44de2..abcaf8ad5b6885d1bb20970f12d0e52e533a58d9 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
| +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
| @@ -482,10 +482,10 @@ void PaintPropertyTreeBuilder::updateEffect( |
| // Can't omit effect node if we have paint children with exotic blending. |
| if (object.isSVG()) { |
| - // Yes, including LayoutSVGRoot, because SVG layout objects don't create |
| - // PaintLayer so PaintLayer::hasNonIsolatedDescendantWithBlendMode() |
| - // doesn't catch SVG descendants. |
| - if (SVGLayoutSupport::isIsolationRequired(&object)) |
| + // This handles SVGRoot objects which have PaintLayers. |
| + if (object.isSVGRoot() && object.hasNonIsolatedBlendingDescendants()) |
|
trchen
2017/03/31 21:33:35
if (isCSSIsolatedGroup && object.hasNonIsolatedBle
|
| + effectNodeNeeded = true; |
| + else if (SVGLayoutSupport::isIsolationRequired(&object)) |
| effectNodeNeeded = true; |
| } else if (PaintLayer* layer = toLayoutBoxModelObject(object).layer()) { |
| if (layer->hasNonIsolatedDescendantWithBlendMode()) |