| Index: third_party/WebKit/Source/core/layout/line/RootInlineBox.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/line/RootInlineBox.cpp b/third_party/WebKit/Source/core/layout/line/RootInlineBox.cpp
|
| index acbb83b72942ca4bb8ad86e8ecc1a72a7af58ec7..9f8b77ff19852e339a56cf7a160de7c9e321c3b5 100644
|
| --- a/third_party/WebKit/Source/core/layout/line/RootInlineBox.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/line/RootInlineBox.cpp
|
| @@ -194,7 +194,7 @@ LayoutUnit RootInlineBox::alignBoxesInBlockDirection(LayoutUnit heightOfBlock, G
|
| {
|
| // SVG will handle vertical alignment on its own.
|
| if (isSVGRootInlineBox())
|
| - return 0;
|
| + return LayoutUnit();
|
|
|
| LayoutUnit maxPositionTop;
|
| LayoutUnit maxPositionBottom;
|
| @@ -213,7 +213,7 @@ LayoutUnit RootInlineBox::alignBoxesInBlockDirection(LayoutUnit heightOfBlock, G
|
| if (maxAscent + maxDescent < std::max(maxPositionTop, maxPositionBottom))
|
| adjustMaxAscentAndDescent(maxAscent, maxDescent, maxPositionTop, maxPositionBottom);
|
|
|
| - LayoutUnit maxHeight = maxAscent + maxDescent;
|
| + LayoutUnit maxHeight = LayoutUnit(maxAscent + maxDescent);
|
| LayoutUnit lineTop = heightOfBlock;
|
| LayoutUnit lineBottom = heightOfBlock;
|
| LayoutUnit lineTopIncludingMargins = heightOfBlock;
|
| @@ -604,7 +604,7 @@ LayoutUnit RootInlineBox::verticalPositionForBox(InlineBox* box, VerticalPositio
|
| LineLayoutBoxModel boxModel = box->boxModelObject();
|
| ASSERT(boxModel.isInline());
|
| if (!boxModel.isInline())
|
| - return 0;
|
| + return LayoutUnit();
|
|
|
| // This method determines the vertical position for inline elements.
|
| bool firstLine = isFirstLineStyle();
|
| @@ -614,7 +614,7 @@ LayoutUnit RootInlineBox::verticalPositionForBox(InlineBox* box, VerticalPositio
|
| // Check the cache.
|
| bool isLayoutInline = boxModel.isLayoutInline();
|
| if (isLayoutInline && !firstLine) {
|
| - LayoutUnit verticalPosition = verticalPositionCache.get(boxModel, baselineType());
|
| + LayoutUnit verticalPosition = LayoutUnit(verticalPositionCache.get(boxModel, baselineType()));
|
| if (verticalPosition != PositionUndefined)
|
| return verticalPosition;
|
| }
|
| @@ -622,7 +622,7 @@ LayoutUnit RootInlineBox::verticalPositionForBox(InlineBox* box, VerticalPositio
|
| LayoutUnit verticalPosition;
|
| EVerticalAlign verticalAlign = boxModel.style()->verticalAlign();
|
| if (verticalAlign == TOP || verticalAlign == BOTTOM)
|
| - return 0;
|
| + return LayoutUnit();
|
|
|
| LineLayoutItem parent = boxModel.parent();
|
| if (parent.isLayoutInline() && parent.style()->verticalAlign() != TOP && parent.style()->verticalAlign() != BOTTOM)
|
| @@ -642,7 +642,9 @@ LayoutUnit RootInlineBox::verticalPositionForBox(InlineBox* box, VerticalPositio
|
| } else if (verticalAlign == TEXT_TOP) {
|
| verticalPosition += boxModel.baselinePosition(baselineType(), firstLine, lineDirection) - fontMetrics.ascent(baselineType());
|
| } else if (verticalAlign == MIDDLE) {
|
| - verticalPosition = (verticalPosition - static_cast<LayoutUnit>(fontMetrics.xHeight() / 2) - boxModel.lineHeight(firstLine, lineDirection) / 2 + boxModel.baselinePosition(baselineType(), firstLine, lineDirection)).round();
|
| + verticalPosition = LayoutUnit((verticalPosition - LayoutUnit(fontMetrics.xHeight() / 2)
|
| + - boxModel.lineHeight(firstLine, lineDirection) / 2
|
| + + boxModel.baselinePosition(baselineType(), firstLine, lineDirection)).round());
|
| } else if (verticalAlign == TEXT_BOTTOM) {
|
| verticalPosition += fontMetrics.descent(baselineType());
|
| // lineHeight - baselinePosition is always 0 for replaced elements (except inline blocks), so don't bother wasting time in that case.
|
| @@ -654,7 +656,7 @@ LayoutUnit RootInlineBox::verticalPositionForBox(InlineBox* box, VerticalPositio
|
| LayoutUnit lineHeight;
|
| // Per http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align: 'Percentages: refer to the 'line-height' of the element itself'.
|
| if (boxModel.style()->verticalAlignLength().hasPercent())
|
| - lineHeight = boxModel.style()->computedLineHeight();
|
| + lineHeight = LayoutUnit(boxModel.style()->computedLineHeight());
|
| else
|
| lineHeight = boxModel.lineHeight(firstLine, lineDirection);
|
| verticalPosition -= valueForLength(boxModel.style()->verticalAlignLength(), lineHeight);
|
|
|