Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1658)

Unified Diff: Source/core/rendering/RenderLayer.cpp

Issue 211103007: Don't access compositing state for blending in RenderLayer add/remove child (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Removed additional case Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698