Index: Source/core/rendering/InlineFlowBox.cpp |
diff --git a/Source/core/rendering/InlineFlowBox.cpp b/Source/core/rendering/InlineFlowBox.cpp |
index e9890ff8ddb52976b7ed173ce555d5e3630272db..47d39593acd0839b8aa19b7c6c905b1d7a3e288c 100644 |
--- a/Source/core/rendering/InlineFlowBox.cpp |
+++ b/Source/core/rendering/InlineFlowBox.cpp |
@@ -1067,15 +1067,15 @@ bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& re |
void InlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, LayoutUnit lineTop, LayoutUnit lineBottom) |
{ |
LayoutRect overflowRect(visualOverflowRect(lineTop, lineBottom)); |
- overflowRect.inflate(renderer()->maximalOutlineSize(paintInfo.phase)); |
+ overflowRect.inflate(renderer()->maximalOutlineSize(paintInfo.getPhase())); |
flipForWritingMode(overflowRect); |
overflowRect.moveBy(paintOffset); |
- if (!paintInfo.rect.intersects(pixelSnappedIntRect(overflowRect))) |
+ if (!paintInfo.getRect().intersects(pixelSnappedIntRect(overflowRect))) |
return; |
- if (paintInfo.phase != PaintPhaseChildOutlines) { |
- if (paintInfo.phase == PaintPhaseOutline || paintInfo.phase == PaintPhaseSelfOutline) { |
+ if (paintInfo.getPhase() != PaintPhaseChildOutlines) { |
+ if (paintInfo.getPhase() == PaintPhaseOutline || paintInfo.getPhase() == PaintPhaseSelfOutline) { |
// Add ourselves to the paint info struct's list of inlines that need to paint their |
// outlines. |
if (renderer()->style()->visibility() == VISIBLE && renderer()->hasOutline() && !isRootInlineBox()) { |
@@ -1105,10 +1105,11 @@ void InlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, |
// Add ourselves to the containing block of the entire continuation so that it can |
// paint us atomically. |
cb->addContinuationWithOutline(toRenderInline(renderer()->node()->renderer())); |
- } else if (!inlineFlow->isInlineElementContinuation()) |
- paintInfo.outlineObjects->add(inlineFlow); |
+ } else if (!inlineFlow->isInlineElementContinuation()) { |
+ paintInfo.getOutlineObjects()->add(inlineFlow); |
+ } |
} |
- } else if (paintInfo.phase == PaintPhaseMask) { |
+ } else if (paintInfo.getPhase() == PaintPhaseMask) { |
paintMask(paintInfo, paintOffset); |
return; |
} else { |
@@ -1117,12 +1118,12 @@ void InlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, |
} |
} |
- if (paintInfo.phase == PaintPhaseMask) |
+ if (paintInfo.getPhase() == PaintPhaseMask) |
return; |
- PaintPhase paintPhase = paintInfo.phase == PaintPhaseChildOutlines ? PaintPhaseOutline : paintInfo.phase; |
+ PaintPhase paintPhase = paintInfo.getPhase() == PaintPhaseChildOutlines ? PaintPhaseOutline : paintInfo.getPhase(); |
PaintInfo childInfo(paintInfo); |
- childInfo.phase = paintPhase; |
+ childInfo.setPhase(paintPhase); |
childInfo.updatePaintingRootForChildren(renderer()); |
// Paint our children. |
@@ -1134,7 +1135,7 @@ void InlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, |
} |
} |
-void InlineFlowBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) |
+void InlineFlowBox::paintFillLayers(PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) |
{ |
if (!fillLayer) |
return; |
@@ -1151,15 +1152,15 @@ bool InlineFlowBox::boxShadowCanBeAppliedToBackground(const FillLayer& lastBackg |
return (!hasFillImage && !renderer()->style()->hasBorderRadius()) || (!prevLineBox() && !nextLineBox()) || !parent(); |
} |
-void InlineFlowBox::paintFillLayer(const PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) |
+void InlineFlowBox::paintFillLayer(PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) |
{ |
StyleImage* img = fillLayer->image(); |
bool hasFillImage = img && img->canRender(renderer(), renderer()->style()->effectiveZoom()); |
if ((!hasFillImage && !renderer()->style()->hasBorderRadius()) || (!prevLineBox() && !nextLineBox()) || !parent()) |
boxModelObject()->paintFillLayerExtended(paintInfo, c, fillLayer, rect, BackgroundBleedNone, this, rect.size(), op); |
else if (renderer()->style()->boxDecorationBreak() == DCLONE) { |
- GraphicsContextStateSaver stateSaver(*paintInfo.context); |
- paintInfo.context->clip(LayoutRect(rect.x(), rect.y(), width(), height())); |
+ GraphicsContextStateSaver stateSaver(*(paintInfo.getContext())); |
+ paintInfo.getContext()->clip(LayoutRect(rect.x(), rect.y(), width(), height())); |
boxModelObject()->paintFillLayerExtended(paintInfo, c, fillLayer, rect, BackgroundBleedNone, this, rect.size(), op); |
} else { |
// We have a fill image that spans multiple lines. |
@@ -1188,13 +1189,13 @@ void InlineFlowBox::paintFillLayer(const PaintInfo& paintInfo, const Color& c, c |
LayoutUnit stripWidth = isHorizontal() ? totalLogicalWidth : static_cast<LayoutUnit>(width()); |
LayoutUnit stripHeight = isHorizontal() ? static_cast<LayoutUnit>(height()) : totalLogicalWidth; |
- GraphicsContextStateSaver stateSaver(*paintInfo.context); |
- paintInfo.context->clip(LayoutRect(rect.x(), rect.y(), width(), height())); |
+ GraphicsContextStateSaver stateSaver(*paintInfo.getContext()); |
+ paintInfo.getContext()->clip(LayoutRect(rect.x(), rect.y(), width(), height())); |
boxModelObject()->paintFillLayerExtended(paintInfo, c, fillLayer, LayoutRect(stripX, stripY, stripWidth, stripHeight), BackgroundBleedNone, this, rect.size(), op); |
} |
} |
-void InlineFlowBox::paintBoxShadow(const PaintInfo& info, RenderStyle* s, ShadowStyle shadowStyle, const LayoutRect& paintRect) |
+void InlineFlowBox::paintBoxShadow(PaintInfo& info, RenderStyle* s, ShadowStyle shadowStyle, const LayoutRect& paintRect) |
{ |
if ((!prevLineBox() && !nextLineBox()) || !parent()) |
boxModelObject()->paintBoxShadow(info, paintRect, s, shadowStyle); |
@@ -1254,7 +1255,7 @@ static LayoutRect clipRectForNinePieceImageStrip(InlineFlowBox* box, const NineP |
void InlineFlowBox::paintBoxDecorations(PaintInfo& paintInfo, const LayoutPoint& paintOffset) |
{ |
- if (!paintInfo.shouldPaintWithinRoot(renderer()) || renderer()->style()->visibility() != VISIBLE || paintInfo.phase != PaintPhaseForeground) |
+ if (!paintInfo.shouldPaintWithinRoot(renderer()) || renderer()->style()->visibility() != VISIBLE || paintInfo.getPhase() != PaintPhaseForeground) |
return; |
// Pixel snap background/border painting. |
@@ -1267,7 +1268,7 @@ void InlineFlowBox::paintBoxDecorations(PaintInfo& paintInfo, const LayoutPoint& |
flipForWritingMode(localRect); |
LayoutPoint adjustedPaintoffset = paintOffset + localRect.location(); |
- GraphicsContext* context = paintInfo.context; |
+ GraphicsContext* context = paintInfo.getContext(); |
// You can use p::first-line to specify a background. If so, the root line boxes for |
// a line may actually have to paint a background. |
@@ -1326,7 +1327,7 @@ void InlineFlowBox::paintBoxDecorations(PaintInfo& paintInfo, const LayoutPoint& |
void InlineFlowBox::paintMask(PaintInfo& paintInfo, const LayoutPoint& paintOffset) |
{ |
- if (!paintInfo.shouldPaintWithinRoot(renderer()) || renderer()->style()->visibility() != VISIBLE || paintInfo.phase != PaintPhaseMask) |
+ if (!paintInfo.shouldPaintWithinRoot(renderer()) || renderer()->style()->visibility() != VISIBLE || paintInfo.getPhase() != PaintPhaseMask) |
return; |
// Pixel snap mask painting. |
@@ -1353,8 +1354,8 @@ void InlineFlowBox::paintMask(PaintInfo& paintInfo, const LayoutPoint& paintOffs |
compositeOp = CompositeDestinationIn; |
if (pushTransparencyLayer) { |
- paintInfo.context->setCompositeOperation(CompositeDestinationIn); |
- paintInfo.context->beginTransparencyLayer(1.0f); |
+ paintInfo.getContext()->setCompositeOperation(CompositeDestinationIn); |
+ paintInfo.getContext()->beginTransparencyLayer(1.0f); |
compositeOp = CompositeSourceOver; |
} |
} |
@@ -1365,14 +1366,14 @@ void InlineFlowBox::paintMask(PaintInfo& paintInfo, const LayoutPoint& paintOffs |
bool hasBoxImage = maskBoxImage && maskBoxImage->canRender(renderer(), renderer()->style()->effectiveZoom()); |
if (!hasBoxImage || !maskBoxImage->isLoaded()) { |
if (pushTransparencyLayer) |
- paintInfo.context->endTransparencyLayer(); |
+ paintInfo.getContext()->endTransparencyLayer(); |
return; // Don't paint anything while we wait for the image to load. |
} |
// The simple case is where we are the only box for this object. In those |
// cases only a single call to draw is required. |
if (!prevLineBox() && !nextLineBox()) { |
- boxModelObject()->paintNinePieceImage(paintInfo.context, LayoutRect(adjustedPaintOffset, frameRect.size()), renderer()->style(), maskNinePieceImage, compositeOp); |
+ boxModelObject()->paintNinePieceImage(paintInfo.getContext(), LayoutRect(adjustedPaintOffset, frameRect.size()), renderer()->style(), maskNinePieceImage, compositeOp); |
} else { |
// We have a mask image that spans multiple lines. |
// We need to adjust _tx and _ty by the width of all previous lines. |
@@ -1388,13 +1389,13 @@ void InlineFlowBox::paintMask(PaintInfo& paintInfo, const LayoutPoint& paintOffs |
LayoutUnit stripHeight = isHorizontal() ? frameRect.height() : totalLogicalWidth; |
LayoutRect clipRect = clipRectForNinePieceImageStrip(this, maskNinePieceImage, paintRect); |
- GraphicsContextStateSaver stateSaver(*paintInfo.context); |
- paintInfo.context->clip(clipRect); |
- boxModelObject()->paintNinePieceImage(paintInfo.context, LayoutRect(stripX, stripY, stripWidth, stripHeight), renderer()->style(), maskNinePieceImage, compositeOp); |
+ GraphicsContextStateSaver stateSaver(*paintInfo.getContext()); |
+ paintInfo.getContext()->clip(clipRect); |
+ boxModelObject()->paintNinePieceImage(paintInfo.getContext(), LayoutRect(stripX, stripY, stripWidth, stripHeight), renderer()->style(), maskNinePieceImage, compositeOp); |
} |
if (pushTransparencyLayer) |
- paintInfo.context->endTransparencyLayer(); |
+ paintInfo.getContext()->endTransparencyLayer(); |
} |
InlineBox* InlineFlowBox::firstLeafChild() const |