repeating-linear-gradient is stretched in big containers in firefox 90
Categories
(Core :: Graphics, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox89 | --- | unaffected |
firefox90 | --- | wontfix |
firefox91 | --- | fixed |
firefox92 | --- | fixed |
People
(Reporter: marc.ahlers, Assigned: nical)
References
(Regression)
Details
(Keywords: regression)
Attachments
(3 files)
4.70 KB,
text/html
|
Details | |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
Steps to reproduce:
Firefox 90b7.
Use a repeating-linear-gradient with absolute pixel stop values inside a container bigger than 1000px. (Tested >1500px).
See attached test.html for a bunch of test cases, in which it is broken most of the time.
Note: It behaves correctly in Firefox 89.
Actual results:
It will get stretched, scale buggy and miss some color-stops.
Expected results:
The repeating-linear-gradient should always look the same, regardless of the size of the div. Each gradient in the example file attached should look exactly the same.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.
Comment 2•3 years ago
|
||
Updated•3 years ago
|
Updated•3 years ago
|
Comment 3•3 years ago
|
||
Set release status flags based on info from the regressing bug 1708959
Comment 4•3 years ago
|
||
Jim, can you set a priority and severity for this bug?
Updated•3 years ago
|
Comment 5•3 years ago
|
||
On Matrix, Nical said he is inclined to wontfix for 90 because "it's a rendering artifact that affect very large gradients and is mostly visible when there are hard gradient gradient stops. You'll find those here and there but it's not all over the web".
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
The tile size edtermines the number of pixels we allocate for the gradinrt pattern, and is eventually clamped to a maximum value. Minimizing the tile size after other transformations avoids some cases where we request more area than we need.
Updated•3 years ago
|
Assignee | ||
Comment 7•3 years ago
|
||
Very large gradients are rendered at a lower resolution which is fine for most gradients as they tend to be smooth transitions, but looks bad when there are hard stops.
Depends on D119627
Assignee | ||
Updated•3 years ago
|
Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8582a1d2caa7 Avoid stretching with large linear gradients in some cases. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/0e7b638d0012 Don't cache large linear gradients with hard stops. r=gfx-reviewers,lsalzman
Comment 9•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/8582a1d2caa7
https://hg.mozilla.org/mozilla-central/rev/0e7b638d0012
Assignee | ||
Comment 10•3 years ago
|
||
Comment on attachment 9230720 [details]
Bug 1716648 - Don't cache large linear gradients with hard stops. r=#gfx-reviewers
Beta/Release Uplift Approval Request
- User impact if declined: visual artifacts on some linear gradients
- 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): simple patch.
- String changes made/needed:
Assignee | ||
Updated•3 years ago
|
Comment 11•3 years ago
|
||
Comment on attachment 9230720 [details]
Bug 1716648 - Don't cache large linear gradients with hard stops. r=#gfx-reviewers
Approved for 91 beta 3, thanks.
Updated•3 years ago
|
Comment 12•3 years ago
|
||
bugherder uplift |
Updated•3 years ago
|
Description
•