Index: Source/core/rendering/RenderBox.cpp |
diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp |
index 84f11e672d2eb3c9686e9e5df2477c6fd974017a..ec3a6d827fe9dde90acb85c079a1b48ea402ac97 100644 |
--- a/Source/core/rendering/RenderBox.cpp |
+++ b/Source/core/rendering/RenderBox.cpp |
@@ -1252,7 +1252,8 @@ static bool isCandidateForOpaquenessTest(RenderBox* childBox) |
if (!childBox->width() || !childBox->height()) |
return false; |
if (RenderLayer* childLayer = childBox->layer()) { |
- if (childLayer->isComposited()) |
+ // FIXME: perhaps this could be less conservative? |
+ if (childLayer->compositingState() != NotComposited) |
return false; |
// FIXME: Deal with z-index. |
if (!childStyle->hasAutoZIndex()) |
@@ -1347,9 +1348,13 @@ void RenderBox::paintClippingMask(PaintInfo& paintInfo, const LayoutPoint& paint |
if (!paintInfo.shouldPaintWithinRoot(this) || style()->visibility() != VISIBLE || paintInfo.phase != PaintPhaseClippingMask || paintInfo.context->paintingDisabled()) |
return; |
- if (!layer() || !layer()->isComposited()) |
+ if (!layer() || layer()->compositingState() != PaintsIntoOwnBacking) |
return; |
+ // We should never have this state in this function. A layer with a mask |
+ // should have always created its own backing if it became composited. |
+ ASSERT(layer()->compositingState() != HasOwnBackingButPaintsIntoAncestor); |
+ |
LayoutRect paintRect = LayoutRect(paintOffset, size()); |
paintInfo.context->fillRect(pixelSnappedIntRect(paintRect), Color::black); |
} |