Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index 20f618d211c61b254a05595db9ba40aaa1bb68a3..e979c9b9cace2e8ea85d89846c4f494481ee6b32 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -857,9 +857,8 @@ void RenderLayer::updateDescendantDependentFlags() |
if (!child->stackingNode()->isStackingContext()) |
child->updateDescendantDependentFlags(); |
- bool childLayerHasBlendMode = child->blendInfo().childLayerHasBlendModeWhileDirty(); |
- childLayerHasBlendMode |= child->paintsWithBlendMode() |
- || (childLayerHasBlendMode && !child->stackingNode()->isStackingContext()); |
Stephen Chennney
2014/03/26 14:37:52
Note that this logic is broken, and I believe I ha
rosca
2014/03/27 14:52:32
I agree that your change will not change the old l
|
+ bool childLayerHadBlendMode = child->blendInfo().childLayerHasBlendModeWhileDirty(); |
+ bool childLayerHasBlendMode = childLayerHadBlendMode || child->blendInfo().hasBlendMode(); |
m_blendInfo.setChildLayerHasBlendMode(childLayerHasBlendMode); |
@@ -1447,7 +1446,7 @@ void RenderLayer::addChild(RenderLayer* child, RenderLayer* beforeChild) |
if (child->isSelfPaintingLayer() || child->hasSelfPaintingLayerDescendant()) |
setAncestorChainHasSelfPaintingLayerDescendant(); |
- if (child->paintsWithBlendMode() || child->blendInfo().childLayerHasBlendMode()) |
+ if (child->blendInfo().hasBlendMode() || child->blendInfo().childLayerHasBlendMode()) |
m_blendInfo.setAncestorChainBlendedDescendant(); |
if (subtreeContainsOutOfFlowPositionedLayer(child)) { |
@@ -1511,7 +1510,7 @@ RenderLayer* RenderLayer::removeChild(RenderLayer* oldChild) |
if (oldChild->m_hasVisibleContent || oldChild->m_hasVisibleDescendant) |
dirtyAncestorChainVisibleDescendantStatus(); |
- if (oldChild->paintsWithBlendMode() || oldChild->blendInfo().childLayerHasBlendMode()) |
+ if (oldChild->m_blendInfo.hasBlendMode() || oldChild->blendInfo().childLayerHasBlendMode()) |
m_blendInfo.dirtyAncestorChainBlendedDescendantStatus(); |
if (oldChild->isSelfPaintingLayer() || oldChild->hasSelfPaintingLayerDescendant()) |
@@ -3663,8 +3662,6 @@ bool RenderLayer::paintsWithTransform(PaintBehavior paintBehavior) const |
bool RenderLayer::paintsWithBlendMode() const |
{ |
- // https://code.google.com/p/chromium/issues/detail?id=343759 |
- DisableCompositingQueryAsserts disabler; |
return m_blendInfo.hasBlendMode() && compositingState() != PaintsIntoOwnBacking; |
} |