Open Bug 1833123 Opened 2 years ago Updated 1 year ago

css linear-gradient inconsistency across elements with different width

Categories

(Core :: Graphics: WebRender, defect)

Firefox 114
defect

Tracking

()

Tracking Status
firefox-esr102 --- wontfix
firefox113 --- wontfix
firefox114 --- wontfix
firefox115 --- wontfix
firefox116 --- wontfix

People

(Reporter: ivodaveiga, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

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

Steps to reproduce:

  1. Create a large linear gradient to an element with small transitions like this one:

background: linear-gradient(to right, green 100px, transparent 100px, transparent 104px, blue 104px, blue 1500px, transparent 1500px, transparent 1504px, red 1504px);

  1. Apply it to an elements with smaller width (for this example it can be 200px)

  2. Apply it to a wider elements (for this example it can be 300px)

Example:
https://jsfiddle.net/g6td307r/

Actual results:

In the narrower element with the 200px, small transitions (like the transparent pixels) are not rendered.

Expected results:

The linear gradient should render the same independently of the element width.

Just a note: user agent above is incorrect (replaced by a Firefox extension) the correct one is:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/114.0

replicated in:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0

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

Component: Untriaged → Layout
Product: Firefox → Core

I can reproduce the bug. For me, the first two gradients that show any blue (lines 3 and 4) render without any "gap".

If I zoom out with full-page zoom (to 90%), the "gap" disappears in the next line as well. Additional zooming out makes additional lines lose their gaps.

Chrome and Epiphany render the gaps consistently in all of the lines.

This seems to be a regression; Firefox Nightly 2020-04-21 gives expected results. Tracking down regression range...

Severity: -- → S3
Status: UNCONFIRMED → NEW
Ever confirmed: true

Regression range: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=683c2a81d1a3230a9b2ae93162277244a99d4921&tochange=33143ef17c70c76f39ac75fe51d3ae9342365845

In that range, it looks like this would be from bug 1702228 (Cache linear gradients by default).

nical, maybe you could take a look?

Component: Layout → Graphics: WebRender
Flags: needinfo?(nical.bugzilla)
Keywords: regression
Regressed by: 1702228

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

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

Blocks: wr-gradients
Flags: needinfo?(nical.bugzilla)
Blocks: 1889093
No longer blocks: wr-gradients
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: