diff --git a/dom/svg/SVGMPathElement.cpp b/dom/svg/SVGMPathElement.cpp index 9a86dc4f158d..1431c8324a1e 100644 --- a/dom/svg/SVGMPathElement.cpp +++ b/dom/svg/SVGMPathElement.cpp @@ -77,7 +77,7 @@ nsresult SVGMPathElement::BindToTree(Document* aDocument, nsIContent* aParent, SVGMPathElementBase::BindToTree(aDocument, aParent, aBindingParent); NS_ENSURE_SUCCESS(rv, rv); - if (aDocument) { + if (IsInComposedDoc()) { const nsAttrValue* hrefAttrValue = HasAttr(kNameSpaceID_None, nsGkAtoms::href) ? mAttrs.GetAttr(nsGkAtoms::href, kNameSpaceID_None) @@ -103,7 +103,7 @@ bool SVGMPathElement::ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, aNamespaceID, aAttribute, aValue, aMaybeScriptedPrincipal, aResult); if ((aNamespaceID == kNameSpaceID_XLink || aNamespaceID == kNameSpaceID_None) && - aAttribute == nsGkAtoms::href && IsInUncomposedDoc()) { + aAttribute == nsGkAtoms::href && IsInComposedDoc()) { // Note: If we fail the IsInDoc call, it's ok -- we'll update the target // on next BindToTree call. diff --git a/layout/reftests/svg/smil/motion/animateMotion-mpath-shadow.svg b/layout/reftests/svg/smil/motion/animateMotion-mpath-shadow.svg new file mode 100644 index 000000000000..d57aa1a29f66 --- /dev/null +++ b/layout/reftests/svg/smil/motion/animateMotion-mpath-shadow.svg @@ -0,0 +1,34 @@ + + Test that pathLength works inside a shadow tree + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/layout/reftests/svg/smil/motion/reftest.list b/layout/reftests/svg/smil/motion/reftest.list index b9668c09495b..5acfeab8bc8f 100644 --- a/layout/reftests/svg/smil/motion/reftest.list +++ b/layout/reftests/svg/smil/motion/reftest.list @@ -19,3 +19,4 @@ fuzzy-if(skiaContent,0-1,0-30) == animateMotion-values-paced-1b.svg animateMotio == animateMotion-mpath-pathLength-1.svg lime.svg == animateMotion-mpath-targetChange-1.svg lime.svg == animateMotion-mpath-target-transform-1.svg lime.svg +== animateMotion-mpath-shadow.svg lime.svg