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..074aafe5a4bdfc812f724191d55fb83d8019184c 100644 |
--- a/Source/core/rendering/line/LineBreaker.cpp |
+++ b/Source/core/rendering/line/LineBreaker.cpp |
@@ -59,56 +59,6 @@ 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; |
-} |
- |
-InlineIterator LineBreaker::nextSegmentBreak(InlineBidiResolver& resolver, LineInfo& lineInfo, RenderTextInfo& renderTextInfo, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines, WordMeasurements& wordMeasurements) |
-{ |
reset(); |
ASSERT(resolver.position().root() == m_block); |