Changeset 156846 in webkit for trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp
- Timestamp:
- Oct 3, 2013, 11:24:59 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp
r156822 r156846 1479 1479 { 1480 1480 LayoutUnit adjustedLogicalLineTop = adjustLogicalLineTop(shapeInsideInfo, resolver.position(), end, wordMeasurements); 1481 1482 if (shapeInsideInfo && !wordMeasurements.size() && containsFloats()) { 1483 lastFloatFromPreviousLine = m_floatingObjects->set().last().get(); 1484 LayoutUnit floatLogicalTopOffset = shapeInsideInfo->computeFirstFitPositionForFloat(lastFloatFromPreviousLine->logicalSize(isHorizontalWritingMode())); 1485 if (logicalHeight() < floatLogicalTopOffset) 1486 adjustedLogicalLineTop = floatLogicalTopOffset; 1487 } 1488 1481 1489 if (!adjustedLogicalLineTop) 1482 1490 return false; … … 2650 2658 2651 2659 ShapeInsideInfo* shapeInsideInfo = block->layoutShapeInsideInfo(); 2652 if (! shapeInsideInfo)2660 if (!lastFloatFromPreviousLine->isPlaced() || !shapeInsideInfo) 2653 2661 return; 2654 2662 2655 2663 bool isHorizontalWritingMode = block->isHorizontalWritingMode(); 2656 2657 LayoutUnit lineLogicalTop = block->logicalHeight(); 2664 LayoutUnit logicalOffsetFromShapeContainer = block->logicalOffsetFromShapeAncestorContainer(shapeInsideInfo->owner()).height(); 2665 2666 LayoutUnit lineLogicalTop = block->logicalHeight() + logicalOffsetFromShapeContainer; 2658 2667 LayoutUnit lineLogicalHeight = block->lineHeight(isFirstLine, isHorizontalWritingMode ? HorizontalLine : VerticalLine, PositionOfInteriorLineBoxes); 2659 2668 LayoutUnit lineLogicalBottom = lineLogicalTop + lineLogicalHeight; … … 2675 2684 if (block->logicalHeight() < floatLogicalTop) { 2676 2685 shapeInsideInfo->adjustLogicalLineTop(minSegmentWidth + floatLogicalWidth); 2677 block->setLogicalHeight(shapeInsideInfo->logicalLineTop()); 2678 } 2679 2680 shapeInsideInfo->updateSegmentsForLine(block->logicalHeight(), lineLogicalHeight); 2686 block->setLogicalHeight(shapeInsideInfo->logicalLineTop() - logicalOffsetFromShapeContainer); 2687 } 2688 2689 lineLogicalTop = block->logicalHeight() + logicalOffsetFromShapeContainer; 2690 2691 shapeInsideInfo->updateSegmentsForLine(lineLogicalTop, lineLogicalHeight); 2681 2692 width.updateCurrentShapeSegment(); 2682 2693 width.updateAvailableWidth();
Note:
See TracChangeset
for help on using the changeset viewer.