Closed
Bug 1494263
Opened 7 years ago
Closed 2 years ago
Rework the SVG filter code to obtain filter frames via SVGObserverUtils
Categories
(Core :: SVG, enhancement, P3)
Core
SVG
Tracking
()
RESOLVED
FIXED
120 Branch
| Tracking | Status | |
|---|---|---|
| firefox120 | --- | fixed |
People
(Reporter: jwatt, Assigned: jwatt)
References
Details
Attachments
(2 files)
Right now we have a function nsSVGFilterInstance::GetFilterFrame that gets the filter frame using its own single shot IDTracker. This whole setup is really poorly designed. We should only ever be getting SVG referenced frames via SVGObserverUtils to make sure that we set up observers correctly. The observers have already been set up under the SVGObserverUtils::HasValidFilter/HasNoOrValidFilter/HasInvalidFilter calls after all. We should get rid of nsSVGFilterInstance::GetFilterFrame, add a replacement to SVGObserverUtils, and rework the SVG filter code to use that (all the places that create an nsFilterInstance should be passing an nsTArray<nsSVGFilterFrame>& to its ctor). There's a decent chance that cleaning up this mess will fix some of the filter related refcounting bugs that we have.
| Assignee | ||
Comment 1•7 years ago
|
||
I'm adding the necessary function to SVGObserverUtils in a separate bug for a refactoring of the SVGObserverUtils filter code.
Updated•3 years ago
|
Severity: normal → S3
Comment 2•2 years ago
|
||
Comment 3•2 years ago
|
||
Depends on D189704
Comment 4•2 years ago
|
||
Pushed by longsonr@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/de2e58be4e20
part 1 - pass filterFrames around rather than getting them again and again r=emilio
https://hg.mozilla.org/integration/autoland/rev/4b3dda4d2972
part 2 - try marking some tests as passing now r=emilio
Comment 6•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/de2e58be4e20
https://hg.mozilla.org/mozilla-central/rev/4b3dda4d2972
Status: NEW → RESOLVED
Closed: 2 years ago
status-firefox120:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•