| Index: Source/core/rendering/shapes/ShapeInfo.h
|
| diff --git a/Source/core/rendering/shapes/ShapeInfo.h b/Source/core/rendering/shapes/ShapeInfo.h
|
| index 2f2053f5fd0ea9b600a1bb004d8f6f62338c6a74..29cb07369bfd4d4e89e9643d92551ac0458ed4c2 100644
|
| --- a/Source/core/rendering/shapes/ShapeInfo.h
|
| +++ b/Source/core/rendering/shapes/ShapeInfo.h
|
| @@ -83,6 +83,7 @@ public:
|
| }
|
|
|
| virtual bool computeSegmentsForLine(LayoutUnit lineTop, LayoutUnit lineHeight);
|
| + void clearSegments() { m_segments.clear(); }
|
|
|
| LayoutUnit shapeLogicalTop() const { return computedShapeLogicalBoundingBox().y() + logicalTopOffset(); }
|
| LayoutUnit shapeLogicalBottom() const { return computedShapeLogicalBoundingBox().maxY() + logicalTopOffset(); }
|
| @@ -94,7 +95,9 @@ public:
|
| LayoutUnit logicalLineTop() const { return m_shapeLineTop + logicalTopOffset(); }
|
| LayoutUnit logicalLineBottom() const { return m_shapeLineTop + m_lineHeight + logicalTopOffset(); }
|
|
|
| - bool lineOverlapsShapeBounds() const { return logicalLineTop() < shapeLogicalBottom() && logicalLineBottom() >= shapeLogicalTop(); }
|
| + LayoutUnit shapeContainingBlockHeight() const { return (m_renderer->style()->boxSizing() == CONTENT_BOX) ? (m_shapeLogicalHeight + m_renderer->borderAndPaddingLogicalHeight()) : m_shapeLogicalHeight; }
|
| +
|
| + bool lineOverlapsShapeBounds() const { return logicalLineTop() < shapeLogicalBottom() && shapeLogicalTop() <= logicalLineBottom(); }
|
|
|
| void dirtyShapeSize() { m_shape.clear(); }
|
| bool shapeSizeDirty() { return !m_shape.get(); }
|
| @@ -106,8 +109,8 @@ protected:
|
| const Shape* computedShape() const;
|
| virtual LayoutRect computedShapeLogicalBoundingBox() const = 0;
|
|
|
| - LayoutUnit logicalTopOffset() const;
|
| - LayoutUnit logicalLeftOffset() const { return m_renderer->style()->boxSizing() == CONTENT_BOX ? m_renderer->borderStart() + m_renderer->paddingStart() : LayoutUnit(); }
|
| + LayoutUnit logicalTopOffset() const { return m_renderer->style()->boxSizing() == CONTENT_BOX ? m_renderer->borderAndPaddingBefore() : LayoutUnit(); }
|
| + LayoutUnit logicalLeftOffset() const { return (m_renderer->style()->boxSizing() == CONTENT_BOX && !m_renderer->isRenderRegion()) ? m_renderer->borderAndPaddingStart() : LayoutUnit(); }
|
|
|
| LayoutUnit m_shapeLineTop;
|
| LayoutUnit m_lineHeight;
|
|
|