| Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| index f1f683b47c1d4b69f10391d4f6de1780a9c81348..9cc7012f2aa6217d91b7d44529fcac6b93b04bcf 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| @@ -2712,9 +2712,13 @@ void PaintLayer::filterNeedsPaintInvalidation()
|
| {
|
| DeprecatedScheduleStyleRecalcDuringLayout marker(layoutObject()->document().lifecycle());
|
| // It's possible for scheduleSVGFilterLayerUpdateHack to schedule a style recalc, which
|
| - // is a problem because this function can be called while performing layout.
|
| - // Presumably this represents an illegal data flow of layout or compositing
|
| - // information into the style system.
|
| + // is a problem because this function can be called right before performing layout but
|
| + // after style recalc.
|
| + //
|
| + // See LayoutView::layout() and the call to
|
| + // invalidateSVGRootsWithRelativeLengthDescendents(). This violation is worked around
|
| + // in FrameView::updateStyleAndLayoutIfNeededRecursive() by doing an extra style recalc
|
| + // and layout in case it's needed.
|
| toElement(layoutObject()->node())->scheduleSVGFilterLayerUpdateHack();
|
| }
|
|
|
|
|