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

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

Issue 24921002: Make compositingState explicit (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressed second round of reviewer feedback Created 7 years, 2 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
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);
}

Powered by Google App Engine
This is Rietveld 408576698