| Index: Source/core/rendering/RenderLayerRepainter.cpp
|
| diff --git a/Source/core/rendering/RenderLayerRepainter.cpp b/Source/core/rendering/RenderLayerRepainter.cpp
|
| index 7381c8ead3d057e6ad69727147d623d550c222a8..141d303d802851ee0aca4d1b0bb7a6d7cd5cb6cc 100644
|
| --- a/Source/core/rendering/RenderLayerRepainter.cpp
|
| +++ b/Source/core/rendering/RenderLayerRepainter.cpp
|
| @@ -74,6 +74,7 @@ void RenderLayerRepainter::repaintAfterLayout(RenderGeometryMap* geometryMap, bo
|
| LayoutRect oldRepaintRect = m_repaintRect;
|
| LayoutRect oldOutlineBox = m_outlineBox;
|
| computeRepaintRects(repaintContainer, geometryMap);
|
| + shouldCheckForRepaint &= shouldRepaintLayer();
|
|
|
| // FIXME: Should ASSERT that value calculated for m_outlineBox using the cached offset is the same
|
| // as the value not using the cached offset, but we can't due to https://bugs.webkit.org/show_bug.cgi?id=37048
|
| @@ -83,7 +84,7 @@ void RenderLayerRepainter::repaintAfterLayout(RenderGeometryMap* geometryMap, bo
|
| m_renderer->repaintUsingContainer(repaintContainer, pixelSnappedIntRect(oldRepaintRect));
|
| if (m_repaintRect != oldRepaintRect)
|
| m_renderer->repaintUsingContainer(repaintContainer, pixelSnappedIntRect(m_repaintRect));
|
| - } else if (shouldRepaintAfterLayout()) {
|
| + } else {
|
| m_renderer->repaintAfterLayoutIfNeeded(repaintContainer, m_renderer->selfNeedsLayout(), oldRepaintRect, oldOutlineBox, &m_repaintRect, &m_outlineBox);
|
| }
|
| }
|
| @@ -121,14 +122,13 @@ void RenderLayerRepainter::computeRepaintRectsIncludingDescendants()
|
| layer->repainter().computeRepaintRectsIncludingDescendants();
|
| }
|
|
|
| -inline bool RenderLayerRepainter::shouldRepaintAfterLayout() const
|
| +inline bool RenderLayerRepainter::shouldRepaintLayer() const
|
| {
|
| - if (m_repaintStatus == NeedsNormalRepaint)
|
| + if (m_repaintStatus != NeedsFullRepaintForPositionedMovementLayout)
|
| return true;
|
|
|
| // Composited layers that were moved during a positioned movement only
|
| // layout, don't need to be repainted. They just need to be recomposited.
|
| - ASSERT(m_repaintStatus == NeedsFullRepaintForPositionedMovementLayout);
|
| return m_renderer->compositingState() != PaintsIntoOwnBacking;
|
| }
|
|
|
|
|