Draw SVG correctly when mask url can not be resolved.

RESOLVED FIXED in Firefox 47

Status

()

Core
Layout
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: cjku, Assigned: cjku)

Tracking

(Blocks: 1 bug)

unspecified
mozilla47
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox47 fixed)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
According to bug 1243734 comment 32 and bug 1243734 comment 34, file an independent bug to fix this issue.

When the path of a mask attribute is not resolvable, nsSVGIntegrationUtils::PaintFramesWithEffects may generate a wrong mask.

Here is an example of mask not resolvable.
https://dxr.mozilla.org/mozilla-central/source/layout/reftests/svg/mask-basic-01.svg
(Assignee)

Comment 1

2 years ago
Created attachment 8723383 [details]
MozReview Request: Bug 1251115 - Fix incorrect rendering result while mask path is not resolvable.

Review commit: https://reviewboard.mozilla.org/r/36513/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/36513/
(Assignee)

Comment 2

2 years ago
Comment on attachment 8723383 [details]
MozReview Request: Bug 1251115 - Fix incorrect rendering result while mask path is not resolvable.

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36513/diff/1-2/
(Assignee)

Comment 3

2 years ago
Hi Markus,
Please help to review this patch.
This patch is simply fixing a logic error I made in bug 686281
Under the condition that we have no valid mask images(for example, url of all mask-image are not resolvable), we don't need to generate maskSurface at all.

This bug need to be fixed before we can land the patches in bug 1245499 and bug 1243734.
(Assignee)

Updated

2 years ago
Blocks: 1245499
(Assignee)

Updated

2 years ago
Attachment #8723383 - Flags: review?(mstange)
Comment on attachment 8723383 [details]
MozReview Request: Bug 1251115 - Fix incorrect rendering result while mask path is not resolvable.

https://reviewboard.mozilla.org/r/36513/#review33123

::: layout/svg/nsSVGIntegrationUtils.cpp:524
(Diff revision 2)
> +  bool hasMaskToDraw = svgMaskFrame ? true : false;

I'd write this as hasMaskToDraw = (svgMaskFrame != nullptr).
Attachment #8723383 - Flags: review?(mstange) → review+
(Assignee)

Comment 5

2 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/3eb7e82deef8c70722397416bba1d0e9882e37e8
Bug 1251115 - Fix incorrect rendering result while mask path is not resolvable; r=mstange
I had to back this out for android reftest failures: https://treeherder.mozilla.org/logviewer.html#?job_id=22485930&repo=mozilla-inbound

https://hg.mozilla.org/integration/mozilla-inbound/rev/f73ac870683a
Flags: needinfo?(cku)
(Assignee)

Comment 7

2 years ago
Yes, please.
Flags: needinfo?(cku)
Comment hidden (spam)
(Assignee)

Comment 9

2 years ago
Fix and try
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c0584db88c11

Comment 10

2 years ago
Backout:
https://hg.mozilla.org/mozilla-central/rev/07438c9bfc83
(Assignee)

Comment 11

2 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/f73aa13cfa3ec6f38be79a2a39ccced6a0697974
Bug 1251115 - Fix incorrect rendering result while mask path is not resolvable; r=mstange

Comment 12

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/f73aa13cfa3e
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox47: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Blocks: 1251414
You need to log in before you can comment on or make changes to this bug.