Closed
Bug 705206
Opened 13 years ago
Closed 13 years ago
svg filter used in mask's group fails to render correctly
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
RESOLVED
FIXED
mozilla11
People
(Reporter: eugene.chishko, Assigned: longsonr)
References
Details
Attachments
(2 files)
754 bytes,
image/svg+xml
|
Details | |
6.95 KB,
patch
|
dholbert
:
review+
|
Details | Diff | Splinter Review |
If a filter is applied to <g> element within a mask, firefox fails to render. But if it is applied directly to child element of <g> it renders svg.
Please see the attachment for the not working svg.
Here are 2 svgs to demonstrate the issue:
1)does not work on Firefox(works on chrome)
<svg width="600" height="400" xmlns="http://www.w3.org/2000/svg" bbheight="210" bbwidth="250">
<!-- Created with ImageBot - http://www.imagebot.com/ -->
<g>
<defs>
<filter y="90" width="250" height="210" x="90" filterUnits="userSpaceOnUse" id="imagebot_6">
<feGaussianBlur stdDeviation="6" result="back"/>
</filter>
</defs>
<title>Layer 1</title>
<g id="imagebot_1">
<mask id="imagebot_5" x="0" y="0" width="1" height="1">
<g id="imagebot_7" filter="url(#imagebot_6)">
<rect x="100" y="100" width="250" height="210" fill="grey" id="imagebot_2" />
</g>
</mask>
<g id="imagebot_3" mask="url(#imagebot_5)">
<rect x="100" y="100" width="250" height="210" fill="red" id="imagebot_4"/>
</g>
</g>
</g>
</svg>
2)works on Firefox(works on chrome)
<svg width="600" height="400" xmlns="http://www.w3.org/2000/svg" bbheight="210" bbwidth="250">
<!-- Created with ImageBot - http://www.imagebot.com/ -->
<g>
<defs>
<filter y="90" width="250" height="210" x="90" filterUnits="userSpaceOnUse" id="imagebot_6">
<feGaussianBlur stdDeviation="6" result="back"/>
</filter>
</defs>
<title>Layer 1</title>
<g id="imagebot_1">
<mask id="imagebot_5" x="0" y="0" width="1" height="1">
<g id="imagebot_7" >
<rect x="100" y="100" width="250" height="210" fill="grey" id="imagebot_2" filter="url(#imagebot_6)"/>
</g>
</mask>
<g id="imagebot_3" mask="url(#imagebot_5)">
<rect x="100" y="100" width="250" height="210" fill="red" id="imagebot_4"/>
</g>
</g>
</g>
</svg>
The only difference is that filter reference is moved from <g> element directly to the child in this case <rect>.
Assignee | ||
Updated•13 years ago
|
Assignee: nobody → longsonr
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 1•13 years ago
|
||
children of masks have no valid covered rect as masks are not directly displayable so we skip drawing them when there's a filter present as filters calculate their own dirty rects.
Attachment #582694 -
Flags: review?(dholbert)
Updated•13 years ago
|
OS: Windows 7 → All
Hardware: x86_64 → All
Version: unspecified → Trunk
Updated•13 years ago
|
Attachment #582694 -
Flags: review?(dholbert) → review+
Assignee | ||
Comment 2•13 years ago
|
||
Flags: in-testsuite+
Target Milestone: --- → mozilla11
Comment 3•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•