Closed Bug 1868479 Opened 7 months ago Closed 7 months ago

Since FF 120, backdrop-filter no longer works with svg filters

Categories

(Core :: SVG, defect)

Firefox 120
defect

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox120 --- wontfix
firefox121 --- fixed
firefox122 --- fixed

People

(Reporter: pcigales, Assigned: longsonr)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

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

Steps to reproduce:

Style a div element containing images with "backdrop-filter:url(#filter)" where #filter is a filter inside a SVG in the same document:
<svg id="svgfilter" xmlns="http://www.w3.org/2000/svg" width="0" height="0" style="position:absolute;top:0px;left:0px;">
<filter id="filter">
<feComponentTransfer color-interpolation-filters="sRGB">
<feFuncR type="gamma" offset="0.5" amplitude="0.5" exponent="1"/>
<feFuncG type="gamma" offset="0.5" amplitude="0.5" exponent="1"/>
<feFuncB type="gamma" offset="0.5" amplitude="0.5" exponent="1"/>
</feComponentTransfer>
</filter>
</svg>

Actual results:

Nothing happens, the images are displayed as they are.

Expected results:

Images should be lighter, as they were in previous versions of Firefox, up to 119.

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

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

Can you please provide a full testcase?

I attempted to create one based on your instructions but I was not able to observe any difference in rendering between Firefox vs Safari in any of the things I tried.

Alternatively, you could run https://mozilla.github.io/mozregression/ which would narrow down to the exact change that caused the difference

Flags: needinfo?(pcigales)
Attached file test.htm
Flags: needinfo?(pcigales)

Thank you very much for your answer.
I prepared a testcase as you requested. The filter works on Chrome/Edge and on Firefox 119, but is not applied in Firefox 120.
I am going to use https://mozilla.github.io/mozregression/ to see if I can find what caused the issue.

I used the tool on mozilla-beta rep and here is the result:

  • last good: f2a69b23
  • first bad: 97e8b9bb

app_name: firefox
build_date: 2023-10-16 20:28:24.169000
build_file: C:\Users\Cyril.mozilla\mozregression\persist\97e8b9bbb11e-shippable--mozilla-beta--target.zip
build_type: integration
build_url: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/EBnTLvoMThWR2WYBQtp7mQ/runs/0/artifacts/public%2Fbuild%2Ftarget.zip
changeset: 97e8b9bbb11e77faf6188c7a1dde9ca93c5ed34c
pushlog_url: https://hg.mozilla.org/releases/mozilla-beta/pushloghtml?fromchange=11d1909ae147645f934856a3d3236ee83fd99444&tochange=97e8b9bbb11e77faf6188c7a1dde9ca93c5ed34c
repo_name: mozilla-beta
repo_url: https://hg.mozilla.org/releases/mozilla-beta
task_id: EBnTLvoMThWR2WYBQtp7mQ

2023-12-06T14:38:44.843000: DEBUG : Found commit message:
Bug 1494263 part 2 - try marking some tests as passing now r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D189705

Component: Graphics: WebRender → SVG
Flags: needinfo?(longsonr)
Keywords: regression
Regressed by: 1494263
Status: UNCONFIRMED → NEW
Ever confirmed: true

I have run again the tool without mentioning any repository and I think I have narrowed the commit liable for the issue:

https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=7cc8baac415ebcf55e5bfe27795610c8f53bbbad&tochange=4b3dda4d2972331b75c2f18e2cda51b39c1c89a4

It is related to this bug, related to the svg filter code, so it makes sense: https://bugzilla.mozilla.org/show_bug.cgi?id=1494263

Set release status flags based on info from the regressing bug 1494263

Assignee: nobody → longsonr
Flags: needinfo?(longsonr)
Pushed by longsonr@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/f94f2c15a352
Fix backdrop-filter with SVG filters r=dholbert
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/43561 for changes under testing/web-platform/tests
Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch

Comment on attachment 9367299 [details]
Bug 1868479 - Fix backdrop-filter with SVG filters r=emilio

Beta/Release Uplift Approval Request

  • User impact if declined: backdrop-filter that's defined using a url doesn't work any more.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Patch is limited to determining whether we're dealing with a backdrop-filter or a filter and we have lots of pre-existing filter tests.
  • String changes made/needed: none
  • Is Android affected?: Yes
Attachment #9367299 - Flags: approval-mozilla-beta?
Upstream PR merged by moz-wptsync-bot

Comment on attachment 9367299 [details]
Bug 1868479 - Fix backdrop-filter with SVG filters r=emilio

Approved for 121.0rc1.

Attachment #9367299 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: