| 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);
|
|
|