summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderForeignObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderForeignObject.cpp')
-rw-r--r--WebCore/rendering/RenderForeignObject.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/WebCore/rendering/RenderForeignObject.cpp b/WebCore/rendering/RenderForeignObject.cpp
index b15d55c..6597554 100644
--- a/WebCore/rendering/RenderForeignObject.cpp
+++ b/WebCore/rendering/RenderForeignObject.cpp
@@ -84,12 +84,14 @@ FloatRect RenderForeignObject::repaintRectInLocalCoordinates() const
void RenderForeignObject::computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& rect, bool fixed)
{
rect = localToParentTransform().mapRect(rect);
+ style()->svgStyle()->inflateForShadow(rect);
RenderBlock::computeRectForRepaint(repaintContainer, rect, fixed);
}
-TransformationMatrix RenderForeignObject::localToParentTransform() const
+const TransformationMatrix& RenderForeignObject::localToParentTransform() const
{
- return localTransform() * translationForAttributes();
+ m_localToParentTransform = localTransform() * translationForAttributes();
+ return m_localToParentTransform;
}
void RenderForeignObject::layout()
@@ -118,6 +120,11 @@ bool RenderForeignObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, int
return false;
}
+void RenderForeignObject::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed , bool useTransforms, TransformState& transformState) const
+{
+ SVGRenderBase::mapLocalToContainer(this, repaintContainer, fixed, useTransforms, transformState);
+}
+
} // namespace WebCore
#endif // ENABLE(SVG) && ENABLE(SVG_FOREIGN_OBJECT)