Closed
Bug 734660
Opened 12 years ago
Closed 12 years ago
Get rid of nsISVGChildFrame::SUPPRESS_INVALIDATION
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
RESOLVED
INVALID
People
(Reporter: jwatt, Unassigned)
References
Details
Attachments
(1 file)
7.92 KB,
patch
|
longsonr
:
review+
|
Details | Diff | Splinter Review |
nsISVGChildFrame::SUPPRESS_INVALIDATION is redundant, since it's only passed by NS_STATE_SVG_NONDISPLAY_CHILD frames to their children to tell them not to try to invalidate their bounds. Any code that invalidates already checks for NS_STATE_SVG_NONDISPLAY_CHILD though.
Reporter | ||
Comment 1•12 years ago
|
||
Attachment #604665 -
Flags: review?(longsonr)
Reporter | ||
Updated•12 years ago
|
Attachment #604665 -
Attachment is patch: true
Updated•12 years ago
|
Attachment #604665 -
Flags: review?(longsonr) → review+
Reporter | ||
Comment 2•12 years ago
|
||
My initial patch (before review) changed the three instances of |aFlags & SUPPRESS_INVALIDATION| to |mState & NS_STATE_SVG_NONDISPLAY_CHILD|. That caused a few Try failures that I mistakenly blamed on the patch preventing nsSVGEffects::InvalidateRenderingObservers in nsSVGUtils::UpdateGraphic from being called. Hence my reviewed patch that removed the |if (!(aFlags & SUPPRESS_INVALIDATION))| from around the nsSVGUtils::UpdateGraphic calls. Unfortunately it seems that causes failures too, by creating some sort of (asynchronous) invalidation loop that prevents MozReftestInvalidate from ever being called. More specifically, Try claimed the following tests timed out: layout/reftests/bugs/614272-1.svg layout/reftests/svg/as-image/svg-image-script-2.svg layout/reftests/svg/smil/transform/translate-clipPath-1.svg layout/reftests/svg/smil/transform/translate-pattern-1.svg layout/reftests/svg/dynamic-clipPath-01.svg So it seems like there is actually a reason for SUPPRESS_INVALIDATION to exist, although it's not at all clear from the code or documenting comments. It seems the point is to suppress rendering observer notifications (not invalidation, as the code/comments would suggest) when calling NotifySVGChanged on the content of clipPath, mask, pattern or marker _immediately_ before painting them. That makes total sense since they're only being updated for that specific paint call while painting part of a clipPath, mask, pattern or mark. So this is INVALID I guess.
Assignee: jwatt → nobody
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
Reporter | ||
Updated•12 years ago
|
Attachment #604665 -
Attachment description: patch → patch [not landed]
Reporter | ||
Comment 3•12 years ago
|
||
I filed bug 734732 for renaming nsISVGChildFrame::SUPPRESS_INVALIDATION.
You need to log in
before you can comment on or make changes to this bug.
Description
•