Chromium Code Reviews| Index: Source/core/rendering/InlineFlowBox.cpp |
| diff --git a/Source/core/rendering/InlineFlowBox.cpp b/Source/core/rendering/InlineFlowBox.cpp |
| index 6816cf87d41d671f9a29b7cda76e02e17a64531e..52f5e33fe36a2faabd67ce8bcf7a6606c996ca49 100644 |
| --- a/Source/core/rendering/InlineFlowBox.cpp |
| +++ b/Source/core/rendering/InlineFlowBox.cpp |
| @@ -1128,15 +1128,40 @@ void InlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, |
| childInfo.phase = paintPhase; |
| childInfo.updatePaintingRootForChildren(&renderer()); |
| - // Paint our children. |
| + float underlineThickness = 0; |
|
andersr
2014/03/19 13:18:12
It should probably be called decorationThickness,
h.joshi
2014/03/19 13:59:54
Will make required changes.
On 2014/03/19 13:18:1
|
| + float finalThickness = 0; |
| + TextDecorationStyle style = TextDecorationStyleNone; |
|
andersr
2014/03/19 13:18:12
Is TextDecorationStyle used for anything?
h.joshi
2014/03/19 13:59:54
It is not used for now, but added for future refer
andersr
2014/03/19 14:39:44
I'm not sure it's wise to add things just because
|
| + |
| + // Paint our childrens and calculate underline thickness |
| if (paintPhase != PaintPhaseSelfOutline) { |
| for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { |
| - if (curr->renderer().isText() || !curr->boxModelObject()->hasSelfPaintingLayer()) |
| + if (curr->renderer().isText() || !curr->boxModelObject()->hasSelfPaintingLayer()) { |
| curr->paint(childInfo, paintOffset, lineTop, lineBottom); |
| + curr->getPaintDecorationSyle(childInfo, paintOffset, &underlineThickness, &style); |
| + if (finalThickness < underlineThickness) |
| + finalThickness = underlineThickness; |
| + } |
| + } |
| + |
| + // We have underline thickness now, let draw it |
| + for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { |
| + if (curr->renderer().isText() || !curr->boxModelObject()->hasSelfPaintingLayer()) { |
| + curr->paintDecorationStyle(childInfo, paintOffset, lineTop, lineBottom, finalThickness); |
| + } |
| } |
| } |
| } |
| +void InlineFlowBox::paintDecorationStyle(PaintInfo& paintInfo, const LayoutPoint& paintOffset, LayoutUnit lineTop, LayoutUnit lineBottom) |
| +{ |
| + return; |
| +} |
| + |
| +void InlineFlowBox::getPaintDecorationSyle(PaintInfo& paintInfo, const LayoutPoint& paintOffset, float * underlineThickness, TextDecorationStyle * style) |
| +{ |
| + return; |
| +} |
| + |
| void InlineFlowBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c, const FillLayer* fillLayer, const LayoutRect& rect, CompositeOperator op) |
| { |
| if (!fillLayer) |