Open Bug 1887123 Opened 2 years ago Updated 2 years ago

nested svg with blur filter doesn't render.

Categories

(Core :: SVG, defect, P3)

Firefox 124
defect

Tracking

()

People

(Reporter: einfach.andi, Unassigned)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0

Steps to reproduce:

See this Mini-Example of a html-file.
Just put it in a test.html file and open it on firefox (or open the attached "filter-bug.html").

There are two DIV-Elements: The first showcases the problem, and the second shows the expected behavior.

Inside each DIV there is a SVG and a nested SVGSVG. The DIV's contents are identical. The only difference is, that the first one got the style-class "not-blurry-at-all", which should blur it's content-elements by 0px - or do nothing.

---------------------------------------- snipp ----------------------------------------
<html>
<head>
<style>
.not-blurry-at-all * {
filter: blur(0px);
}
</style>
</head>
<body>
<div class="not-blurry-at-all">
<svg width="1410" height="995" viewBox="0 0 1410 995">
<svg x="0" y="0" width="1410" height="995" viewBox="-25.55 -18.18 67.14 47.38">
<!-- this rect is not visible -->
<rect x="0" y="0" width="1" height="1" fill="green"></rect>
</svg>
</svg>
</div>
<div>
<svg width="1410" height="995" viewBox="0 0 1410 995">
<svg x="0" y="0" width="1410" height="995" viewBox="-25.55 -18.18 67.14 47.38">
<!-- this rect is visible -->
<rect x="0" y="0" width="1" height="1" fill="green"></rect>
</svg>
</svg>
</div>
</body>
</html>

Actual results:

As you can see - there is only one visible green rectangle.

Expected results:

There should clearly be two visible green rectangles.

The Bugbug bot thinks this bug should belong to the 'Core::SVG' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → SVG
Product: Firefox → Core

Since the Bug can be fixed by removing the "filter: blur(0px);" Layout-attribute, I think this is not a SVG-problem.

Without "filter: blur(0px);" it works just fine.

Component: SVG → Layout

I think this is better filed under SVG, actually, as it seems to be specifically the use of filter on the nested <svg> element that's causing the failure.

Component: Layout → SVG

Ashley, might be related to your svg-in-webrender work?

Severity: -- → S3
Flags: needinfo?(ahale)
Priority: -- → P3
Summary: nested svg in combination with filter: blur(0px) → nested svg with blur filter doesn't render.
Status: UNCONFIRMED → NEW
Ever confirmed: true

(In reply to Emilio Cobos Álvarez (:emilio) from comment #4)

Ashley, might be related to your svg-in-webrender work?

My SVG filter work isn't landed yet, this is relevant in terms of more test cases though.

Flags: needinfo?(ahale)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: