Closed
Bug 1495246
Opened 7 years ago
Closed 7 years ago
Only call SVGObserverUtils::UpdateEffects on FirstContinuationOrIBSplitSibling frames
Categories
(Core :: SVG, enhancement, P3)
Core
SVG
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.)
![]() |
Assignee | |
Comment 1•7 years ago
|
||
![]() |
Assignee | |
Comment 2•7 years ago
|
||
(Unsurprisingly, this passes Try, including the regression tests that were added for bug 828312.)
Comment 3•7 years ago
|
||
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
Comment 5•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox64:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in
before you can comment on or make changes to this bug.
Description
•