New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 775559 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Linear Gradient produces "seam" line when shape to fill uses curves and decimal coords

Reported by r...@chartiq.com, Oct 17 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/537.86.7

Steps to reproduce the problem:
Load the attached file and observe the result, the gradient does not fill correctly as it does in other browsers.

What is the expected behavior?
Gradient should fill smoothly without seam lines.

What went wrong?
Not sure, but see screenshots comparing Chrome (1.11.38 PM) vs Safari (1.12.53 PM).  Firefox is similar to Safari.

Did this work before? Yes It might have been 57.

Does this work in other browsers? Yes

Chrome version: 61.0.3163.100 (Official Build) (64-bit)  Channel: stable
OS Version: OS X 10.9.5
Flash Version: Shockwave Flash 25.0 r0
 
gradient_issue.html
605 bytes View Download
Screen Shot 2017-10-17 at 1.11.38 PM.png
545 KB View Download
Screen Shot 2017-10-17 at 1.12.53 PM.png
91.6 KB View Download
Labels: Needs-Triage-M61
Cc: divya.pa...@techmahindra.com
Labels: -Pri-2 hasbisect-per-revision Triaged-ET M-64 OS-Linux OS-Windows Pri-1
Owner: senorblanco@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce this issue on reported version 61.0.3163.100 and on latest canary 64.0.3242.0 using Mac 10.12.6, Window10 and Ubuntu 14.04  with steps mentioned in comment#0.

Manual Bisect Info:
===============
Good Build: 58.0.3006.0
Bad Build: 58.0.3007.0

You are probably looking for a change made after 449080 (known good), but no later than 449081 (first known bad).
CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
  https://chromium.googlesource.com/chromium/src/+log/e14bcf85b26d7e95338f78ebc6ce72fedd5cb913..4fa27c5c19dadb9b737cb004c8ad176e8cb45422


Review-Url: https://codereview.chromium.org/2680003002
 
Suspecting same from changelog.

senorblanco: Please confirm the bug and help in re-assigning if it is not related to your change.

Thanks!
Notes:

- increasing the tolerance (to tolerance^3) in path_to_contours() causes it to go away
- replacing the first quadraticCurveTo(400,1600,475,1453.5) with a lineTo(475,1453.5) fixes it
- (equivalently, moving the tangent point to the endpoint fixes it: quadraticCurveTo(475,1453.5,475,1453.5))

So it seems to be related to the endpoint for the first quadratic segment.
Here's a reduction which uses only linear segments and removes the linear gradient, but still shows the issue.

I suspect that this is related on the intruding vertex problem, and the computed alpha near the intersection vertex is wrong.
gradient_issue_reduced.html
400 bytes View Download
Here's a reduction to two triangles with a common vertex.
gradient_issue_reduced_moar.html
391 bytes View Download
Note to self: this is fixed by the straight skeleton phase 3 (WIP) when outer contour overlap reduction is turned on.
Labels: -Pri-1 Pri-2
Since similar regressions are Pri-2 (and the fix is non-trivial), I think this one is also.
Status: Fixed (was: Assigned)
This is fixed by crrev.com/526496.

Comment 9 by r...@chartiq.com, Jan 31 2018

In what version is this expected?  I still see the original issue manifesting in Version 64.0.3282.119 (Official Build) (64-bit)

Comment 10 by r...@chartiq.com, Apr 5 2018

I don't see the issue anymore in Chrome 65.

Sign in to add a comment