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

Issue 706581 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

SVG <circle> isn't a circle

Reported by a...@adamhooper.com, Mar 29 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

Example URL:
http://data.huffingtonpost.com/2016/we-the-tweeple

Steps to reproduce the problem:
1. View an SVG that contains some precise <path>s and then a <circle>

What is the expected behavior?
The <circle> should be round.

What went wrong?
The <circle> has the wrong shape. It's the shape you'd get if you mated a rectangle with an ellipse. (See attachments.)

Furthermore, if these particular <path>s appear in an HTML page with inline SVGs, *all* <circle> elements in the entire page -- even other inline SVGs -- will render incorrectly.

The <path>s and <circle>s may appear in any order: all the <circles> will be wrong, even if they appear before the <path>s in the DOM.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes I forget the version, but I could swear circles were round October 2016.

Does this work in other browsers? Yes

Chrome version: 56.0.2924.87  Channel: n/a
OS Version: OS X 10.12.3
Flash Version: 

This SVG is a reduction from http://data.huffingtonpost.com/2016/we-the-tweeple. On that HTML5 page, the <path> elements are actually in *different* inline SVGs scattered throughout the page. Chrome renders *all* circles on that page incorrectly; but if you remove *any* of six particular <path>s from the HTML, then suddenly *all* circles on the page render correctly.
 
chrome-bad-circle.svg
1.1 KB Download
chrome-rendered-circle.png
37.8 KB View Download
firefox-rendered-circle.png
100 KB View Download
Components: -Blink Blink>SVG
Labels: Needs-Bisect Needs-Triage-M57 OS-Windows

Comment 2 by f...@opera.com, Mar 30 2017

Cc: caryclark@chromium.org
Components: Internals>Skia
Is this with GPU rasterization enabled? (Check or provide contents of chrome://gpu.)
Looks like a circle approximation gone awry. (Quite possibly because of the large scale factor viewBox.)

Comment 3 by a...@adamhooper.com, Mar 30 2017

Yes.

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Rasterization: Hardware accelerated
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
VPx Video Decode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated

Comment 4 by f...@opera.com, Mar 30 2017

Thank you for checking. If you disable it, does that fix the rendering?

Comment 5 by f...@opera.com, Mar 30 2017

Components: Internals>GPU>Rasterization

Comment 6 by a...@adamhooper.com, Mar 30 2017

Yes: disabling GPU rasterization fixes the rendering.
Cc: robertphillips@chromium.org bsalomon@chromium.org

Comment 8 by a...@adamhooper.com, Mar 30 2017

Egad. And now, after re-enabling GPU rasterization, the rendering is still fixed.

This is not just my computer! For instance, my Nexus 5 Build/N4F26T with Chrome 56.0.2924.87 on Android 7.1.1 has the exact same problem, seen by scrolling to any circle on http://data.huffingtonpost.com/2016/we-the-tweeple

Comment 9 by bsalo...@google.com, Mar 30 2017

Owner: bsalomon@chromium.org
Status: Assigned (was: Unconfirmed)
I can reproduce it with the chrome-bad-circle.svg file
Components: -Blink>SVG -Internals>Skia
Labels: -Needs-Bisect BugSource-User PaintTeamTriaged-20170330
Labels: -Needs-Triage-M57
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/32ebaba7a7331478e9205859a824ee4eaeff6866

commit 32ebaba7a7331478e9205859a824ee4eaeff6866
Author: Brian Salomon <bsalomon@google.com>
Date: Thu Mar 30 16:03:47 2017

Use correct tolerance for conic chopping in MSAA and default path renderers

Bug:  706581 
Change-Id: I16b3037380508316fc73ab7a8cebf960de66938e
Reviewed-on: https://skia-review.googlesource.com/10752
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

[modify] https://crrev.com/32ebaba7a7331478e9205859a824ee4eaeff6866/src/gpu/ops/GrMSAAPathRenderer.cpp
[modify] https://crrev.com/32ebaba7a7331478e9205859a824ee4eaeff6866/src/gpu/ops/GrDefaultPathRenderer.cpp

Cc: stephana@google.com liyuqian@google.com bsalo...@google.com ethannicholas@google.com robertph...@google.com
 Issue skia:5842  has been merged into this issue.
Status: Fixed (was: Assigned)
Wow -- you're all so fast! Thank you for being awesome :)

Comment 16 Deleted

Owner: halcanary@chromium.org
This print preview issue is unrelated to the original bug. Could you file a new issue for it?

Sign in to add a comment