diff options
author | Botond Ballo <botond@mozilla.com> | 2018-03-09 17:26:24 -0500 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-19 11:38:48 +0200 |
commit | 1d126c1d566d104a0976992c63c624785825770d (patch) | |
tree | 2802ed586a7d9fbb26bbb061794f433ff83bcbd5 /layout/svg | |
parent | f90d03e8578054715c1f7b64d1fde3c38887c062 (diff) | |
download | UXP-1d126c1d566d104a0976992c63c624785825770d.tar UXP-1d126c1d566d104a0976992c63c624785825770d.tar.gz UXP-1d126c1d566d104a0976992c63c624785825770d.tar.lz UXP-1d126c1d566d104a0976992c63c624785825770d.tar.xz UXP-1d126c1d566d104a0976992c63c624785825770d.zip |
Bug 1443092 - Avoid calling SVGAnimatedEnumeration::AnimVal() from nsSVGUtils::GetBBox(). r=jwatt, a=RyanVM
AnimVal() is a DOM getter, and it flushes animations, which we don't want
in GetBBox() which is called from display list building cide and
FrameLayerBuilder.
MozReview-Commit-ID: DWgm7wAV7C0
Diffstat (limited to 'layout/svg')
-rw-r--r-- | layout/svg/nsSVGUtils.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/layout/svg/nsSVGUtils.cpp b/layout/svg/nsSVGUtils.cpp index ff74d5baf..344ebf645 100644 --- a/layout/svg/nsSVGUtils.cpp +++ b/layout/svg/nsSVGUtils.cpp @@ -1127,8 +1127,7 @@ nsSVGUtils::GetBBox(nsIFrame *aFrame, uint32_t aFlags) if (clipPathFrame && isOK) { SVGClipPathElement *clipContent = static_cast<SVGClipPathElement*>(clipPathFrame->GetContent()); - RefPtr<SVGAnimatedEnumeration> units = clipContent->ClipPathUnits(); - if (units->AnimVal() == SVG_UNIT_TYPE_OBJECTBOUNDINGBOX) { + if (clipContent->IsUnitsObjectBoundingBox()) { matrix.Translate(gfxPoint(x, y)); matrix.Scale(width, height); } else if (aFrame->GetType() == nsGkAtoms::svgForeignObjectFrame) { |