| Index: Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
| diff --git a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
| index 98bea9a0a1614aa8eab4a135f2e92e22da220b1a..8804bac063df7cb46899044dd98d78fe36fdbaee 100644
|
| --- a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
| +++ b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
| @@ -75,6 +75,7 @@ void ShapeOutsideInfo::updateDeltasForContainingBlockLine(const RenderBlockFlow*
|
|
|
| LayoutUnit rawRightMarginBoxDelta = segments.last().logicalRight - containingBlock->logicalWidthForChild(m_renderer) - containingBlock->marginEndForChild(m_renderer);
|
| m_rightMarginBoxDelta = clampTo<LayoutUnit>(rawRightMarginBoxDelta, -floatMarginBoxWidth, LayoutUnit());
|
| + m_lineOverlapsShape = true;
|
| return;
|
| }
|
| }
|
| @@ -82,13 +83,9 @@ void ShapeOutsideInfo::updateDeltasForContainingBlockLine(const RenderBlockFlow*
|
| // Lines that do not overlap the shape should act as if the float
|
| // wasn't there for layout purposes. So we set the deltas to remove the
|
| // entire width of the float.
|
| - // FIXME: The latest CSS Shapes spec says that in this case, the
|
| - // content should interact with previously stacked floats on the line
|
| - // as if this outermost float did not exist. Perhaps obviously, this
|
| - // solution cannot do that, and will be revisted when that part of the
|
| - // spec is implemented.
|
| m_leftMarginBoxDelta = floatMarginBoxWidth;
|
| m_rightMarginBoxDelta = -floatMarginBoxWidth;
|
| + m_lineOverlapsShape = false;
|
| }
|
| }
|
|
|
|
|