diff options
author | Steve Block <steveblock@google.com> | 2010-02-02 14:57:50 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-02-04 15:06:55 +0000 |
commit | d0825bca7fe65beaee391d30da42e937db621564 (patch) | |
tree | 7461c49eb5844ffd1f35d1ba2c8b7584c1620823 /WebCore/rendering/RenderSVGTransformableContainer.cpp | |
parent | 3db770bd97c5a59b6c7574ca80a39e5a51c1defd (diff) | |
download | external_webkit-d0825bca7fe65beaee391d30da42e937db621564.zip external_webkit-d0825bca7fe65beaee391d30da42e937db621564.tar.gz external_webkit-d0825bca7fe65beaee391d30da42e937db621564.tar.bz2 |
Merge webkit.org at r54127 : Initial merge by git
Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
Diffstat (limited to 'WebCore/rendering/RenderSVGTransformableContainer.cpp')
-rw-r--r-- | WebCore/rendering/RenderSVGTransformableContainer.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/WebCore/rendering/RenderSVGTransformableContainer.cpp b/WebCore/rendering/RenderSVGTransformableContainer.cpp index 2324eee..050e1bd 100644 --- a/WebCore/rendering/RenderSVGTransformableContainer.cpp +++ b/WebCore/rendering/RenderSVGTransformableContainer.cpp @@ -1,5 +1,5 @@ /* - Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org> + Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> 2004, 2005, 2006 Rob Buis <buis@kde.org> 2009 Google, Inc. @@ -20,12 +20,12 @@ */ #include "config.h" -#if ENABLE(SVG) +#if ENABLE(SVG) #include "RenderSVGTransformableContainer.h" +#include "SVGShadowTreeElements.h" #include "SVGStyledTransformableElement.h" -#include "SVGTransformList.h" namespace WebCore { @@ -34,7 +34,7 @@ RenderSVGTransformableContainer::RenderSVGTransformableContainer(SVGStyledTransf { } -TransformationMatrix RenderSVGTransformableContainer::localToParentTransform() const +const TransformationMatrix& RenderSVGTransformableContainer::localToParentTransform() const { return m_localTransform; } @@ -47,6 +47,14 @@ TransformationMatrix RenderSVGTransformableContainer::localTransform() const void RenderSVGTransformableContainer::calculateLocalTransform() { m_localTransform = static_cast<SVGStyledTransformableElement*>(node())->animatedLocalTransform(); + if (!node()->hasTagName(SVGNames::gTag) || !static_cast<SVGGElement*>(node())->isShadowTreeContainerElement()) + return; + + FloatSize translation = static_cast<SVGShadowTreeContainerElement*>(node())->containerTranslation(); + if (translation.width() == 0 && translation.height() == 0) + return; + + m_localTransform.translateRight(translation.width(), translation.height()); } } |