Chromium Code Reviews| Index: Source/core/layout/svg/line/SVGInlineTextBox.cpp |
| diff --git a/Source/core/layout/svg/line/SVGInlineTextBox.cpp b/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
| index 7cecfd24d5054f8f7f1d13557ee0cdb865c4e198..e695b086787d4a15d4f55cfa049162fc83f520a3 100644 |
| --- a/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
| +++ b/Source/core/layout/svg/line/SVGInlineTextBox.cpp |
| @@ -39,7 +39,7 @@ |
| namespace blink { |
| struct ExpectedSVGInlineTextBoxSize : public InlineTextBox { |
| - FloatWillBeLayoutUnit float1; |
| + LayoutUnit float1; |
| uint32_t bitfields : 1; |
| Vector<SVGTextFragment> vector; |
| }; |
| @@ -67,7 +67,7 @@ void SVGInlineTextBox::dirtyLineBoxes() |
| nextBox->dirtyLineBoxes(); |
| } |
| -int SVGInlineTextBox::offsetForPosition(FloatWillBeLayoutUnit, bool) const |
| +int SVGInlineTextBox::offsetForPosition(LayoutUnit, bool) const |
| { |
| // SVG doesn't use the standard offset <-> position selection system, as it's not suitable for SVGs complex needs. |
| // vertical text selection, inline boxes spanning multiple lines (contrary to HTML, etc.) |
| @@ -75,7 +75,7 @@ int SVGInlineTextBox::offsetForPosition(FloatWillBeLayoutUnit, bool) const |
| return 0; |
| } |
| -int SVGInlineTextBox::offsetForPositionInFragment(const SVGTextFragment& fragment, FloatWillBeLayoutUnit position, bool includePartialGlyphs) const |
| +int SVGInlineTextBox::offsetForPositionInFragment(const SVGTextFragment& fragment, LayoutUnit position, bool includePartialGlyphs) const |
| { |
| LayoutSVGInlineText& textLayoutObject = toLayoutSVGInlineText(this->layoutObject()); |
| @@ -96,7 +96,7 @@ int SVGInlineTextBox::offsetForPositionInFragment(const SVGTextFragment& fragmen |
| return fragment.characterOffset - start() + textLayoutObject.scaledFont().offsetForPosition(textRun, position * scalingFactor, includePartialGlyphs); |
| } |
| -FloatWillBeLayoutUnit SVGInlineTextBox::positionForOffset(int) const |
| +LayoutUnit SVGInlineTextBox::positionForOffset(int) const |
| { |
| // SVG doesn't use the offset <-> position selection system. |
| ASSERT_NOT_REACHED(); |
| @@ -214,36 +214,36 @@ bool SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates(const SVGText |
| return startPosition < endPosition; |
| } |
| -void SVGInlineTextBox::paintDocumentMarker(GraphicsContext*, const FloatPointWillBeLayoutPoint&, DocumentMarker*, const ComputedStyle&, const Font&, bool) |
| +void SVGInlineTextBox::paintDocumentMarker(GraphicsContext*, const LayoutPoint&, DocumentMarker*, const ComputedStyle&, const Font&, bool) |
| { |
| // SVG does not have support for generic document markers (e.g., spellchecking, etc). |
| } |
| -void SVGInlineTextBox::paintTextMatchMarker(GraphicsContext* context, const FloatPointWillBeLayoutPoint& point, DocumentMarker* marker, const ComputedStyle& style, const Font& font) |
| +void SVGInlineTextBox::paintTextMatchMarker(GraphicsContext* context, const LayoutPoint& point, DocumentMarker* marker, const ComputedStyle& style, const Font& font) |
| { |
| - SVGInlineTextBoxPainter(*this).paintTextMatchMarker(context, point.toFloatPoint(), marker, style, font); |
| + SVGInlineTextBoxPainter(*this).paintTextMatchMarker(context, point, marker, style, font); |
| } |
| -FloatRectWillBeLayoutRect SVGInlineTextBox::calculateBoundaries() const |
| +LayoutRect SVGInlineTextBox::calculateBoundaries() const |
| { |
| - FloatRectWillBeLayoutRect textRect; |
| + LayoutRect textRect; |
| LayoutSVGInlineText& textLayoutObject = toLayoutSVGInlineText(this->layoutObject()); |
| float scalingFactor = textLayoutObject.scalingFactor(); |
| ASSERT(scalingFactor); |
| - FloatWillBeLayoutUnit baseline = textLayoutObject.scaledFont().fontMetrics().floatAscent() / scalingFactor; |
| + LayoutUnit baseline = textLayoutObject.scaledFont().fontMetrics().floatAscent() / scalingFactor; |
|
fs
2015/05/27 08:44:54
Looks like this should rather just be 'float' (it
|
| AffineTransform fragmentTransform; |
| unsigned textFragmentsSize = m_textFragments.size(); |
| for (unsigned i = 0; i < textFragmentsSize; ++i) { |
| const SVGTextFragment& fragment = m_textFragments.at(i); |
| - FloatRectWillBeLayoutRect fragmentRect(fragment.x, fragment.y - baseline, fragment.width, fragment.height); |
| + FloatRect fragmentRect(fragment.x, fragment.y - baseline, fragment.width, fragment.height); |
| fragment.buildFragmentTransform(fragmentTransform); |
| - fragmentRect = fragmentTransform.mapRect(fragmentRect.toFloatRect()); |
| + fragmentRect = fragmentTransform.mapRect(fragmentRect); |
| - textRect.unite(fragmentRect); |
| + textRect.unite(LayoutRect(fragmentRect)); |
|
fs
2015/05/27 08:44:54
It'd seem better to let textRect be FloatRect and
|
| } |
| return textRect; |
| @@ -260,14 +260,14 @@ bool SVGInlineTextBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& |
| if (hitRules.canHitBoundingBox |
| || (hitRules.canHitStroke && (layoutObject().style()->svgStyle().hasStroke() || !hitRules.requireStroke)) |
| || (hitRules.canHitFill && (layoutObject().style()->svgStyle().hasFill() || !hitRules.requireFill))) { |
| - FloatPointWillBeLayoutPoint boxOrigin(x(), y()); |
| + LayoutPoint boxOrigin(x(), y()); |
| boxOrigin.moveBy(accumulatedOffset); |
| - FloatRectWillBeLayoutRect rect(boxOrigin, size()); |
| + LayoutRect rect(boxOrigin, size()); |
| // FIXME: both calls to rawValue() below is temporary and should be removed once the transition |
| // to LayoutUnit-based types is complete (crbug.com/321237) |
| - if (locationInContainer.intersects(rect.rawValue())) { |
| + if (locationInContainer.intersects(rect)) { |
| layoutObject().updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset)); |
| - if (!result.addNodeToListBasedTestResult(layoutObject().node(), locationInContainer, rect.rawValue())) |
| + if (!result.addNodeToListBasedTestResult(layoutObject().node(), locationInContainer, rect)) |
| return true; |
| } |
| } |