Index: third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
diff --git a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
index fe434f3179b39c54f4fcd6126216a20eb2531867..98848d0b7624dfc63a2d42abd45dfcb7d58e8417 100644 |
--- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
+++ b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
@@ -236,8 +236,10 @@ PaintLayer& PaintInvalidationState::childPaintingLayer( |
const LayoutObject& child) const { |
if (child.hasLayer() && toLayoutBoxModelObject(child).hasSelfPaintingLayer()) |
return *toLayoutBoxModelObject(child).layer(); |
- // See LayoutObject::paintingLayer() for specialty of floating objects. |
- if (child.isFloating() && !m_currentObject.isLayoutBlock()) |
+ // See LayoutObject::paintingLayer() for the special-cases of floating under |
+ // inline and multicolumn. |
+ if (child.isColumnSpanAll() || |
+ (child.isFloating() && !m_currentObject.isLayoutBlock())) |
return *child.paintingLayer(); |
return m_paintingLayer; |
} |