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