Closed
Bug 571863
Opened 14 years ago
Closed 14 years ago
Animation of "width" on inner-<svg> does not cause a repaint
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
RESOLVED
FIXED
mozilla2.0b7
People
(Reporter: jwatt, Assigned: longsonr)
References
Details
(Keywords: regression, testcase)
Attachments
(2 files, 2 obsolete files)
(deleted),
image/svg+xml
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review |
Animation of "width" on <svg> does not cause a repaint.
Reporter | ||
Comment 1•14 years ago
|
||
Reporter | ||
Comment 2•14 years ago
|
||
Oops, that should be setTimeAndSnapshot(1, true), not setTimeAndSnapshot(5, true).
Assignee | ||
Comment 3•14 years ago
|
||
Should/does attributeType="XML" make any difference?
Reporter | ||
Comment 4•14 years ago
|
||
Not on inner-<svg>, since the CSS property 'width' isn't relevant there. The underlying change does happen, but this is just an invalidation issue. If you resize the window then it updates correctly.
In fact even on outer-<svg> attributeType wouldn't be necessary, since the CSS property 'width' defaults to 'auto' effectively allowing the XML attribute to be "used".
Blocks: enablesmil
Comment 5•14 years ago
|
||
Does setting the width attribute from script invalidate correctly? If so, where does that happen?
Reporter | ||
Comment 6•14 years ago
|
||
As it happens, no, setting the 'width' attribute on inner-<svg> doesn't work either. That's really a separate bug and a regression from bug 545550 though, so I've filed bug 571969 for that.
Regarding this bug, probably the issue is that this comment is now wrong:
http://hg.mozilla.org/mozilla-central/annotate/7e685b61a291/layout/svg/base/src/nsSVGInnerSVGFrame.h#l59
since nsSVGElement::DidAnimateLength triggers invalidation by calling AttributeChanged on the element's frame.
The strange thing is that when that comment was added (see bug 301628 comment 16) nsSVGSVGElement::DidModifySVGObservable didn't do anything explicit with width/height. I guess it did fall through blindly and call NotifyViewportChange though, but that didn't take account of the viewport established by the inner-<svg>. We should do that when we add nsSVGInnerSVGFrame::AttributeChanged to fix this bug.
If someone doesn't get to writing a patch before me, I'll make one after I've fixed the length list bug.
Reporter | ||
Comment 7•14 years ago
|
||
http://bonsai.mozilla.org/cvsview2.cgi?command=DIFF&subdir=mozilla%2Flayout%2Fsvg%2Fbase%2Fsrc&file=nsSVGInnerSVGFrame.cpp&rev1=1.23&rev2=1.24&whitespace_mode=show&diff_mode=full
Is the state of nsSVGSVGElement.cpp back when the nsSVGInnerSVGFrame.h comment was added.
Reporter | ||
Updated•14 years ago
|
Reporter | ||
Updated•14 years ago
|
Summary: Animation of "width" on <svg> does not cause a repaint → Animation of "width" on inner-<svg> does not cause a repaint
Assignee | ||
Comment 8•14 years ago
|
||
Attachment #451202 -
Flags: review?(jwatt)
Assignee | ||
Comment 9•14 years ago
|
||
You've been a long time with this Jonathan.
Assignee | ||
Comment 10•14 years ago
|
||
Attachment #451202 -
Attachment is obsolete: true
Attachment #481158 -
Flags: review?(dholbert)
Attachment #451202 -
Flags: review?(jwatt)
Comment 11•14 years ago
|
||
Comment on attachment 481158 [details] [diff] [review]
updated patch with x, y fix
Looks good!
Attachment #481158 -
Flags: review?(dholbert) → review+
Comment 12•14 years ago
|
||
(Needs reftest(s) before landing, though.)
Assignee | ||
Comment 14•14 years ago
|
||
low risk regression from firefox 3.6 with reftest
Assignee: nobody → longsonr
Attachment #481158 -
Attachment is obsolete: true
Attachment #481326 -
Flags: approval2.0?
Comment 15•14 years ago
|
||
Probably worthy of blocker status (rather than needing approval), since this is a rendering regression w.r.t. Gecko 1.9.2 / Firefox 3.6.
Updated•14 years ago
|
blocking2.0: ? → betaN+
Assignee | ||
Updated•14 years ago
|
Attachment #481326 -
Flags: approval2.0?
Assignee | ||
Updated•14 years ago
|
Whiteboard: [needs landing]
Updated•14 years ago
|
Attachment #481326 -
Attachment is patch: true
Comment 16•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing]
Target Milestone: --- → mozilla2.0b8
Updated•14 years ago
|
Target Milestone: mozilla2.0b8 → mozilla2.0b7
You need to log in
before you can comment on or make changes to this bug.
Description
•