From 5ddde30071f639962dd557c453f2ad01f8f0fd00 Mon Sep 17 00:00:00 2001 From: Kristian Monsen Date: Wed, 8 Sep 2010 12:18:00 +0100 Subject: Merge WebKit at r66666 : Initial merge by git. Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f --- WebCore/rendering/RenderSVGContainer.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'WebCore/rendering/RenderSVGContainer.h') diff --git a/WebCore/rendering/RenderSVGContainer.h b/WebCore/rendering/RenderSVGContainer.h index 0a122cd..b0c952f 100644 --- a/WebCore/rendering/RenderSVGContainer.h +++ b/WebCore/rendering/RenderSVGContainer.h @@ -43,6 +43,7 @@ public: bool drawsContents() const { return m_drawsContents; } virtual void paint(PaintInfo&, int parentX, int parentY); + virtual void setNeedsBoundariesUpdate() { m_needsBoundariesUpdate = true; } protected: virtual RenderObjectChildList* virtualChildren() { return children(); } @@ -55,14 +56,14 @@ protected: virtual void addFocusRingRects(Vector&, int tx, int ty); - virtual FloatRect objectBoundingBox() const; - virtual FloatRect strokeBoundingBox() const; - virtual FloatRect repaintRectInLocalCoordinates() const; + virtual FloatRect objectBoundingBox() const { return m_objectBoundingBox; } + virtual FloatRect strokeBoundingBox() const { return m_strokeBoundingBox; } + virtual FloatRect repaintRectInLocalCoordinates() const { return m_repaintBoundingBox; } virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction); // Allow RenderSVGTransformableContainer to hook in at the right time in layout() - virtual void calculateLocalTransform() { } + virtual bool calculateLocalTransform() { return false; } // Allow RenderSVGViewportContainer to hook in at the right times in layout(), paint() and nodeAtFloatPoint() virtual void calcViewport() { } @@ -70,10 +71,15 @@ protected: virtual bool pointIsInsideViewportClip(const FloatPoint& /*pointInParent*/) { return true; } bool selfWillPaint(); + void updateCachedBoundaries(); private: RenderObjectChildList m_children; + FloatRect m_objectBoundingBox; + FloatRect m_strokeBoundingBox; + FloatRect m_repaintBoundingBox; bool m_drawsContents : 1; + bool m_needsBoundariesUpdate : 1; }; inline RenderSVGContainer* toRenderSVGContainer(RenderObject* object) -- cgit v1.1