Index: third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp |
diff --git a/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp b/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp |
index 689325a5be700eadfd56fd1034fa9c9714ae8848..b0f1fd1e959018363f80a0f14758928ef8ec4bcb 100644 |
--- a/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp |
+++ b/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp |
@@ -108,7 +108,9 @@ void InlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& |
// farther to the right. |
// NOTE: WebKit's behavior differs from that of IE which appears to just overlay the ellipsis on top of the |
// truncated string i.e. |Hello|CBA| -> |...lo|CBA| |
- LayoutUnit widthOfVisibleText = m_inlineTextBox.lineLayoutItem().width(m_inlineTextBox.start(), m_inlineTextBox.truncation(), m_inlineTextBox.textPos(), m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle()); |
+ LayoutUnit widthOfVisibleText = LayoutUnit(m_inlineTextBox.lineLayoutItem().width( |
+ m_inlineTextBox.start(), m_inlineTextBox.truncation(), m_inlineTextBox.textPos(), |
+ m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle())); |
LayoutUnit widthOfHiddenText = m_inlineTextBox.logicalWidth() - widthOfVisibleText; |
// FIXME: The hit testing logic also needs to take this translation into account. |
LayoutSize truncationOffset(m_inlineTextBox.isLeftToRightDirection() ? widthOfHiddenText : -widthOfHiddenText, LayoutUnit()); |
@@ -410,7 +412,7 @@ void InlineTextBoxPainter::paintDocumentMarker(GraphicsContext& context, const L |
// FIXME: Convert the document markers to float rects. |
IntRect markerRect = enclosingIntRect(font.selectionRectForText(run, FloatPoint(startPoint), selHeight, startPosition, endPosition)); |
start = markerRect.x() - startPoint.x(); |
- width = markerRect.width(); |
+ width = LayoutUnit(markerRect.width()); |
} |
// IMPORTANT: The misspelling underline is not considered when calculating the text bounds, so we have to |
@@ -736,7 +738,9 @@ void InlineTextBoxPainter::paintDecoration(const PaintInfo& paintInfo, const Lay |
LayoutUnit width = m_inlineTextBox.logicalWidth(); |
if (m_inlineTextBox.truncation() != cNoTruncation) { |
- width = m_inlineTextBox.lineLayoutItem().width(m_inlineTextBox.start(), m_inlineTextBox.truncation(), m_inlineTextBox.textPos(), m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle()); |
+ width = LayoutUnit(m_inlineTextBox.lineLayoutItem().width( |
+ m_inlineTextBox.start(), m_inlineTextBox.truncation(), m_inlineTextBox.textPos(), |
+ m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle())); |
if (!m_inlineTextBox.isLeftToRightDirection()) |
localOrigin.move(m_inlineTextBox.logicalWidth() - width, LayoutUnit()); |
} |
@@ -799,7 +803,7 @@ void InlineTextBoxPainter::paintCompositionUnderline(GraphicsContext& context, c |
m_inlineTextBox.lineLayoutItem().width(m_inlineTextBox.start(), paintStart - m_inlineTextBox.start(), m_inlineTextBox.textPos(), m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle()); |
// how much line to draw |
float width = (paintStart == static_cast<unsigned>(m_inlineTextBox.start()) && paintEnd == static_cast<unsigned>(m_inlineTextBox.end()) + 1) ? m_inlineTextBox.logicalWidth().toFloat() : |
- m_inlineTextBox.lineLayoutItem().width(paintStart, paintEnd - paintStart, m_inlineTextBox.textPos() + start, m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle()); |
+ m_inlineTextBox.lineLayoutItem().width(paintStart, paintEnd - paintStart, LayoutUnit(m_inlineTextBox.textPos() + start), m_inlineTextBox.isLeftToRightDirection() ? LTR : RTL, m_inlineTextBox.isFirstLineStyle()); |
// In RTL mode, start and width are computed from the right end of the text box: |
// starting at |logicalWidth| - |start| and continuing left by |width| to |
// |logicalWidth| - |start| - |width|. We will draw that line, but |