[PE] Don't call HasSelfPaintingLayerDescendant() from PaintLayer::SetNeedsRepaint()
because we may be during changing the layer tree and
HasSelfPaintingLayerDescendant() may traverse the descendants.
Bug: 830179
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I091c60343d81a4286eb4ebada91bd1f8e3dd6289
Reviewed-on: https://chromium-review.googlesource.com/1002891
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549279}diff --git a/third_party/blink/renderer/core/paint/paint_layer.cc b/third_party/blink/renderer/core/paint/paint_layer.cc
index 065c0c1..07d1167 100644
--- a/third_party/blink/renderer/core/paint/paint_layer.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer.cc
@@ -3288,8 +3288,7 @@
// this layer's Container(), so in addition to the CompositingContainer()
// chain, we also need to mark NeedsRepaint for Parent().
// TODO(crbug.com/828103): clean up this.
- if (layer->Parent() && !layer->IsSelfPaintingLayer() &&
- layer->HasSelfPaintingLayerDescendant())
+ if (layer->Parent() && !layer->IsSelfPaintingLayer())
layer->Parent()->SetNeedsRepaint();
PaintLayer* container = layer->CompositingContainer();