Index: Source/core/rendering/RenderBoxModelObject.cpp |
diff --git a/Source/core/rendering/RenderBoxModelObject.cpp b/Source/core/rendering/RenderBoxModelObject.cpp |
index d2be443109c654de4f14193cf2a419d705958768..633e47bb75ee2406d6915232cc621593e4c08129 100644 |
--- a/Source/core/rendering/RenderBoxModelObject.cpp |
+++ b/Source/core/rendering/RenderBoxModelObject.cpp |
@@ -520,10 +520,10 @@ static void applyBoxShadowForBackground(GraphicsContext* context, const RenderOb |
DrawLooper::ShadowRespectsTransforms, DrawLooper::ShadowIgnoresAlpha); |
} |
-void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, const Color& color, const FillLayer* bgLayer, const LayoutRect& rect, |
+void RenderBoxModelObject::paintFillLayerExtended(PaintInfo& paintInfo, const Color& color, const FillLayer* bgLayer, const LayoutRect& rect, |
BackgroundBleedAvoidance bleedAvoidance, InlineFlowBox* box, const LayoutSize& boxSize, CompositeOperator op, RenderObject* backgroundObject) |
{ |
- GraphicsContext* context = paintInfo.context; |
+ GraphicsContext* context = paintInfo.getContext(); |
if (context->paintingDisabled() || rect.isEmpty()) |
return; |
@@ -618,7 +618,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
if (clippedWithLocalScrolling) { |
// Clip to the overflow area. |
RenderBox* thisBox = toRenderBox(this); |
- context->clip(thisBox->overflowClipRect(rect.location(), paintInfo.renderRegion)); |
+ context->clip(thisBox->overflowClipRect(rect.location(), paintInfo.getRenderRegion())); |
// Adjust the paint rect to reflect a scrolled content box with borders at the ends. |
IntSize offset = thisBox->scrolledContentOffset(); |
@@ -651,7 +651,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
// First figure out how big the mask has to be. It should be no bigger than what we need |
// to actually render, so we should intersect the dirty rect with the border box of the background. |
maskRect = pixelSnappedIntRect(rect); |
- maskRect.intersect(paintInfo.rect); |
+ maskRect.intersect(paintInfo.getRect()); |
// We draw the background into a separate layer, to be later masked with yet another layer |
// holding the text content. |
@@ -704,7 +704,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
bool boxShadowShouldBeAppliedToBackground = this->boxShadowShouldBeAppliedToBackground(bleedAvoidance, box); |
if (boxShadowShouldBeAppliedToBackground || !shouldPaintBackgroundImage || !bgLayer->hasOpaqueImage(this) || !bgLayer->hasRepeatXY()) { |
if (!boxShadowShouldBeAppliedToBackground) |
- backgroundRect.intersect(paintInfo.rect); |
+ backgroundRect.intersect(paintInfo.getRect()); |
// If we have an alpha and we are painting the root element, go ahead and blend with the base background color. |
Color baseColor; |
@@ -736,7 +736,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
if (shouldPaintBackgroundImage) { |
BackgroundImageGeometry geometry; |
calculateBackgroundImageGeometry(bgLayer, scrolledPaintRect, geometry, backgroundObject); |
- geometry.clip(paintInfo.rect); |
+ geometry.clip(paintInfo.getRect()); |
if (!geometry.destRect().isEmpty()) { |
CompositeOperator compositeOp = op == CompositeSourceOver ? bgLayer->composite() : op; |
RenderObject* clientForBackgroundImage = backgroundObject ? backgroundObject : this; |
@@ -757,7 +757,7 @@ void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo& paintInfo, co |
// Now draw the text into the mask. We do this by painting using a special paint phase that signals to |
// InlineTextBoxes that they should just add their contents to the clip. |
- PaintInfo info(context, maskRect, PaintPhaseTextClip, PaintBehaviorForceBlackText, 0, paintInfo.renderRegion); |
+ PaintInfo info(context, maskRect, PaintPhaseTextClip, PaintBehaviorForceBlackText, 0, paintInfo.getRenderRegion()); |
context->setCompositeOperation(CompositeSourceOver); |
if (box) { |
RootInlineBox* root = box->root(); |
@@ -1668,10 +1668,10 @@ void RenderBoxModelObject::paintTranslucentBorderSides(GraphicsContext* graphics |
} |
} |
-void RenderBoxModelObject::paintBorder(const PaintInfo& info, const LayoutRect& rect, const RenderStyle* style, |
+void RenderBoxModelObject::paintBorder(PaintInfo& info, const LayoutRect& rect, const RenderStyle* style, |
BackgroundBleedAvoidance bleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) |
{ |
- GraphicsContext* graphicsContext = info.context; |
+ GraphicsContext* graphicsContext = info.getContext(); |
// border-image is not affected by border-radius. |
if (paintNinePieceImage(graphicsContext, rect, style, style->borderImage())) |
return; |
@@ -1726,7 +1726,7 @@ void RenderBoxModelObject::paintBorder(const PaintInfo& info, const LayoutRect& |
// If no corner intersects the clip region, we can pretend outerBorder is |
// rectangular to improve performance. |
- if (haveAllSolidEdges && outerBorder.isRounded() && allCornersClippedOut(outerBorder, info.rect)) |
+ if (haveAllSolidEdges && outerBorder.isRounded() && allCornersClippedOut(outerBorder, info.getRect())) |
outerBorder.setRadii(RoundedRect::Radii()); |
// isRenderable() check avoids issue described in https://bugs.webkit.org/show_bug.cgi?id=38787 |
@@ -2411,10 +2411,10 @@ static inline IntRect areaCastingShadowInHole(const IntRect& holeRect, int shado |
return unionRect(bounds, offsetBounds); |
} |
-void RenderBoxModelObject::paintBoxShadow(const PaintInfo& info, const LayoutRect& paintRect, const RenderStyle* s, ShadowStyle shadowStyle, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) |
+void RenderBoxModelObject::paintBoxShadow(PaintInfo& info, const LayoutRect& paintRect, const RenderStyle* s, ShadowStyle shadowStyle, bool includeLogicalLeftEdge, bool includeLogicalRightEdge) |
{ |
// FIXME: Deal with border-image. Would be great to use border-image as a mask. |
- GraphicsContext* context = info.context; |
+ GraphicsContext* context = info.getContext(); |
if (context->paintingDisabled() || !s->boxShadow()) |
return; |
@@ -2470,7 +2470,7 @@ void RenderBoxModelObject::paintBoxShadow(const PaintInfo& info, const LayoutRec |
RoundedRect influenceRect(shadowRect, border.radii()); |
influenceRect.expandRadii(2 * shadowBlur + shadowSpread); |
- if (allCornersClippedOut(influenceRect, info.rect)) |
+ if (allCornersClippedOut(influenceRect, info.getRect())) |
context->fillRect(fillRect.rect(), Color::black); |
else { |
fillRect.expandRadii(shadowSpread); |