Bug 1395873 - Append eUseUserSpaceOfUseElement flag after all standard SVGBoundingBoxOptions checked.
MozReview-Commit-ID: 6qjmfL4mGuI
--- a/dom/svg/SVGTransformableElement.cpp
+++ b/dom/svg/SVGTransformableElement.cpp
@@ -187,33 +187,37 @@ SVGTransformableElement::GetBBox(const S
return nullptr;
}
if (!NS_SVGNewGetBBoxEnabled()) {
return NS_NewSVGRect(this, ToRect(nsSVGUtils::GetBBox(frame,
nsSVGUtils::eBBoxIncludeFillGeometry |
nsSVGUtils::eUseUserSpaceOfUseElement)));
} else {
- uint32_t flags = nsSVGUtils::eUseUserSpaceOfUseElement;
+ uint32_t flags = 0;
if (aOptions.mFill) {
flags |= nsSVGUtils::eBBoxIncludeFill;
}
if (aOptions.mStroke) {
flags |= nsSVGUtils::eBBoxIncludeStroke;
}
if (aOptions.mMarkers) {
flags |= nsSVGUtils::eBBoxIncludeMarkers;
}
if (aOptions.mClipped) {
flags |= nsSVGUtils::eBBoxIncludeClipped;
}
+ if (flags == 0) {
+ return NS_NewSVGRect(this,0,0,0,0);
+ }
if (flags == nsSVGUtils::eBBoxIncludeMarkers ||
flags == nsSVGUtils::eBBoxIncludeClipped) {
flags |= nsSVGUtils::eBBoxIncludeFill;
}
+ flags |= nsSVGUtils::eUseUserSpaceOfUseElement;
return NS_NewSVGRect(this, ToRect(nsSVGUtils::GetBBox(frame, flags)));
}
}
already_AddRefed<SVGMatrix>
SVGTransformableElement::GetCTM()
{
nsIDocument* currentDoc = GetComposedDoc();