Index: Source/core/rendering/RenderBox.cpp |
diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp |
index e596013d7a2174c3b49d1cca59f51eb15610ff80..2d541a721365810c6655baa9c84d44181d86632b 100644 |
--- a/Source/core/rendering/RenderBox.cpp |
+++ b/Source/core/rendering/RenderBox.cpp |
@@ -1056,7 +1056,7 @@ void RenderBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) |
child->paint(childInfo, adjustedPaintOffset); |
} |
-void RenderBox::paintRootBoxFillLayers(const PaintInfo& paintInfo) |
+void RenderBox::paintRootBoxFillLayers(PaintInfo& paintInfo) |
{ |
if (paintInfo.skipRootBackground()) |
return; |
@@ -1109,25 +1109,25 @@ void RenderBox::paintBoxDecorations(PaintInfo& paintInfo, const LayoutPoint& pai |
if (!paintInfo.shouldPaintWithinRoot(this)) |
return; |
- LayoutRect paintRect = borderBoxRectInRegion(paintInfo.renderRegion); |
+ LayoutRect paintRect = borderBoxRectInRegion(paintInfo.getRenderRegion()); |
paintRect.moveBy(paintOffset); |
- BackgroundBleedAvoidance bleedAvoidance = determineBackgroundBleedAvoidance(paintInfo.context); |
+ BackgroundBleedAvoidance bleedAvoidance = determineBackgroundBleedAvoidance(paintInfo.getContext()); |
// FIXME: Should eventually give the theme control over whether the box shadow should paint, since controls could have |
// custom shadows of their own. |
if (!boxShadowShouldBeAppliedToBackground(bleedAvoidance)) |
paintBoxShadow(paintInfo, paintRect, style(), Normal); |
- GraphicsContextStateSaver stateSaver(*paintInfo.context, false); |
+ GraphicsContextStateSaver stateSaver(*(paintInfo.getContext()), false); |
if (bleedAvoidance == BackgroundBleedUseTransparencyLayer) { |
// To avoid the background color bleeding out behind the border, we'll render background and border |
// into a transparency layer, and then clip that in one go (which requires setting up the clip before |
// beginning the layer). |
RoundedRect border = style()->getRoundedBorderFor(paintRect, view()); |
stateSaver.save(); |
- paintInfo.context->clipRoundedRect(border); |
- paintInfo.context->beginTransparencyLayer(1); |
+ paintInfo.getContext()->clipRoundedRect(border); |
+ paintInfo.getContext()->beginTransparencyLayer(1); |
} |
// If we have a native theme appearance, paint that before painting our background. |
@@ -1150,10 +1150,10 @@ void RenderBox::paintBoxDecorations(PaintInfo& paintInfo, const LayoutPoint& pai |
paintBorder(paintInfo, paintRect, style(), bleedAvoidance); |
if (bleedAvoidance == BackgroundBleedUseTransparencyLayer) |
- paintInfo.context->endTransparencyLayer(); |
+ paintInfo.getContext()->endTransparencyLayer(); |
} |
-void RenderBox::paintBackground(const PaintInfo& paintInfo, const LayoutRect& paintRect, BackgroundBleedAvoidance bleedAvoidance) |
+void RenderBox::paintBackground(PaintInfo& paintInfo, const LayoutRect& paintRect, BackgroundBleedAvoidance bleedAvoidance) |
{ |
if (isRoot()) { |
paintRootBoxFillLayers(paintInfo); |
@@ -1314,14 +1314,14 @@ bool RenderBox::backgroundHasOpaqueTopLayer() const |
void RenderBox::paintMask(PaintInfo& paintInfo, const LayoutPoint& paintOffset) |
{ |
- if (!paintInfo.shouldPaintWithinRoot(this) || style()->visibility() != VISIBLE || paintInfo.phase != PaintPhaseMask || paintInfo.context->paintingDisabled()) |
+ if (!paintInfo.shouldPaintWithinRoot(this) || style()->visibility() != VISIBLE || paintInfo.getPhase() != PaintPhaseMask || paintInfo.getContext()->paintingDisabled()) |
return; |
LayoutRect paintRect = LayoutRect(paintOffset, size()); |
paintMaskImages(paintInfo, paintRect); |
} |
-void RenderBox::paintMaskImages(const PaintInfo& paintInfo, const LayoutRect& paintRect) |
+void RenderBox::paintMaskImages(PaintInfo& paintInfo, const LayoutRect& paintRect) |
{ |
// Figure out if we need to push a transparency layer to render our mask. |
bool pushTransparencyLayer = false; |
@@ -1343,18 +1343,18 @@ void RenderBox::paintMaskImages(const PaintInfo& paintInfo, const LayoutRect& pa |
if (maskLayers) |
allMaskImagesLoaded &= maskLayers->imagesAreLoaded(); |
- paintInfo.context->setCompositeOperation(CompositeDestinationIn); |
- paintInfo.context->beginTransparencyLayer(1); |
+ paintInfo.getContext()->setCompositeOperation(CompositeDestinationIn); |
+ paintInfo.getContext()->beginTransparencyLayer(1); |
compositeOp = CompositeSourceOver; |
} |
if (allMaskImagesLoaded) { |
paintFillLayers(paintInfo, Color(), style()->maskLayers(), paintRect, BackgroundBleedNone, compositeOp); |
- paintNinePieceImage(paintInfo.context, paintRect, style(), style()->maskBoxImage(), compositeOp); |
+ paintNinePieceImage(paintInfo.getContext(), paintRect, style(), style()->maskBoxImage(), compositeOp); |
} |
if (pushTransparencyLayer) |
- paintInfo.context->endTransparencyLayer(); |
+ paintInfo.getContext()->endTransparencyLayer(); |
} |
LayoutRect RenderBox::maskClipRect() |
@@ -1380,7 +1380,7 @@ LayoutRect RenderBox::maskClipRect() |
return result; |
} |
-void RenderBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, |
+void RenderBox::paintFillLayers(PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, |
BackgroundBleedAvoidance bleedAvoidance, CompositeOperator op, RenderObject* backgroundObject) |
{ |
Vector<const FillLayer*, 8> layers; |
@@ -1405,7 +1405,7 @@ void RenderBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c, cons |
curLayer = curLayer->next(); |
} |
- GraphicsContext* context = paintInfo.context; |
+ GraphicsContext* context = paintInfo.getContext(); |
if (!context) |
shouldDrawBackgroundInSeparateBuffer = false; |
if (shouldDrawBackgroundInSeparateBuffer) |
@@ -1419,7 +1419,7 @@ void RenderBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c, cons |
context->endTransparencyLayer(); |
} |
-void RenderBox::paintFillLayer(const PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, |
+void RenderBox::paintFillLayer(PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, |
BackgroundBleedAvoidance bleedAvoidance, CompositeOperator op, RenderObject* backgroundObject) |
{ |
paintFillLayerExtended(paintInfo, c, fillLayer, rect, bleedAvoidance, 0, LayoutSize(), op, backgroundObject); |
@@ -1501,7 +1501,7 @@ bool RenderBox::repaintLayerRectsForImage(WrappedImagePtr image, const FillLayer |
bool RenderBox::pushContentsClip(PaintInfo& paintInfo, const LayoutPoint& accumulatedOffset) |
{ |
- if (paintInfo.phase == PaintPhaseBlockBackground || paintInfo.phase == PaintPhaseSelfOutline || paintInfo.phase == PaintPhaseMask) |
+ if (paintInfo.getPhase() == PaintPhaseBlockBackground || paintInfo.getPhase() == PaintPhaseSelfOutline || paintInfo.getPhase() == PaintPhaseMask) |
return false; |
bool isControlClip = hasControlClip(); |
@@ -1510,18 +1510,18 @@ bool RenderBox::pushContentsClip(PaintInfo& paintInfo, const LayoutPoint& accumu |
if (!isControlClip && !isOverflowClip) |
return false; |
- if (paintInfo.phase == PaintPhaseOutline) |
- paintInfo.phase = PaintPhaseChildOutlines; |
- else if (paintInfo.phase == PaintPhaseChildBlockBackground) { |
- paintInfo.phase = PaintPhaseBlockBackground; |
+ if (paintInfo.getPhase() == PaintPhaseOutline) { |
+ paintInfo.setPhase(PaintPhaseChildOutlines); |
+ } else if (paintInfo.getPhase() == PaintPhaseChildBlockBackground) { |
+ paintInfo.setPhase(PaintPhaseBlockBackground); |
paintObject(paintInfo, accumulatedOffset); |
- paintInfo.phase = PaintPhaseChildBlockBackgrounds; |
+ paintInfo.setPhase(PaintPhaseChildBlockBackgrounds); |
} |
- IntRect clipRect = pixelSnappedIntRect(isControlClip ? controlClipRect(accumulatedOffset) : overflowClipRect(accumulatedOffset, paintInfo.renderRegion)); |
- paintInfo.context->save(); |
+ IntRect clipRect = pixelSnappedIntRect(isControlClip ? controlClipRect(accumulatedOffset) : overflowClipRect(accumulatedOffset, paintInfo.getRenderRegion())); |
+ paintInfo.getContext()->save(); |
if (style()->hasBorderRadius()) |
- paintInfo.context->clipRoundedRect(style()->getRoundedInnerBorderFor(LayoutRect(accumulatedOffset, size()))); |
- paintInfo.context->clip(clipRect); |
+ paintInfo.getContext()->clipRoundedRect(style()->getRoundedInnerBorderFor(LayoutRect(accumulatedOffset, size()))); |
+ paintInfo.getContext()->clip(clipRect); |
return true; |
} |
@@ -1529,13 +1529,14 @@ void RenderBox::popContentsClip(PaintInfo& paintInfo, PaintPhase originalPhase, |
{ |
ASSERT(hasControlClip() || (hasOverflowClip() && !layer()->isSelfPaintingLayer())); |
- paintInfo.context->restore(); |
+ paintInfo.getContext()->restore(); |
if (originalPhase == PaintPhaseOutline) { |
- paintInfo.phase = PaintPhaseSelfOutline; |
+ paintInfo.setPhase(PaintPhaseSelfOutline); |
paintObject(paintInfo, accumulatedOffset); |
- paintInfo.phase = originalPhase; |
- } else if (originalPhase == PaintPhaseChildBlockBackground) |
- paintInfo.phase = originalPhase; |
+ paintInfo.setPhase(originalPhase); |
+ } else if (originalPhase == PaintPhaseChildBlockBackground) { |
+ paintInfo.setPhase(originalPhase); |
+ } |
} |
LayoutRect RenderBox::overflowClipRect(const LayoutPoint& location, RenderRegion* region, OverlayScrollbarSizeRelevancy relevancy) |