This bug corresponds to the TODO:
const PaintLayer* compositingContainer(const PaintLayer& layer) const {
if (layer.stackingNode()->isStacked())
return m_compositingStackingContext;
// TODO(wangxianzhu, chrishtr): This is incorrect if m_compositingAncestor
// is inline and there is any non-layer floating object between layer and
// m_compositingAncestor. Should use the logic in PaintLayer::
// containingLayer().
if (layer.layoutObject().isFloatingWithNonContainingBlockParent())
return layer.enclosingLayerWithCompositedLayerMapping(ExcludeSelf);
return m_compositingAncestor;
}
in the following case:
<layer id=A block>
<inline layer composited>
<float>
<layer id=B block>
Comment 1 by wangxianzhu@chromium.org
, Mar 31 2017