| Index: Source/core/layout/svg/LayoutSVGShape.h
|
| diff --git a/Source/core/layout/svg/LayoutSVGShape.h b/Source/core/layout/svg/LayoutSVGShape.h
|
| index 2aa5d9cbf143b85dd305597737684ca0617b5acc..79c9bb465bda164bca57f9d44bbdf21b843c0ba7 100644
|
| --- a/Source/core/layout/svg/LayoutSVGShape.h
|
| +++ b/Source/core/layout/svg/LayoutSVGShape.h
|
| @@ -50,6 +50,8 @@ public:
|
| explicit LayoutSVGShape(SVGGeometryElement*);
|
| virtual ~LayoutSVGShape();
|
|
|
| + void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override final;
|
| +
|
| void setNeedsShapeUpdate() { m_needsShapeUpdate = true; }
|
| virtual void setNeedsBoundariesUpdate() override final { m_needsBoundariesUpdate = true; }
|
| virtual void setNeedsTransformUpdate() override final { m_needsTransformUpdate = true; }
|
| @@ -61,7 +63,6 @@ public:
|
| ASSERT(m_path);
|
| return *m_path;
|
| }
|
| - bool hasPath() const { return m_path.get(); }
|
|
|
| virtual bool isShapeEmpty() const { return path().isEmpty(); }
|
|
|
| @@ -83,9 +84,12 @@ public:
|
|
|
| protected:
|
| void clearPath() { m_path.clear(); }
|
| - void createPath();
|
|
|
| + // Reconstruct the Path. Subclasses may use geometry knowledge to avoid creating a Path.
|
| virtual void updateShapeFromElement();
|
| +
|
| + virtual void updateStrokeAndFillBoundingBoxes();
|
| +
|
| // Calculates an inclusive bounding box of this shape as if this shape has
|
| // a stroke. If this shape has a stroke, then m_strokeBoundingBox is returned;
|
| // otherwise, estimates a bounding box (not necessarily tight) that would
|
| @@ -112,8 +116,7 @@ private:
|
| virtual bool nodeAtFloatPoint(HitTestResult&, const FloatPoint& pointInParent, HitTestAction) override final;
|
|
|
| virtual FloatRect strokeBoundingBox() const override final { return m_strokeBoundingBox; }
|
| - FloatRect calculateObjectBoundingBox() const;
|
| - FloatRect calculateStrokeBoundingBox() const;
|
| +
|
| void updatePaintInvalidationBoundingBox();
|
| void updateLocalTransform();
|
|
|
|
|