summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/svg/SVGSVGElement.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebCore/svg/SVGSVGElement.cpp
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebCore/svg/SVGSVGElement.cpp')
-rw-r--r--Source/WebCore/svg/SVGSVGElement.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/Source/WebCore/svg/SVGSVGElement.cpp b/Source/WebCore/svg/SVGSVGElement.cpp
index e2540e3..0778bb7 100644
--- a/Source/WebCore/svg/SVGSVGElement.cpp
+++ b/Source/WebCore/svg/SVGSVGElement.cpp
@@ -129,20 +129,12 @@ void SVGSVGElement::setContentStyleType(const AtomicString& type)
FloatRect SVGSVGElement::viewport() const
{
- double x = 0;
- double y = 0;
- if (!isOutermostSVG()) {
- x = this->x().value(this);
- y = this->y().value(this);
- }
- float w = width().value(this);
- float h = height().value(this);
- AffineTransform viewBox = viewBoxToViewTransform(w, h);
- double wDouble = w;
- double hDouble = h;
- viewBox.map(x, y, x, y);
- viewBox.map(w, h, wDouble, hDouble);
- return FloatRect::narrowPrecision(x, y, wDouble, hDouble);
+ FloatRect viewRectangle;
+ if (!isOutermostSVG())
+ viewRectangle.setLocation(FloatPoint(x().value(this), y().value(this)));
+
+ viewRectangle.setSize(FloatSize(width().value(this), height().value(this)));
+ return viewBoxToViewTransform(viewRectangle.width(), viewRectangle.height()).mapRect(viewRectangle);
}
int SVGSVGElement::relativeWidthValue() const