Index: third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
index 58a6e0af7fa78625423459c75e00e5de63f499e1..86176fa7819076bb8bebf5db97cc9b96570ad85a 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp |
@@ -381,7 +381,9 @@ PaintLayerPainter::PaintResult PaintLayerPainter::paintLayerContents(GraphicsCon |
scopedPaintChunkProperties.emplace(context.getPaintController(), m_paintLayer, properties); |
} |
- bool shouldPaintBackground = isPaintingCompositedBackground && shouldPaintContent && !selectionOnly; |
+ bool isPaintingRootLayer = (&m_paintLayer) == paintingInfo.rootLayer; |
+ bool shouldPaintBackground = shouldPaintContent && !selectionOnly |
+ && (isPaintingCompositedBackground || (isPaintingRootLayer && !(paintFlags & PaintLayerPaintingSkipRootBackground))); |
bool shouldPaintNegZOrderList = (isPaintingScrollingContent && isPaintingOverflowContents) || (!isPaintingScrollingContent && isPaintingCompositedBackground); |
bool shouldPaintOwnContents = isPaintingCompositedForeground && shouldPaintContent; |
bool shouldPaintNormalFlowAndPosZOrderLists = isPaintingCompositedForeground; |
@@ -574,6 +576,11 @@ PaintLayerPainter::PaintResult PaintLayerPainter::paintFragmentByApplyingTransfo |
PaintLayerPaintingInfo transformedPaintingInfo(&m_paintLayer, LayoutRect(enclosingIntRect(transform.inverse().mapRect(paintingInfo.paintDirtyRect))), paintingInfo.getGlobalPaintFlags(), |
adjustedSubPixelAccumulation); |
transformedPaintingInfo.ancestorHasClipPathClipping = paintingInfo.ancestorHasClipPathClipping; |
+ |
+ // Remove skip root background flag when we're painting with a new root. |
+ if (&m_paintLayer != paintingInfo.rootLayer) |
+ paintFlags &= ~PaintLayerPaintingSkipRootBackground; |
+ |
return paintLayerContentsAndReflection(context, transformedPaintingInfo, paintFlags, ForceSingleFragment); |
} |