Closed Bug 1495246 Opened 7 years ago Closed 7 years ago

Only call SVGObserverUtils::UpdateEffects on FirstContinuationOrIBSplitSibling frames

Categories

(Core :: SVG, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: jwatt, Assigned: jwatt)

References

Details

Attachments

(1 file)

In bug 828312, dbaron landed a patch series to "making change hints apply across all continuations and block-in-inline siblings". One of the patched for that bug did that for nsChangeHint_UpdateEffects: https://hg.mozilla.org/mozilla-central/rev/c9e8dbb04c43 Unfortunately, that's wrong for this specific hint. We only need one observer per observing *element*, and creating a new observer object for each frame created for that element would be wasteful. For that reason the SVG rendering observer code stores and fetches SVG rendering observers to/from only from the first continuation/block-in-inline-split frame (using FirstContinuationOrIBSplitSibling). The change made by the revision above broke that invariant, and means that we can create a lot of redundant observers and do a lot of redundant work for non-SVG frames with SVG effects applied to them. (The nsChangeHint_SchedulePaint hint needs to be handled for every single frame of course - as it is - but that's handled separately.)
(Unsurprisingly, this passes Try, including the regression tests that were added for bug 828312.)
Comment on attachment 9013116 [details] Bug 1495246. Only call SVGObserverUtils::UpdateEffects on FirstContinuationOrIBSplitSibling frames. r?longsonr Robert Longson [:longsonr] has approved the revision.
Attachment #9013116 - Flags: review+
Pushed by jwatt@jwatt.org: https://hg.mozilla.org/integration/mozilla-inbound/rev/0c399277cee5 Only call SVGObserverUtils::UpdateEffects on FirstContinuationOrIBSplitSibling frames. r=longsonr
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Blocks: 1514897
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: