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 77b9cddafecb866ce990f62ccc2089e1fa3b3102..f0aa7a96b7fe0b28700fff1b836a0e4373c47543 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
@@ -917,13 +917,15 @@ LayoutPoint PaintLayer::computeOffsetFromTransformedAncestor() const { |
} |
PaintLayer* PaintLayer::compositingContainer() const { |
- // Floats have special painting order, which has complicated semantics. |
- // See the comments around FloatObject::setShouldPaint. |
- if (m_layoutObject->isFloating() && m_layoutObject->parent() && |
- !m_layoutObject->parent()->isLayoutBlockFlow()) |
- return m_layoutObject->containingBlock()->enclosingLayer(); |
- if (!stackingNode()->isStacked()) |
+ if (!stackingNode()->isStacked()) { |
+ // Floats have special painting order, which has complicated semantics. |
+ // See the comments around FloatObject::setShouldPaint. |
+ if (m_layoutObject->isFloating() && m_layoutObject->parent() && |
+ !m_layoutObject->parent()->isLayoutBlockFlow()) |
+ return m_layoutObject->containingBlock()->enclosingLayer(); |
+ |
return parent(); |
+ } |
if (PaintLayerStackingNode* ancestorStackingNode = |
stackingNode()->ancestorStackingContextNode()) |
return ancestorStackingNode->layer(); |