Closed Bug 1250490 Opened 4 years ago Closed 3 years ago

Refactor nsSVGIntegrationUtils::PaintFramesWithEffects

Categories

(Core :: Layout, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox52 --- fixed

People

(Reporter: u459114, Assigned: u459114)

References

(Blocks 1 open bug)

Details

Attachments

(6 files)

nsSVGIntegrationUtils::PaintFramesWithEffects is a big function, many code can be shared with nsSVGMaskFrame::GetMaskForMaskedFrame.
Split this function into smaller ones and share code with nsSVGMaskFrame::GetMaskForMaskedFrame
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1295094
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
nsSVGIntegrationUtils::PaintFramesWithEffect was split into two functions, PaintFilter and PaintMaskAndClipPath.
Maybe we should also do the same thing onto nsSVGUtils::PaintFrameWithEffects
Blocks: 1246741
Depends on: 1234485
Hi mstange, these patch is simply share some logic between nsSVGIntegrationUtils & nsSVGUtils.
Bug 1246741 can be fixed by code sharing, since we already handle basic shape in nsSVGIntegrationUtils
Attachment #8807046 - Flags: review?(mstange)
Attachment #8807047 - Flags: review?(mstange)
Attachment #8807048 - Flags: review?(mstange)
Attachment #8807049 - Flags: review?(mstange)
Attachment #8807050 - Flags: review?(mstange)
Attachment #8807051 - Flags: review?(mstange)
Comment on attachment 8807046 [details]
Bug 1250490 - Part 1. Move DetermineMaskUsage and ComputeOpacity to nsSVGUtils.

https://reviewboard.mozilla.org/r/90326/#review90486
Attachment #8807046 - Flags: review?(mstange) → review+
Comment on attachment 8807047 [details]
Bug 1250490 - Part 2. Remove DetermineMaskUsage and ComputeOpacity from nsSVGIntegrationUtils.

https://reviewboard.mozilla.org/r/90328/#review90488
Attachment #8807047 - Flags: review?(mstange) → review+
Comment on attachment 8807048 [details]
Bug 1250490 - Part 3. Use DetermineMaskUsage in nsSVGUtils::PaintFrameWithEffects.

https://reviewboard.mozilla.org/r/90330/#review90490
Attachment #8807048 - Flags: review?(mstange) → review+
Comment on attachment 8807049 [details]
Bug 1250490 - Part 4. Bring back CreateBlendTarget/BlendToTarget.

https://reviewboard.mozilla.org/r/90332/#review90492
Attachment #8807049 - Flags: review?(mstange) → review+
Comment on attachment 8807050 [details]
Bug 1250490 - Part 5. Use CreateBlendTarget/BlendToTarget.

https://reviewboard.mozilla.org/r/90334/#review90494
Attachment #8807050 - Flags: review?(mstange) → review+
Comment on attachment 8807051 [details]
Bug 1250490 - Part 6. Test case.

https://reviewboard.mozilla.org/r/90336/#review90496
Attachment #8807051 - Flags: review?(mstange) → review+
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7de1853a0dfb
Part 1. Move DetermineMaskUsage and ComputeOpacity to nsSVGUtils. r=mstange
https://hg.mozilla.org/integration/autoland/rev/3e671abe2ce4
Part 2. Remove DetermineMaskUsage and ComputeOpacity from nsSVGIntegrationUtils. r=mstange
https://hg.mozilla.org/integration/autoland/rev/0f4dfee8460a
Part 3. Use DetermineMaskUsage in nsSVGUtils::PaintFrameWithEffects. r=mstange
https://hg.mozilla.org/integration/autoland/rev/f0c548b10fb0
Part 4. Bring back CreateBlendTarget/BlendToTarget. r=mstange
https://hg.mozilla.org/integration/autoland/rev/1278ddaec1c6
Part 5. Use CreateBlendTarget/BlendToTarget. r=mstange
https://hg.mozilla.org/integration/autoland/rev/ead9d5fd4259
Part 6. Test case. r=mstange
Duplicate of this bug: 1246741
You need to log in before you can comment on or make changes to this bug.