| Index: Source/WebCore/rendering/EllipsisBox.cpp
 | 
| ===================================================================
 | 
| --- Source/WebCore/rendering/EllipsisBox.cpp	(revision 127625)
 | 
| +++ Source/WebCore/rendering/EllipsisBox.cpp	(working copy)
 | 
| @@ -65,15 +65,31 @@
 | 
|      if (setShadow)
 | 
|          context->clearShadow();
 | 
|  
 | 
| -    if (m_markupBox) {
 | 
| -        // Paint the markup box
 | 
| -        LayoutPoint adjustedPaintOffset = paintOffset;
 | 
| -        adjustedPaintOffset.move(x() + m_logicalWidth - m_markupBox->x(),
 | 
| -            y() + style->fontMetrics().ascent() - (m_markupBox->y() + m_markupBox->renderer()->style(isFirstLineStyle())->fontMetrics().ascent()));
 | 
| -        m_markupBox->paint(paintInfo, adjustedPaintOffset, lineTop, lineBottom);
 | 
| -    }
 | 
| +    paintMarkupBox(paintInfo, paintOffset, lineTop, lineBottom, style);
 | 
|  }
 | 
|  
 | 
| +void EllipsisBox::paintMarkupBox(PaintInfo& paintInfo, const LayoutPoint& paintOffset, LayoutUnit lineTop, LayoutUnit lineBottom, RenderStyle* style)
 | 
| +{
 | 
| +    if (!m_shouldPaintMarkupBox || !m_renderer->isRenderBlock())
 | 
| +        return;
 | 
| +
 | 
| +    RenderBlock* block = toRenderBlock(m_renderer);
 | 
| +    RootInlineBox* lastLine = block->lineAtIndex(block->lineCount() - 1);
 | 
| +    if (!lastLine)
 | 
| +        return;
 | 
| +
 | 
| +    // If the last line-box on the last line of a block is a link, -webkit-line-clamp paints that box after the ellipsis.
 | 
| +    // It does not actually move the link.
 | 
| +    InlineBox* anchorBox = lastLine->lastChild();
 | 
| +    if (!anchorBox || !anchorBox->renderer()->style()->isLink())
 | 
| +        return;
 | 
| +
 | 
| +    LayoutPoint adjustedPaintOffset = paintOffset;
 | 
| +    adjustedPaintOffset.move(x() + m_logicalWidth - anchorBox->x(),
 | 
| +        y() + style->fontMetrics().ascent() - (anchorBox->y() + anchorBox->renderer()->style(isFirstLineStyle())->fontMetrics().ascent()));
 | 
| +    anchorBox->paint(paintInfo, adjustedPaintOffset, lineTop, lineBottom);
 | 
| +}
 | 
| +
 | 
|  IntRect EllipsisBox::selectionRect()
 | 
|  {
 | 
|      RenderStyle* style = m_renderer->style(isFirstLineStyle());
 | 
| 
 |