Chromium Code Reviews| Index: Source/core/rendering/line/LineBreaker.cpp |
| diff --git a/Source/core/rendering/line/LineBreaker.cpp b/Source/core/rendering/line/LineBreaker.cpp |
| index f6c50cb9835a27a27f36d8a22d96d6d4bd910b97..3e39c37a05473ac70c252c91d00f5fbd7b0dcc89 100644 |
| --- a/Source/core/rendering/line/LineBreaker.cpp |
| +++ b/Source/core/rendering/line/LineBreaker.cpp |
| @@ -59,52 +59,7 @@ void LineBreaker::reset() |
| InlineIterator LineBreaker::nextLineBreak(InlineBidiResolver& resolver, LineInfo& lineInfo, RenderTextInfo& renderTextInfo, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines, WordMeasurements& wordMeasurements) |
| { |
| - ShapeInsideInfo* shapeInsideInfo = m_block->layoutShapeInsideInfo(); |
| - |
| - if (!shapeInsideInfo || !shapeInsideInfo->lineOverlapsShapeBounds()) |
| - return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); |
| - |
| - InlineIterator end = resolver.position(); |
| - InlineIterator oldEnd = end; |
| - |
| - if (!shapeInsideInfo->hasSegments()) { |
| - end = nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); |
| - resolver.setPositionIgnoringNestedIsolates(oldEnd); |
| - return oldEnd; |
| - } |
| - |
| - const SegmentList& segments = shapeInsideInfo->segments(); |
| - SegmentRangeList& segmentRanges = shapeInsideInfo->segmentRanges(); |
| - |
| - for (unsigned i = 0; i < segments.size() && !end.atEnd(); i++) { |
| - const InlineIterator segmentStart = resolver.position(); |
| - end = nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); |
| - |
| - ASSERT(segmentRanges.size() == i); |
| - if (resolver.position().atEnd()) { |
| - segmentRanges.append(LineSegmentRange(segmentStart, end)); |
| - break; |
| - } |
| - if (resolver.position() == end) { |
| - // Nothing fit this segment |
| - end = segmentStart; |
| - segmentRanges.append(LineSegmentRange(segmentStart, segmentStart)); |
| - resolver.setPositionIgnoringNestedIsolates(segmentStart); |
| - } else { |
| - // Note that resolver.position is already skipping some of the white space at the beginning of the line, |
| - // so that's why segmentStart might be different than resolver.position(). |
| - LineSegmentRange range(resolver.position(), end); |
| - segmentRanges.append(range); |
| - resolver.setPosition(end, numberOfIsolateAncestors(end)); |
| - |
| - if (lineInfo.previousLineBrokeCleanly()) { |
| - // If we hit a new line break, just stop adding anything to this line. |
| - break; |
| - } |
| - } |
| - } |
| - resolver.setPositionIgnoringNestedIsolates(oldEnd); |
| - return end; |
| + return nextSegmentBreak(resolver, lineInfo, renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines, wordMeasurements); |
|
Zoltan
2014/03/26 21:01:09
You can remove LineBreaker::nextLineBreak, and cal
|
| } |
| InlineIterator LineBreaker::nextSegmentBreak(InlineBidiResolver& resolver, LineInfo& lineInfo, RenderTextInfo& renderTextInfo, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines, WordMeasurements& wordMeasurements) |