Closed Bug 916535 Opened 6 years ago Closed 6 years ago

regression on linear-gradient

Categories

(Core :: Graphics, defect)

25 Branch
x86
All
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla27
Tracking Status
firefox24 --- unaffected
firefox25 + verified
firefox26 + verified
firefox27 --- verified

People

(Reporter: zer0, Assigned: jrmuizel)

References

Details

(Keywords: regression)

Attachments

(7 files)

Since Firefox Aurora (25.0a2) it seems we have a regression on the linear-gradient behaviors; it's basically impossible have "pattern" in CSS using the gradient. See the attachments for more details.

This is doesn't affect Firefox Beta and Release; the issue is still present in Firefox Nightly.

Here also a link of gradient patterns that now doesn't work anymore:

http://css3pie.com/demos/gradient-patterns/
I can reproduce the problem on windows7 if HWA off.

Regresson window(m-c)
Good:
http://hg.mozilla.org/mozilla-central/rev/2268ff80683a
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130721 Firefox/25.0 ID:20130721021348
Bad:
http://hg.mozilla.org/mozilla-central/rev/f80683d8c3e7
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130722 Firefox/25.0 ID:20130722064651
Pushlog;
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=2268ff80683a&tochange=f80683d8c3e7

Regresson window(m-i)
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/68bcfde4e82a
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130720 Firefox/25.0 ID:20130720034050
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/db5e3bb3205d
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130720 Firefox/25.0 ID:20130720061649
Pushlog;
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=68bcfde4e82a&tochange=db5e3bb3205d
Regressed by:
9497f8c1a115	Jeff Muizelaar — Bug 895135. Avoid normalizing gradients to a smaller interval than 0..1. r=roc Previously if we had all the stops at the same location, we'd end up putting them all at 0. This makes things harder for backends that implement gradients with a lookup table because they don't have room for multiples entries at the zero location. If instead we leave the stops at the same location on the 0-1 line we'll have a better chance of drawing them correctly.
Blocks: 895135
Keywords: regression
OS: Mac OS X → All
Assignee: nobody → jmuizelaar
Attached patch patchSplinter Review
This may fix it.
Attached patch Fix it saferSplinter Review
Avoiding normalization caused gradientStart/Stop to not correspond to the firstStop and lastStop. This can cause us to incorrectly decide to use the repeat fast path. This patch switches takes us back to the same condition as we had before the regression.
Attached patch A reftestSplinter Review
Attachment #806203 - Flags: review?(roc)
Comment on attachment 806197 [details] [diff] [review]
Fix it safer

Forgot to ask review for the real patch
Attachment #806197 - Flags: review?(roc)
So does this affect FF25 now that it's on Beta?
Flags: needinfo?(zer0)
Yes, as I said it affect FF25 (I just tried the latest Beta to be sure).
Flags: needinfo?(zer0)
Assuming this will be a prevalent issue, we'll uplift to Beta 25.
https://hg.mozilla.org/mozilla-central/rev/64a3bb8760c4
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
Duplicate of this bug: 919955
(In reply to Alex Keybl [:akeybl] from comment #10)
> Assuming this will be a prevalent issue, we'll uplift to Beta 25.

Do we have an answer to this question yet?  Anyway, the patches won't uplift cleanly, so I'll see if I can make the aurora and beta versions, Jeff is on PTO for next few weeks.
(In reply to Milan Sreckovic [:milan] from comment #14)
> (In reply to Alex Keybl [:akeybl] from comment #10)
> > Assuming this will be a prevalent issue, we'll uplift to Beta 25.
> 
> Do we have an answer to this question yet?  Anyway, the patches won't uplift
> cleanly, so I'll see if I can make the aurora and beta versions, Jeff is on
> PTO for next few weeks.

I wouldn't be able to say. When it comes to a new visible regression like this though, it's better to be cautious and do our best to fix (or backout the regressing bug).

Would be great to get an uplift in for Thursday's beta.
This combines the "Fix it safer" and "A reftest" patches rebased for Aurora.
Attachment #814439 - Flags: review+
Attachment #814439 - Flags: approval-mozilla-aurora?
[Approval Request Comment]
Bug caused by (feature/regressing bug #): 895135
User impact if declined: Wrong looking gradients.
Testing completed (on m-c, etc.): Yes.  The trunk patch landed and stuck.
Risk to taking this patch (and alternatives if risky): Low
String or IDL/UUID changes made by this patch: None

This combines the "Fix it safer" and "A reftest" patches rebased for Beta.
Attachment #814441 - Flags: review+
Attachment #814441 - Flags: approval-mozilla-beta?
Attachment #814439 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #814441 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Keywords: verifyme
Reproduced w/ d2d disabled on
- Aurora 26.0a2 buildid 20131007004003 and
- Nightly 27.0a1 buildid 20130923030204.

Verified on
- Aurora 26.0a2 buildid 20131010004002 and
- Nightly 27.0a1 buildid 20131010030202.
Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0
Mozilla/5.0 (X11; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:25.0) Gecko/20100101 Firefox/25.0

Verified as fixed on Firefox 25 beta 7 (Build ID: 20131010180222).
Status: RESOLVED → VERIFIED
Duplicate of this bug: 898878
You need to log in before you can comment on or make changes to this bug.