| 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 b7fdfcbb25231f46e1fbdb20b028cfa9f8f2c174..8778e090b49c6ce94ff53a238e98e37b4aabf8c0 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();
|
|
|