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..9bb17f7e917454ec5f6570a2c4421ec66afc064b 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
| +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp |
| @@ -482,9 +482,12 @@ 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. |
| + // This handles SVGRoot objects which have PaintLayers. |
| + if (object.isBoxModelObject() && object.hasLayer()) { |
| + PaintLayer* layer = toLayoutBoxModelObject(object).layer(); |
| + if (layer->hasNonIsolatedDescendantWithBlendMode()) |
|
trchen
2017/03/31 21:08:31
if (object->hasNonIsolatedDescendantWithBlendMode(
chrishtr
2017/03/31 21:28:34
Done.
|
| + effectNodeNeeded = true; |
| + } |
| if (SVGLayoutSupport::isIsolationRequired(&object)) |
|
trchen
2017/03/31 21:08:31
else if (SVGLayoutSupport::isIsolationRequired(&ob
chrishtr
2017/03/31 21:28:34
Done.
|
| effectNodeNeeded = true; |
| } else if (PaintLayer* layer = toLayoutBoxModelObject(object).layer()) { |