Closed Bug 802890 Opened 12 years ago Closed 5 months ago

SVG/SMIL: nsSVGAnimationElement::UpdateHrefTarget should probably use ResetWithId instead of Reset()

Categories

(Core :: SVG, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: dholbert, Assigned: longsonr)

References

Details

Attachments

(1 file)

Just realized that targeted <animate> elements (which we've supported since bug 491080 in 2009) should probably be using nsReferencedElement::ResetWithId() (added in bug 474743 in 2010), instead of calling Reset() with a custom-created URI.

As noted at http://www.w3.org/TR/SVG11/animate.html#HrefAttribute , "The target element must be part of the current SVG document fragment", which means ResetWithId() is a reasonable thing to use.  (It assumes same-document.)
Severity: normal → S3
Assignee: nobody → longsonr
Status: NEW → ASSIGNED

Should we take this opportunity to change the API of ResetWithID so that it takes a const nsAString& rather than an atom. There are two existing callers in the tree https://searchfox.org/mozilla-central/search?q=ResetWithID&path=&case=true&regexp=false and both start with a string that they convert to an atom. We then convert that atom back into a string: https://searchfox.org/mozilla-central/source/dom/base/IDTracker.cpp#131 except that we need to assign an atom to mWatchID but we do that internally in IDTracker's other API i.e. https://searchfox.org/mozilla-central/source/dom/base/IDTracker.cpp#124

Flags: needinfo?(emilio)

Actually it's not that straightforward to use nsAString here. https://searchfox.org/mozilla-central/source/dom/smil/SMILParserUtils.cpp#347

Flags: needinfo?(emilio)
Pushed by longsonr@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/d0714a9f1f8f
SVGAnimationElement::UpdateHrefTarget should call ResetWithID rather than ResetToURIFragmentID as animation targets must be in the local document r=emilio
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: